自由軟體:自由與合作

這是在 2001 年 5 月 29 日於紐約州紐約市紐約大學發表的演講記錄逐字稿。

此演講的純文字版本,以及摘要也已提供。


URETSKY:我是 Mike Uretsky。我在 Stern 商學院任職。我也是先進科技中心的共同主任之一。我謹代表電腦科學系的所有同仁,歡迎各位來到這裡。在我將發言權交給 Ed 之前,我想先說幾句話,他將會介紹今天的演講者。

大學的角色是培養辯論和進行有趣的討論。而一所頂尖大學的角色是進行特別有趣的討論。而今天的這場演講,這個研討會,正符合這個模式。我發現關於開放原始碼的討論特別有趣。在某種意義上…[笑聲]

STALLMAN:我做的是自由軟體。開放原始碼是不同的運動。[笑聲] [掌聲]

URETSKY:當我 60 年代初入這個領域時,基本上軟體是免費的。然後我們經歷了循環。它變得免費,然後軟體製造商,為了擴大他們的市場,將它推向了其他方向。隨著個人電腦的進入而發生的許多發展,也以完全相同的循環方式進行。

有一位非常有趣的法國哲學家,皮耶·李維,他談到朝這個方向發展的運動,以及他談到進入網路空間不僅與科技有關,而且還與社會結構重組、政治結構重組有關,通過改變將改善人類福祉的各種關係。我們希望這次辯論是朝這個方向發展的運動,這次辯論是跨越大學內部通常作為慰藉的許多學科的東西。我們期待一些非常有趣的討論。Ed?

SCHONBERG:我是 Ed Schonberg,來自 Courant 研究所的電腦科學系。讓我歡迎各位參加今天的活動。介紹人通常,特別是,是公開演講中無用的部分,但在這種情況下,實際上,它們具有有用的目的,正如 Mike 輕易證明的那樣,因為介紹人例如,通過做出不準確的評論,可以讓他理清、糾正和[笑聲] 大大 Sharpen 辯論的參數。

所以,讓我對一位不需要介紹的人做最簡短的介紹。Richard 是一個完美的例子,他通過在本地採取行動,從多年前在人工智慧實驗室關於印表機驅動程式原始碼不可用的問題開始,進行全球性的思考。他發展出一套連貫的哲學,迫使我們所有人重新審視我們關於軟體如何生產、智慧財產權的意義,以及軟體社群實際代表什麼的想法。讓我歡迎 Richard Stallman。[掌聲]

STALLMAN:有人可以借我一隻錶嗎?[笑聲] 謝謝。所以,我要感謝微軟為我提供了這個[笑聲] 平台。在過去的幾週裡,我感覺自己像是一位作者,他的書很幸運地在某個地方被禁了。[笑聲] 只是所有關於它的文章都給了錯誤的作者名字,因為微軟將 GNU GPL 描述為開放原始碼授權,而大多數新聞報導也隨之起舞。當然,大多數人只是天真地沒有意識到我們的工作與開放原始碼無關,事實上,我們在人們甚至創造「開放原始碼」這個詞之前就完成了大部分工作。

我們屬於自由軟體運動,我將談談自由軟體運動的內容、它的意義、我們所做的事情,並且,因為這部分是由商學院贊助的,我會比平常更多地談論自由軟體與商業的關係,以及社會生活的其他一些領域。

現在,你們有些人可能永遠不會編寫電腦程式,但也許你們會做飯。如果你做飯,除非你真的很厲害,否則你可能會使用食譜。如果你使用食譜,你可能會有從朋友那裡得到食譜副本的經驗,他們正在分享它。而且你可能也有過修改食譜的經驗——除非你是個完全的新手。你知道,它說了一些事情,但你不必完全按照那樣做。你可以省略一些配料。加入一些蘑菇,因為你喜歡蘑菇。少放點鹽,因為你的醫生說你應該減少鹽的攝取量——隨便什麼。你甚至可以根據你的技能做出更大的改變。如果你修改了食譜,並且你為你的朋友烹飪,他們喜歡它,你的朋友可能會說:「嘿,我可以要這個食譜嗎?」然後,你會怎麼做?你可以寫下你修改後的食譜版本,並為你的朋友複製一份。這些是對於任何種類的功能性食譜來說,自然而然的事情。

現在,食譜很像電腦程式。電腦程式很像食譜:一系列要執行的步驟,以獲得你想要的結果。因此,對電腦程式做同樣的事情也很自然——將副本交給你的朋友。修改它,因為它被編寫來完成的工作並不完全是你想要的。它為其他人做得很好,但你的工作是不同的工作。在你修改之後,這很可能對其他人有用。也許他們有工作要做,就像你做的工作一樣。所以他們問:「嘿,我可以要一份副本嗎?」當然,如果你是個好人,你會給一份副本。這才是成為一個正派的人的方式。

所以想像一下,如果食譜被包裝在黑盒子裡會是什麼樣子。你看不到它們使用了哪些配料,更不用說修改它們了,想像一下,如果你為朋友複製一份,他們會稱你為海盜,並試圖把你關進監獄多年。那樣的世界會引起所有習慣分享食譜的人的極大憤怒。但這正是專有軟體的世界的樣子。在這個世界裡,對待他人的基本禮貌是被禁止或阻止的。

那麼,我為什麼會注意到這一點呢?我注意到這一點是因為我在 1970 年代有幸成為一個共享軟體的程式設計師社群的一份子。現在,這個社群基本上可以追溯到電腦運算的開始。然而,在 1970 年代,對於一個人們共享軟體的社群來說,這有點罕見。事實上,這有點極端,因為在我工作的實驗室裡,整個作業系統都是由我們社群的人們開發的軟體,我們會與任何人分享其中的任何部分。歡迎任何人來看看,拿走一份副本,並做任何他想做的事情。這些程式上沒有任何版權聲明。合作是我們的生活方式。我們對這種生活方式感到安心。我們沒有為它奮鬥。我們不必為它奮鬥。我們只是那樣生活。而且,據我們所知,我們將繼續那樣生活下去。所以有自由軟體,但沒有自由軟體運動。

但後來我們的社群被一系列降臨到它身上的災難摧毀了。最終它被消滅了。最終,我們用於所有工作的 PDP-10 電腦停產了。你知道,我們的系統——不相容分時系統——是從 60 年代開始編寫的,所以它是用組合語言編寫的。那是你在 60 年代用來編寫作業系統的東西。所以,當然,組合語言是針對一種特定的電腦架構;如果它停產了,你所有的工作都會變成塵土——它就沒用了。這就是發生在我們身上的事情。我們社群 20 年左右的工作變成了塵土。

但在這發生之前,我有一個經驗讓我有所準備,幫助我看清該怎麼做,幫助我準備好看到當這件事發生時該怎麼做,因為在某個時候,全錄給了我工作的人工智慧實驗室一台雷射印表機,這真是一份豐厚的禮物,因為這是全錄以外的任何人第一次擁有雷射印表機。它非常快,每秒列印一頁,在許多方面都非常精細,但它不可靠,因為它實際上是一台高速影印機,被改裝成印表機。而且,你知道,影印機會卡紙,但有人在那裡修理它們。印表機卡紙了,沒人看到。所以它卡紙了很長時間。

嗯,我們有一個想法來解決這個問題。修改它,以便當印表機卡紙時,運行印表機的機器可以告訴我們的分時機器,並告訴正在等待列印輸出的使用者,或者諸如此類的事情,你知道,告訴他們,去修理印表機。因為如果他們只知道它卡紙了,當然,如果你正在等待列印輸出,並且你知道印表機卡紙了,你不會想坐在那裡永遠等待,你會去修理它。

但在那時,我們完全受阻了,因為運行該印表機的軟體不是自由軟體。它是隨印表機一起來的,它只是一個二進位檔案。我們無法獲得原始碼;全錄不讓我們獲得原始碼。因此,儘管我們作為程式設計師擁有技能——畢竟,我們已經編寫了自己的分時系統——我們卻完全無助於為印表機軟體添加這個功能。

我們只能忍受等待。拿到你的列印輸出需要一兩個小時,因為機器大部分時間都會卡紙。而且只有偶爾——你會等一個小時,想著「我知道它會卡紙。我會等一個小時,然後去領取我的列印輸出」,然後你會看到它一直卡紙,事實上,沒有其他人修理它。所以你會修理它,然後你會再去等半小時。然後,你會回來,你會看到它再次卡紙——在它到達你的輸出之前。它會列印三分鐘,然後卡紙三十分鐘。挫折感爆棚。但讓事情變得更糟的是,知道我們可以修復它,但其他人,為了自己的自私,正在阻止我們,阻礙我們改進軟體。所以,當然,我們感到有些怨恨。

然後我聽說卡內基美隆大學的某人有一份該軟體的副本。所以我後來去那裡拜訪,所以我去了他的辦公室,我說:「嗨,我來自麻省理工學院。我可以要一份印表機原始碼嗎?」他說:「不行,我答應不給你副本。」[笑聲] 我驚呆了。我太…我很生氣,我不知道該如何公正地處理這件事。我唯一能想到的就是轉過身,走出他的房間。也許我摔了門。[笑聲] 後來我仔細思考了一下,因為我意識到我看到的不是一個孤立的混蛋,而是一個重要的社會現象,它影響了很多人。

對我來說——我很幸運,我只是嚐到了一點滋味,但其他人卻不得不一直生活在這種情況下。所以我仔細思考了一下。你看,他承諾拒絕與我們——他在麻省理工學院的同事合作。他背叛了我們。但他不僅僅是對我們這樣做。他很可能也對你這樣做了。[指向觀眾席中的一位成員。] 而且我認為,很可能,他也對你這樣做了。[指向觀眾席中的另一位成員。] [笑聲] 而且他可能也對你這樣做了。[指向第三位觀眾席成員。] 他可能對在座的大多數人都這樣做了——除了少數,也許,在 1980 年還沒出生的人。因為他已經承諾拒絕與地球上幾乎所有的人口合作。他簽署了一份保密協議。

現在,這是我第一次直接接觸保密協議,它教會了我一個重要的教訓——一個重要的教訓,因為大多數程式設計師永遠不會學到它。你看,這是我第一次接觸保密協議,而我是受害者。我,以及我的整個實驗室,都是受害者。它教會我的教訓是,保密協議是有受害者的。它們不是無辜的。它們不是無害的。大多數程式設計師第一次遇到保密協議,是當他們被邀請簽署一份時。而且總有一些誘惑——如果他們簽署,他們將會得到一些好處。所以,他們會編造藉口。他們說:「好吧,無論如何他都永遠不會得到副本,所以我為什麼不加入剝奪他的陰謀呢?」他們說:「一直以來都是這樣做的。我算什麼,要反對它?」他們說:「如果我不簽署這個,別人也會簽署。」各種各樣的藉口來麻痺他們的良心。

但是,當有人邀請我簽署保密協議時,我的良心已經被激發了。它記得當有人承諾不幫助我和我的整個實驗室解決我們的問題時,我是多麼的憤怒。我不能轉過身,對一個從未對我造成任何傷害的人做完全相同的事情。你知道,如果有人要求我承諾不與一個被憎恨的敵人分享一些有用的資訊,我會說是的。你知道嗎?如果有人做了壞事,他就罪有應得。但是,陌生人——他們沒有對我造成任何傷害。他們怎麼會罪有應得受到那種虐待呢?你不能讓自己開始隨便對待任何人。那樣你就會變成社會的掠食者。所以我說:「非常感謝你向我提供這個不錯的軟體包。但我不能憑著良心接受它,在你們要求的條件下,所以我會沒有它也行。非常感謝你。」所以,我從未有意簽署過關於一般有用的技術資訊(例如軟體)的保密協議。

現在還有其他種類的資訊會引發不同的道德問題。例如,有個人資訊。你知道,如果你想和我談談你和你男朋友之間發生的事情,並且你要求我不要告訴任何人——你知道,我可以保守——我可以同意為你保守秘密,因為那不是一般有用的技術資訊。至少,它可能不是一般有用的。[笑聲]

有一個很小的機會——而且這是一種可能性——你可能會向我透露一些奇妙的新性愛技巧,[笑聲] 然後我會感到一種道德責任[笑聲] 將它傳遞給全人類,以便每個人都能從中受益。所以,我必須在那個承諾中加入一個但書,你知道嗎?如果只是關於誰想要這個,誰對誰生氣,以及諸如此類的事情——肥皂劇——我可以為你保密,但如果是一些人類可以從中獲得巨大益處的事情,我絕不能隱瞞。你看,科學和技術的目的是開發對人類有用的資訊,以幫助人們更好地生活。如果我們承諾隱瞞這些資訊——如果我們保持秘密——那麼我們就背叛了我們這個領域的使命。而這,我決定我不應該做。

但是,與此同時,我的社群已經崩潰了,而且正在崩潰,這讓我處於一個糟糕的境地。你看,整個不相容分時系統都過時了,因為 PDP-10 過時了,所以我無法像以前那樣繼續作為作業系統開發人員工作了。這取決於成為使用社群軟體並改進它的社群的一部分。這不再是一種可能性,這給我帶來了一個道德困境。我要做什麼?因為最明顯的可能性意味著要違背我所做的決定。最明顯的可能性是讓自己適應世界的變化。接受事情已經不同了,我只需要放棄那些原則,開始為專有作業系統簽署保密協議,而且很可能也編寫專有軟體。但我意識到,那樣我可以享受編碼的樂趣,而且我可以賺錢——特別是如果我在麻省理工學院以外的地方做——但最終,我將不得不回顧我的職業生涯,並說:「我一生都在建造牆壁來分隔人們」,我會為自己的一生感到羞愧。

所以我尋找了另一種替代方案,而且有一個顯而易見的方案。我可以離開軟體領域去做其他事情。現在我沒有其他特別值得注意的技能,但我確信我可以成為一名服務生。[笑聲] 不是在一家高級餐廳;他們不會僱用我,[笑聲] 但我可以成為某個地方的服務生。許多程式設計師,他們對我說:「僱用程式設計師的人要求這個、這個和這個。如果我不做這些事情,我就會餓死。」這真的是他們使用的詞。好吧,你知道,作為一名服務生,你不會餓死。[笑聲] 所以,真的,他們沒有危險。但是——這很重要,你看——因為有時你可以通過說否則更糟糕的事情會發生在我身上來證明做一些傷害他人的事情是正當的。你知道,如果你真的要餓死了,你就有理由編寫專有軟體。[笑聲] 如果有人用槍指著你,那麼我會說,這是可以原諒的。[笑聲] 但是,我找到了一種方法,我可以不用做不道德的事情就能生存下來,所以那個藉口就不可用了。所以我意識到,當服務生對我來說不好玩,而且會浪費我作為作業系統開發人員的技能。這會避免濫用我的技能。開發專有軟體會濫用我的技能。鼓勵其他人生活在專有軟體的世界中會濫用我的技能。所以浪費它們比濫用它們要好,但這仍然不是真的好。

由於這些原因,我決定尋找其他替代方案。作業系統開發人員可以做些什麼來真正改善情況,讓世界變得更美好?我意識到,作業系統開發人員正是需要的。問題,困境,對我和其他所有人來說都存在,因為現代電腦的所有可用作業系統都是專有的。自由作業系統是為舊的、過時的電腦準備的,對吧?所以對於現代電腦——如果你想獲得一台現代電腦並使用它,你就會被迫使用專有作業系統。因此,如果一個作業系統開發人員編寫了另一個作業系統,然後說:「大家都來分享這個;歡迎你使用這個」——這將為所有人提供一種擺脫困境的方法,另一種選擇。所以我意識到,我可以做一些可以解決問題的事情。我擁有能夠做到這一點的恰當技能。而且這是我能想像到的,我一生中能夠做的最有用的事情。而且這是一個沒有其他人試圖解決的問題。它只是靜靜地坐在那裡,變得越來越糟,而只有我在那裡。所以我感覺,「我被選中了。我必須為此努力。如果不是我,那會是誰?」所以我決定我要開發一個自由作業系統,或者為了嘗試而死……當然是老死。[笑聲]

所以,當然我必須決定它應該是什麼樣的作業系統。有一些技術設計決策要做。我決定使系統與 Unix 相容,原因有很多。首先,我剛剛看到一個我非常喜歡的作業系統變得過時,因為它是為一種特定的電腦編寫的。我不想讓這種情況再次發生。我們需要有一個可攜式的系統。嗯,Unix 是一個可攜式的系統。所以如果我遵循 Unix 的設計,我有很大的機會可以製作一個也具有可攜性和可工作性的系統。而且,為什麼[錄音不清] 在細節上與它相容。原因是,使用者討厭不相容的變更。如果我只是以我最喜歡的方式設計系統——我肯定會很樂意這樣做——我會產生一些不相容的東西。你知道,細節會有所不同。所以,如果我編寫了系統,那麼使用者就會對我說:「好吧,這很好,但它不相容。切換會太麻煩了。我們不能為了使用你的系統而不是 Unix 而付出那麼多麻煩,所以我們會繼續使用 Unix」,他們會這樣說。

現在,如果我真的想創建一個社群,在那裡會有社群成員,人們使用這個自由系統,並享受自由和合作的好處,我必須製作一個人們會使用的系統,一個他們會發現很容易切換的系統,這樣就不會有障礙使其在一開始就失敗。現在,使系統向上相容於 Unix 實際上做出了所有立即的設計決策,因為 Unix 由許多部分組成,它們通過或多或少有文檔記錄的介面進行通信。所以如果你想與 Unix 相容,你必須逐個用相容的部分替換每個部分。所以剩餘的設計決策在一個部分內部,它們可以稍後由任何決定編寫該部分的人做出。它們不必在一開始就做出。

所以我們開始工作所要做的就是為系統找到一個名稱。現在,我們駭客總是為程式尋找一個有趣或不正經的名稱,因為想到人們會被這個名稱逗樂,就是編寫程式樂趣的一半。[笑聲] 我們有一個遞迴縮寫詞的傳統,來說明你正在編寫的程式與某個現有的程式相似。你可以給它一個遞迴縮寫詞名稱,說明:這個不是另一個。因此,例如,在 60 年代和 70 年代有很多 Tico 文字編輯器,它們通常被稱為某某 Tico。然後一位聰明的駭客將他的編輯器稱為 Tint,即 Tint Is Not Tico——第一個遞迴縮寫詞。1975 年,我開發了第一個 Emacs 文字編輯器,有很多 Emacs 的仿製品,其中很多被稱為某某 Emacs,但其中一個被稱為 Fine,即 Fine Is Not Emacs,還有 Sine,即 Sine Is Not Emacs,以及 Eine,即 Eine Is Not Emacs,以及 MINCE,即 Mince Is Not Complete Emacs。[笑聲] 那是一個精簡的仿製品。然後,Eine 幾乎完全被重寫了,新版本被稱為 Zwei,即 Zwei Was Eine Initially。[笑聲]

所以我尋找一個遞迴縮寫詞,表示 Something is not Unix。我嘗試了所有 26 個字母,發現沒有一個是單字。[笑聲] 嗯,嘗試另一種方法。我做了一個縮寫。這樣我就可以有一個三個字母的縮寫詞,表示 Something's not Unix。我嘗試了字母,然後我遇到了單字「GNU」——單字「GNU」是英語中最有趣的單字。[笑聲] 就是它了。當然,它有趣的原因是根據字典,它的發音是「new」。你明白嗎?所以這就是為什麼人們將它用於很多文字遊戲的原因。讓我告訴你,這是一種生活在非洲的動物的名字。非洲的發音中帶有咂嘴音。[笑聲] 也許現在仍然有。因此,歐洲殖民者,當他們到達那裡時,他們懶得學習說這個咂嘴音。所以他們只是省略了它,他們寫了一個「G」,意思是「這裡應該有另一個我們沒有發音的聲音。」[笑聲] 所以,今晚我要出發去南非,我懇求他們,我希望他們能找到人教我發咂嘴音,[笑聲] 這樣我就知道如何正確地發音 GNU,當它是動物時。

但是,當它是我們系統的名稱時,正確的發音是「guh-NEW」——發硬「G」音。如果你談論「new」作業系統,你會讓人們非常困惑,因為我們已經為它工作了 17 年了,所以它不再是新的了。[笑聲] 但它仍然是,而且永遠都會是,GNU——無論有多少人錯誤地稱它為 Linux。[笑聲]

所以,在 1984 年 1 月,我辭去了在麻省理工學院的工作,開始編寫 GNU 的各個部分。他們很好,讓我繼續使用他們的設施。而且,當時,我認為我們會編寫所有這些部分,製作一個完整的 GNU 系統,然後我們會說:「來拿吧」,人們就會開始使用它。但事實並非如此。我編寫的第一個部分只是同樣好的替代品,Unix 的某些部分錯誤更少,但它們並沒有非常令人興奮。沒有人特別想要獲得它們並安裝它們。但是,在 1984 年 9 月,我開始編寫 GNU Emacs,這是我 Emacs 的第二個實現,到 1985 年初,它就可以工作了。我可以將它用於我的所有編輯工作,這真是鬆了一口氣,因為我沒有打算學習使用 Unix 編輯器 VI。[笑聲] 所以,在那之前,我是在另一台機器上進行編輯,並通過網路儲存檔案,以便我可以測試它們。但是,當 GNU Emacs 運行得足夠好讓我可以使用時,也有其他人想要使用它。

所以我必須釐清發布的細節。當然,我放了一份拷貝在匿名 FTP 目錄裡,對於網路上的人來說這樣很好。他們可以直接拉一個 tar 檔案下來,但是當時在 1985 年,甚至有很多程式設計師還沒上網。他們寄電子郵件給我,問說「我該怎麼取得一份拷貝?」我必須決定該如何回覆他們。嗯,我可以說,我想要把時間花在寫更多 GNU 軟體,而不是燒錄磁帶,所以請找一個有網際網路的朋友,請他幫你下載,然後幫你燒錄到磁帶上。而且我相信人們遲早會找到一些朋友,你知道的。他們會取得拷貝。但是我沒有工作。事實上,自從 1984 年一月從麻省理工學院離職後,我就再也沒有工作過了。所以,我一直在尋找一些方法,可以透過我開發自由軟體的工作來賺錢,因此我開始了一項自由軟體事業。我宣布,「寄給我 150 美元,我就會寄給你一份 Emacs 的磁帶。」訂單就開始慢慢地進來。到了年中,訂單就開始涓滴細流般地湧入。

我每個月大約收到 8 到 10 筆訂單。而且,如果必要的話,我可以靠那些錢過活,因為我一直以來都過著很節儉的生活。基本上,我的生活就像個學生。而且我喜歡這樣,因為這表示錢不會告訴我該做什麼。我可以做我認為對我來說重要的事情。這讓我能夠自由地去做那些看起來值得做的事情。所以要真正努力避免被典型的美國人那些昂貴的生活方式習慣給吞噬。因為如果你那樣做,那麼有錢人就會支配你的人生。你將無法去做對你來說真正重要的事情。

所以,那樣很好,但是人們總是問我,「你說這是自由軟體,但卻要價 150 美元,是什麼意思?」[笑聲] 嗯,他們會這樣問的原因是,他們被英文單字 “free” 的多重含義給搞混了。一個含義指的是價格,另一個含義指的是自由。當我說到自由軟體時,我指的是自由,而不是價格。所以請想到的是言論自由 (free speech),而不是免費啤酒 (free beer)。[笑聲] 現在,我不會奉獻我生命中這麼多年的時間,來確保程式設計師賺更少的錢。那不是我的目標。我是一個程式設計師,而且我不介意自己賺錢。我不會奉獻我一生來追求金錢,但是我不介意賺錢。而且我不是——因此,道德倫理對每個人都是一樣的。我也不反對其他程式設計師賺錢。我不想要價格低廉。那根本不是重點。重點是自由。給每個使用軟體的人自由,無論那個人是不是程式設計師。

所以在這個時間點,我應該給你們自由軟體的定義。我最好講一些真正的細節,你們知道的,因為只是說「我相信自由」是空洞的。你可以相信非常多不同的自由,而且它們彼此衝突,所以真正的政治問題是:哪些是重要的自由?是我們必須確保每個人都擁有的自由?

現在,我將針對使用軟體的特定領域,來回答這個問題。一個程式對你,一個特定的使用者而言,如果是自由軟體,你必須擁有以下自由

  • 首先,自由零 (Freedom Zero) 是為了任何目的、以任何你喜歡的方式執行該程式的自由。
  • 自由一 (Freedom One) 是透過修改程式來符合你的需求,藉此幫助自己的自由。
  • 自由二 (Freedom Two) 是透過散布程式拷貝來幫助你的鄰居的自由。
  • 自由三 (Freedom Three) 是透過發布改良版本,讓其他人可以從你的工作中獲益,藉此幫助建立你的社群的自由。

如果你擁有所有這些自由,那麼該程式對你而言就是自由軟體——而這點至關重要。這就是為什麼我用這種方式來表達。稍後當我談到 GNU 通用公共許可證時,我會解釋為什麼這樣說,但現在我正在解釋自由軟體是什麼意思,這是一個更基本的問題。

所以,自由零非常明顯。如果你甚至不被允許以任何你喜歡的方式執行程式,那是一個非常受限制的程式。但碰巧的是,大多數程式至少會給你自由零。而且自由零在法律上是自由一、自由二和自由三的結果——那是著作權法運作的方式。所以,將自由軟體與一般軟體區分開來的自由是自由一、自由二和自由三,所以我將更詳細地說明它們,以及它們為什麼重要。

自由一是透過修改軟體來符合你的需求,藉此幫助自己的自由。這可能意味著修復錯誤。這可能意味著新增功能。這可能意味著將其移植到不同的電腦系統。這可能意味著將所有錯誤訊息翻譯成納瓦荷語。任何你想做的變更,你都應該可以自由地去做。

現在,很明顯,專業程式設計師可以非常有效地利用這種自由,但不只是他們。任何有合理智力的人都可以學一點程式設計。你知道的,有些工作很難,有些工作很容易,而且大多數人不會學到足以勝任困難工作的程度。但是很多人可以學到足以勝任簡單工作的程度,就像,你知道的,50 年前,很多很多的美國男人學會了修理汽車,這使得美國能夠在第二次世界大戰中擁有一支機械化部隊並取得勝利。所以,非常重要,要讓很多人參與修修補補。

而且如果你是個擅長與人相處的人,而且你真的完全不想學習科技,那可能意味著你有很多朋友,而且你很擅長讓他們欠你人情。[笑聲] 他們其中有些人可能是程式設計師。所以你可以問你的一個程式設計師朋友。「你可以幫我改一下這個嗎?新增這個功能?」所以,很多人都可以從中受益。

現在,如果你沒有這種自由,它會對社會造成實際的、物質上的損害。它會讓你成為你軟體的囚犯。我解釋過雷射印表機方面的情況。你知道的,它對我們來說運作得很糟糕,而且我們無法修復它,因為我們是我們軟體的囚犯。

但它也會影響人們的士氣。你知道的,如果電腦總是令人沮喪地難以使用,而且人們正在使用它,他們的生活將會變得沮喪,而且如果他們在工作中使用它,他們的工作將會變得沮喪;他們會討厭他們的工作。而且你知道的,人們會透過決定不在乎來保護自己免於沮喪。所以你最終會得到一些人的態度是,「嗯,我今天來上班了。這就是我必須做的。如果我無法取得進展,那不是我的問題;那是老闆的問題。」當這種情況發生時,對那些人來說很糟糕,對整個社會來說也很糟糕。那就是自由一,幫助自己的自由。

自由二是透過散布程式拷貝來幫助你的鄰居的自由。現在,對於能夠思考和學習的生物來說,分享有用的知識是一種基本的友誼行為。當這些生物使用電腦時,這種友誼行為就以分享軟體的形式呈現。朋友之間互相分享。朋友之間互相幫助。這就是友誼的本質。而且,事實上,這種善意精神——自願幫助鄰居的精神——是社會最重要的資源。它決定了一個社會是適合居住的社會,還是弱肉強食的叢林。它的重要性已被世界主要宗教認識數千年,而且他們明確地試圖鼓勵這種態度。

當我上幼稚園時,老師們試圖透過讓我們實際去做來教導我們這種態度——分享的精神。他們認為如果我們做了,我們就會學會。所以他們說,「如果你帶糖果到學校,你不能全部留給自己;你必須分一些給其他小朋友。」社會被建立起來教導我們這種合作精神。而你為什麼必須這樣做?因為人們並非完全合作。那是人性的一部分,而且還有其他人性。人性有很多部分。所以,如果你想要一個更好的社會,你必須努力鼓勵分享的精神。你知道的,它永遠不會達到 100%。這是可以理解的。人們也必須照顧好自己。但是如果我們讓它變得稍微更大一點,我們大家都會變得更好。

如今,根據美國政府的說法,老師們應該做完全相反的事情。「喔,強尼,你帶軟體來學校了。嗯,不要分享。喔不。分享是錯的。分享意味著你是個盜版者。」

當他們說「盜版者」時,他們是什麼意思?他們是在說,幫助你的鄰居在道德上等同於攻擊一艘船。[笑聲]

佛陀或耶穌會怎麼說?現在,想想你最喜歡的宗教領袖。我不知道,也許曼森會說一些不同的話。[笑聲] 誰知道 L. 羅恩·賀伯特會說什麼?但是…

提問[聽不清楚]

史托曼:當然,他已經死了。但是他們不承認這一點。什麼?

提問:其他人也是,也都死了。[笑聲] [聽不清楚] 查爾斯·曼森也死了。[笑聲] 他們都死了,耶穌死了,佛陀死了…

史托曼:是的,那是真的。[笑聲] 所以我想,在這方面,L. 羅恩·賀伯特並不比其他人更糟。[笑聲] 總之——[聽不清楚]

提問:L. 羅恩總是使用自由軟體——它讓他從札努中解放出來。[笑聲]

史托曼:總之,所以,我認為這實際上是軟體應該是自由的最重要原因:我們不能容忍污染社會最重要的資源。的確,它不是像潔淨的空氣和潔淨的水那樣的物質資源。它是一種心理社會資源,但儘管如此,它仍然是真實存在的,而且它對我們的生活產生了巨大的影響。你看,我們採取的行動會影響其他人的想法。當我們到處告訴人們,「不要互相分享」,如果他們聽我們的話,我們就對社會產生了影響,而且這不是一個好的影響。那就是自由二,幫助你的鄰居的自由。

喔,順帶一提,如果你沒有那項自由,它不僅會對社會的心理社會資源造成這種損害,它還會造成浪費——實際的、物質上的損害。如果程式有一個所有者,而且所有者安排一種情況,讓每個使用者都必須付費才能使用它,有些人會說,「沒關係,我不用它也行。」而那是浪費,是故意造成的浪費。而關於軟體有趣的事情,當然是使用者減少並不意味著你必須生產更少東西。你知道的,如果買車的人變少,你可以生產更少的汽車。那裡有節省。有一些資源可以分配,或不分配,到汽車的生產上。所以你可以說汽車定價是一件好事。它可以防止人們將大量浪費的資源轉移到生產實際上不需要的汽車上。但是,如果每多使用一輛汽車都不會消耗資源,那麼節省這些汽車的生產就沒有任何好處了。嗯,對於像汽車這樣的實體物品來說,當然,每多生產一個範例,總是會需要資源。

但是對於軟體來說,情況並非如此。任何人都可以製作另一份拷貝。而且這樣做幾乎微不足道。它不需要任何資源,除了少量的電力。所以,我們沒有任何可以節省的東西,也沒有任何資源可以透過對軟體的使用施加這種財務上的抑制來更好地分配。你經常發現人們採用經濟學,基於不適用於軟體的前提的經濟推理的後果,並試圖將它們從生活中其他可能適用這些前提的領域移植過來,而且結論可能是有效的。他們只是採用結論,並假設它們對軟體也有效,而實際上在軟體的情況下,該論證是沒有根據的。這些前提在這種情況下並不適用。檢視你如何得出結論,以及它依賴哪些前提,以了解它可能在哪裡有效,是非常重要的。所以,那就是自由二,幫助你的鄰居的自由。

自由三是透過發布軟體的改良版本來幫助建立你的社群的自由。人們過去常對我說,「如果軟體是自由的,那麼就沒有人會因為開發它而獲得報酬,那麼為什麼會有人開發它呢?」嗯,當然,他們混淆了自由的兩種含義,所以他們的推理是基於誤解。但是,無論如何,那是他們的理論。今天,我們可以將該理論與經驗事實進行比較,而且我們發現有數百人因為撰寫自由軟體而獲得報酬,而且有超過 10 萬人是自願這樣做。我們有很多人為了各種不同的動機而開發自由軟體。

當我第一次發布 GNU Emacs——GNU 系統中人們真正想要使用的第一個部分——而且當它開始有使用者時,過了一段時間後,我收到一則訊息說,「我想我在原始碼中看到一個錯誤,這是修復程式碼。」然後我又收到另一則訊息,「這是新增功能的程式碼。」還有另一個錯誤修復。還有另一個新功能。還有另一個,又一個,又一個,直到它們像潮水般湧向我,光是利用我獲得的所有這些幫助就是一項龐大的工作。微軟沒有這個問題。[笑聲]

最終,人們注意到了這種現象。你看,在 1980 年代,我們很多人認為自由軟體可能不如非自由軟體那麼好,因為我們沒有那麼多錢來付給人們。而且,當然,像我這樣重視自由和社群的人說,「嗯,無論如何我們會使用自由軟體。」為了擁有自由,在某些純粹的技術便利性方面做出一些犧牲是值得的。但是,大約在 1990 年左右,人們開始注意到我們的軟體實際上更好。它比專有替代方案更強大、更可靠。

在 90 年代初期,有人找到了一種科學測量軟體可靠性的方法。他是這樣做的。他採用了幾組可比較的程式,這些程式在不同的系統中執行相同的工作——完全相同的工作。因為有一些基本的類 Unix 公用程式。而且我們知道他們所做的工作,或多或少,都是在模仿相同的東西,或者他們遵循 POSIX 規範,所以它們在它們所做的工作方面都是相同的,但是它們是由不同的人維護的,分別編寫的。程式碼是不同的。所以他們說,好的,我們將採用這些程式,並使用隨機資料執行它們,並測量它們崩潰或當機的頻率。所以他們測量了,而且最可靠的程式組是 GNU 程式。所有商業替代方案,也就是專有軟體,都比較不可靠。所以他發表了這個結果,並告訴了所有開發人員,幾年後,他用最新版本做了相同的實驗,他得到了相同的結果。GNU 版本是最可靠的。人們——你知道的,有些癌症診所和 911 勤務中心使用 GNU 系統,因為它非常可靠,而且可靠性對他們來說非常重要。

總之,甚至有一群人專注於這種特定的好處,作為他們給出的原因,他們給出的主要原因,為什麼應該允許使用者做這些不同的事情,並擁有這些自由。如果你一直在聽我講話,你已經注意到,你已經看到我,代表自由軟體運動發言,我談論的是倫理道德問題,以及我們想要生活在什麼樣的社會中,什麼造就一個好的社會,以及實際的、物質上的好處。它們都很重要。那就是自由軟體運動。

另一個群體——被稱為開放原始碼運動——他們只引用實際的好處。他們否認這是一個原則問題。他們否認人們有權利與鄰居分享,並查看程式在做什麼,如果不喜歡就更改它。然而,他們說,讓人們這樣做是有用的。所以他們去拜訪公司,並對他們說,「你知道的,如果你讓人們這樣做,你可能會賺更多錢。」所以,你可以看到,在某種程度上,他們引導人們朝著相似的方向前進,但是是為了完全不同的、根本不同的哲學原因。

因為在最深刻的問題上,你知道的,在倫理道德問題上,這兩個運動意見分歧。你知道的,在自由軟體運動中,我們說,「你有權利享有這些自由。人們不應該阻止你做這些事情。」在開放原始碼運動中,他們說,「是的,如果他們想阻止你,他們可以阻止你,但是我們會試圖說服他們發善心讓你做這些事情。」嗯,他們做出了貢獻——他們說服了一些企業發布了大量的軟體,作為我們社群中的自由軟體。所以他們,開放原始碼運動,對我們的社群做出了實質性的貢獻。所以我們在實務專案上合作。但是,在哲學上,存在著巨大的分歧。

不幸的是,開放原始碼運動是最能獲得企業支持的運動,所以大多數關於我們工作的文章都將其描述為開放原始碼,而且很多人只是天真地認為我們都是開放原始碼運動的一部分。所以這就是為什麼我要提及這種區別。我希望你們意識到,將我們的社群帶入存在,並開發出自由作業系統的自由軟體運動,仍然存在——而且我們仍然堅持這種倫理哲學。我希望你們了解這一點,這樣你們才不會在不知不覺中誤導其他人。

而且,也是為了讓你們可以思考你們的立場。

你知道的,你支持哪個運動取決於你。你可能同意自由軟體運動和我的觀點。你可能同意開放原始碼運動。你可能不同意這兩者。你決定你在這些政治問題上的立場。

但是,如果你同意自由軟體運動——如果你看到這裡有一個問題,就是那些生活受到這個決定控制和指導的人們,應該有權發言——那麼我希望你會說你同意自由軟體運動,而且你可以做到這一點的一種方式,就是使用「自由軟體」這個詞,並只是幫助人們知道我們的存在。

所以,自由三在實務上和心理社會上都非常重要。如果你沒有這項自由,它會造成實際的物質損害,因為這種社群開發不會發生,而且我們不會開發出強大、可靠的軟體。但它也會造成心理社會損害,這會影響科學合作的精神——我們正在共同努力推進人類知識的想法。你看,科學的進步至關重要地依賴於人們能夠一起工作。但是,如今,你經常發現每個小科學家團體都表現得好像與其他科學家和工程師團體之間是一場戰爭。如果他們不互相分享,他們都會被拖後腿。

所以,這些是將自由軟體與一般軟體區分開來的三個自由。自由一是幫助自己的自由,修改程式以符合你自己的需求。自由二是透過散布拷貝來幫助你的鄰居的自由。自由三是透過進行修改並將它們發布給其他人使用,藉此幫助建立你的社群的自由。如果你擁有所有這些自由,那麼該程式對你而言就是自由軟體。現在,我為什麼要根據它是否對而言是自由軟體來定義它呢?對你而言是自由軟體嗎?[指向聽眾中的一位成員。] 對你而言是自由軟體嗎?[指向聽眾中的另一位成員。] 對你而言是自由軟體嗎?[指向聽眾中的另一位成員。] 是嗎?

提問:你可以稍微解釋一下自由二和自由三之間的區別嗎?[聽不清楚]

史托曼:嗯,它們當然有關聯,因為如果你根本沒有重新散布的自由,你當然就沒有散布修改版本的自由,但是它們是不同的活動。

提問:喔。

史托曼:自由二是你讀取它,製作一份完全相同的拷貝,然後把它交給你的朋友,這樣你的朋友現在就可以使用它了。或者,也許你製作完全相同的拷貝,然後將它們賣給一群人,然後他們就可以使用它了。

自由三是你進行改進——或者至少你認為它們是改進,而且其他一些人可能會同意你的看法。所以這就是區別。喔,順帶一提,一個關鍵點。自由一和自由三取決於你是否可以存取原始碼。因為更改一個只有二進位碼的程式極其困難。[笑聲] 即使是像日期使用四位數這樣微不足道的更改,[笑聲] 如果你沒有原始碼的話。所以,出於令人信服的、實際的原因,存取原始碼是自由軟體的一個先決條件、一個要求。

所以,我為什麼要根據它是否對而言是自由軟體來定義它呢?原因是,有時同一個程式對於某些人來說可能是自由軟體,而對於另一些人來說則是非自由軟體。現在,這可能看起來像是一個矛盾的情況,所以讓我給你一個例子來向你展示它是如何發生的。一個非常大的例子——也許是有史以來最大的例子——這個問題是 X 視窗系統,它是在麻省理工學院開發的,並以一個使其成為自由軟體的許可證發布。如果你取得帶有麻省理工學院許可證的麻省理工學院版本,你將擁有自由一、自由二和自由三。它對你而言是自由軟體。但是在那些取得拷貝的人之中,有各種電腦製造商,他們散布 Unix 系統,而且他們對 X 做了必要的變更,以便在他們的系統上執行。你知道的,可能只是 X 數十萬行程式碼中的幾千行。然後,他們編譯了它,並將二進位碼放入他們的 Unix 系統中,並在與 Unix 系統其餘部分相同的保密協議下散布它。然後,數百萬人取得了這些拷貝。他們擁有 X 視窗系統,但他們沒有這些自由中的任何一項。它對他們而言不是自由軟體。

所以,矛盾之處在於,X 是否是自由軟體取決於你在哪裡進行測量。如果你從開發人員群體中進行測量,你會說,「我觀察到所有這些自由。它是自由軟體。」如果你在使用者中進行測量,你會說,「嗯,大多數使用者沒有這些自由。它不是自由軟體。」嗯,開發 X 的人們並不認為這是一個問題,因為他們的目標只是受歡迎程度、自我,本質上是這樣。他們想要一個巨大的專業成功。他們想要感覺,「啊,很多人都在使用我們的軟體。」那是真的。很多人都在使用他們的軟體,但是沒有自由。

嗯,在 GNU 專案中,如果同樣的事情發生在 GNU 軟體身上,那將會是一個失敗,因為我們的目標不只是受歡迎;我們的目標是給予人們自由,並鼓勵合作,允許人們合作。記住,永遠不要強迫任何人與任何其他人合作,但是要確保每個人都被允許合作,每個人都有這樣做的自由,如果他或她願意的話。如果數百萬人在執行非自由版本的 GNU,那根本就不是成功。整個事情將被扭曲成與目標完全不同的東西。

所以,我尋找一種方法來阻止這種情況發生。我想出的方法稱為「著作權保留 (copyleft)」。它被稱為著作權保留,因為它有點像拿起著作權並將其翻轉過來。[笑聲] 在法律上,著作權保留是基於著作權運作的。我們使用現有的著作權法,但是我們使用它來實現一個非常不同的目標。我們是這樣做的。我們說,「這個程式受著作權保護。」而且,當然,預設情況下,這意味著禁止複製、散布或修改它。但是,然後我們說,「你被授權散布這個的拷貝。你被授權修改它。你被授權散布修改版本和擴充版本。以任何你喜歡的方式更改它。」

但是有一個條件。而且這個條件,當然,是我們費盡心思的原因,以便我們可以將條件納入其中。該條件說:無論何時你散布任何包含這個程式任何部分的內容,整個程式都必須在相同的條款下散布,不多也不少。所以你可以更改程式並散布修改版本,但是當你這樣做時,從你那裡獲得該程式的人必須獲得你從我們這裡獲得的相同自由。而且不僅僅是針對那些部分——你從我們的程式複製的摘錄——而且還針對他們從你那裡獲得的該程式的其他部分。該程式的全部都必須對他們而言是自由軟體。

更改和重新散布這個程式的自由成為不可剝奪的權利——一個來自《獨立宣言》的概念。我們確保不能從你那裡奪走的權利。而且,當然,體現著作權保留思想的特定許可證是 GNU 通用公共許可證,這是一個有爭議的許可證,因為它實際上具有力量對那些想當我們社群中的寄生蟲的人說不。

有很多人不欣賞自由的理想。而且他們會非常樂意拿走我們已經完成的工作,並利用它在散布非自由程式方面取得先機,並誘惑人們放棄他們的自由。而結果將會是——你知道的,如果我們讓人們那樣做——我們將會開發這些自由程式,而且我們將不得不不斷地與我們自己程式的改進版本競爭。那一點都不好玩。

而且,很多人也覺得——你知道的,我願意自願奉獻我的時間來為社群做出貢獻,但是為什麼我應該自願奉獻我的時間來為那家公司、為改進那家公司的專有程式做出貢獻呢?你知道的,有些人甚至可能不認為那是邪惡的,但是如果他們要那樣做,他們想要獲得報酬。我個人寧願根本不做。

但是這兩類人——那些像我一樣說,「我不想要幫助那個非自由程式在我們的社群中站穩腳跟」的人,以及那些說,「當然,我願意為他們工作,但是那樣的話,他們最好付錢給我」的人——我們都有充分的理由使用 GNU 通用公共許可證。因為那對那家公司說,「你不能只是拿走我的工作,然後在沒有自由的情況下散布它。」然而,像 X 視窗許可證這樣的非著作權保留許可證,確實允許那樣做。

所以,這就是自由軟體的兩個類別之間——就許可證而言——的最大區別。有些程式是著作權保留的,因此該許可證保護每個使用者的軟體自由。有些程式是非著作權保留的,對於這些程式,允許非自由版本。有人可以拿走那些程式,並剝奪自由。你可能會以非自由版本取得該程式。

而這個問題今天仍然存在。仍然有非自由版本的 X 視窗在我們的自由作業系統上被使用。甚至有些硬體——實際上沒有得到支援——除非是非自由版本的 X 視窗。而那是我們社群中的一個主要問題。儘管如此,我不會說 X 視窗是一件壞事,你知道的。我會說,開發人員沒有做到他們本來可以做到的最好的事情。但是他們確實發布了很多我們可以使用的軟體。

你知道的,不完美和邪惡之間有很大的區別。好與壞之間有很多等級。我們必須抵制這種誘惑,不要說,如果你沒有做到絕對最好的事情,那麼你就不好。你知道的,開發 X 視窗的人們對我們的社群做出了巨大的貢獻。但是他們本來可以做得更好。他們本來可以著作權保留程式的部分內容,並阻止那些剝奪自由的版本被其他人散布。

現在,GNU 通用公共許可證保護你的自由,使用著作權法來保護你的自由,當然,這就是為什麼微軟今天正在攻擊它的原因。你看,微軟真的希望能夠拿走我們編寫的所有程式碼,並將其放入專有程式中,讓人們做一些改進,或者甚至是僅僅做出不相容的變更,這就是他們所需要的。[笑聲]

你知道的,憑藉微軟的行銷影響力,他們不需要讓他們的版本比我們的版本更好,就能取代我們的版本。他們只需要讓它變得不同且不相容。然後,將它放在每個人的桌面上。所以他們真的不喜歡 GNU GPL。因為 GNU GPL 不會讓他們那樣做。它不允許「擁抱和擴充」。它說,如果你想在你的程式中分享我們的程式碼,你可以。但是,你必須分享和分享。你所做的變更我們必須被允許分享。所以,這是一種雙向合作,這是真正的合作。

許多公司——甚至是像 IBM 和 HP 這樣的大公司也願意在這個基礎上使用我們的軟體。IBM 和 HP 為 GNU 軟體貢獻了大量的改進。而且他們開發了其他自由軟體。但是,微軟不想這樣做,所以他們散布說企業根本無法應付 GPL。嗯,如果企業不包括 IBM 和 HP 和 SUN,那麼也許他們是對的。[笑聲] 稍後再詳細說明。

我應該完成歷史故事。你看,我們在 1984 年出發,不僅僅是為了編寫一些自由軟體,而是為了做一些更連貫的事情:開發一個完全是自由軟體的作業系統。所以這意味著我們必須一塊一塊地編寫程式碼。當然,我們總是在尋找捷徑。這項工作太大了,以至於人們說我們永遠無法完成。而且,我認為至少有機會我們可以完成它,但是,顯然,值得尋找捷徑。所以我們不斷地四處尋找。有沒有任何人寫過的程式,我們可以設法調整、插入這裡,這樣我們就不必從頭開始編寫它?例如,X 視窗系統。的確,它不是著作權保留的,但是它是自由軟體,所以我們可以使用它。

現在,我從一開始就想把視窗系統放入 GNU 中。在我開始 GNU 專案之前,我曾在麻省理工學院寫過幾個視窗系統。所以,即使在 1984 年 Unix 沒有視窗系統,我還是決定 GNU 要有一個。但是,我們最終沒有寫出 GNU 視窗系統,因為 X Window System 出現了。我說,太好了!我們少了一項大任務要做。我們將使用 X Window System。所以我基本上說,讓我們採用 X Window System,並將它放入 GNU 系統中。我們將讓 GNU 的其他部分,你知道的,在適當的時候與 X Window System 協同工作。我們還找到其他人編寫的其他軟體,像是排版軟體 TeX,以及來自柏克萊的一些程式庫程式碼。當時有柏克萊 Unix,但它不是自由軟體。這個程式庫程式碼,最初是來自柏克萊的一個不同的小組,他們研究浮點數。因此,我們不斷地,我們將這些組件整合進來。

在 1985 年 10 月,我們成立了自由軟體基金會。所以請注意,GNU 專案是先出現的。自由軟體基金會是在之後成立的,大約在專案公告發布後將近兩年。自由軟體基金會是一個免稅慈善機構,它募款以推廣分享和更改軟體的自由。在 1980 年代,我們運用資金所做的主要事情之一是聘請人員來編寫 GNU 的各個部分。像是 shell 和 C 程式庫等基本程式,以及其他程式的部分內容,都是以這種方式編寫的。tar 程式,這個絕對必要的程式,雖然一點都不令人興奮[笑聲],也是以這種方式編寫的。我相信 GNU grep 也是以這種方式編寫的。所以,我們正朝著我們的目標前進。

到了 1991 年,只剩下一個主要的組件缺失,那就是核心。那麼,我為什麼把核心延後呢?可能是因為做事的順序其實並不重要,至少技術上是這樣。反正你最終都要把它們全部完成。部分原因是因為我曾希望我們能夠在其他地方找到一個核心的起點。我們也確實找到了。我們找到了 Mach,它是在卡內基美隆大學開發的。它不是完整的核心;它是核心的下半部分。所以我們必須編寫上半部分,但我認為,像是檔案系統、網路程式碼等等。但是它們在 Mach 之上運行,基本上是作為使用者程式運行,這應該會讓它們更容易除錯。你可以使用真正的原始碼層級除錯器同時進行除錯。因此,我認為這樣一來,我們就能在短時間內完成這些較高層級的核心部分。但結果並非如此。這些非同步、多執行緒的程序,彼此之間傳送訊息,結果證明非常難以除錯。而我們用來啟動 Mach 系統的除錯環境非常糟糕,而且不可靠,還有各種問題。我們花了多年的時間才讓 GNU 核心運作起來。

但是,幸運的是,我們的社群不必等待 GNU 核心。因為在 1991 年,林納斯·托瓦茲開發了另一個名為 Linux 的自由核心。他使用了傳統的巨型核心設計,結果證明他讓他的核心運作的速度比我們的快得多。所以也許這是我犯下的錯誤之一:那個設計決策。總之,起初,我們並不知道 Linux,因為他從未聯絡我們談論它。雖然他確實知道 GNU 專案。但他是在網路上向其他人和其他地方宣布的。因此,其他人隨後完成了將 Linux 與 GNU 系統的其餘部分結合起來的工作,以建立一個完整的自由作業系統。基本上,是為了建立 GNU 加 Linux 的組合。

但是,他們沒有意識到他們正在做什麼。你看,他們說,我們有一個核心——讓我們四處看看,我們可以找到哪些其他組件來與核心組合在一起。所以,他們四處尋找——瞧,他們需要的一切都已經可用了。他們說,多麼幸運啊。[笑聲] 一切都在這裡。我們可以找到我們需要的一切。讓我們把所有這些不同的東西組合起來,建立一個系統。

他們不知道他們找到的大部分東西都是 GNU 系統的組件。所以他們沒有意識到他們正在將 Linux 填補到 GNU 系統的空缺中。他們認為他們正在採用 Linux 並從 Linux 建立一個系統。所以他們稱之為 Linux 系統。

提問[聽不清楚]

史托曼:聽不到你說什麼——什麼?

提問[聽不清楚]

史托曼:嗯,這只是不——你知道,這很狹隘。

提問:但這比找到 X Window System 和 Mach 更幸運嗎?

史托曼:對。不同之處在於,開發 X Window System 和 Mach 的人並沒有以建立一個完整的自由作業系統為目標。只有我們有這個目標。而且,是我們大量的努力讓這個系統存在。我們實際上完成了系統中比任何其他專案都更大的部分。這絕非巧合,因為那些人——他們編寫了系統中有用的部分。但他們這樣做並不是因為他們希望系統完成。他們有其他原因。

現在,開發 X Window System 的人們——他們認為設計跨網路視窗系統會是一個好專案,而且確實如此。結果證明這有助於我們建立一個良好的自由作業系統。但那不是他們所期望的。他們甚至沒有想到那一點。這是一個意外。一個意外的好處。現在,我不是說他們所做的是壞事。他們做了一個大型自由軟體專案。這是一件好事。但他們沒有那種終極願景。GNU 專案才是擁有那種願景的地方。

而且,所以,我們是那群人——每一個沒有被其他人完成的小組件,都是我們完成的。因為我們知道,如果沒有它,我們就不會有一個完整的系統。即使它完全無聊且不浪漫,像是 tarmv[笑聲] 我們還是做了。或是 ld,你知道 ld 沒有什麼非常令人興奮的地方——但我寫了一個。[笑聲] 而且我確實努力讓它盡可能減少磁碟 I/O,以便它能更快,並處理更大的程式。但是,你知道,我喜歡把工作做好。我喜歡在做的時候改進程式的各種方面。但我做它的原因並不是因為我對更好的 ld 有什麼絕妙的想法。我做它的原因是我們需要一個自由的。而且我們不能期望其他人去做。所以,我們必須自己做,或者找到人去做。

所以,雖然在這一點上,專案中成千上萬的人為這個系統做出了貢獻,但有一個專案是這個系統存在的原因,那就是 GNU 專案。它基本上就是 GNU 系統,自那時起又添加了其他東西。

所以,然而,將系統稱為 Linux 的做法對 GNU 專案造成了很大的打擊,因為我們通常沒有因為我們所做的事情而獲得肯定。我認為 Linux,也就是核心,是一個非常有用的自由軟體組件,我對它只有好話可說。但是,嗯,實際上,我可以找到一些壞話來說它。[笑聲] 但是,基本上,我對它有很多好話要說。然而,將 GNU 系統稱為 Linux 的做法只是一個錯誤。我想請你們盡力做出必要的努力,將系統稱為 GNU/Linux,這樣有助於我們獲得應有的肯定。

提問:你需要一個吉祥物!給自己買一個填充動物![笑聲]

史托曼:我們有一個。

提問:你們有?

史托曼:我們有一個動物——gnu(牛羚)。[笑聲] 總之。所以,是的,當你畫企鵝時,在旁邊畫一隻 gnu。[笑聲] 但是,讓我們把問題留到最後。我還有更多內容要講。

所以,為什麼我如此關心這個?你知道,為什麼我認為值得打擾你們,甚至可能降低你們對我的評價,[笑聲] 來提出這個關於肯定的問題?因為,你知道,有些人當我這樣做時,有些人認為那是因為我想滿足我的自尊心,對吧?當然,我不是說——我不是要求你們稱之為「Stallmanix」,對吧?[笑聲] [掌聲]

我要求你們稱之為 GNU,因為我希望 GNU 專案獲得肯定。而且這有一個非常具體的原因,這個原因比任何人獲得肯定本身都重要得多。你看,現今,如果你環顧我們的社群,大多數談論和撰寫相關內容的人從未提及 GNU,他們也從未提及這些自由的目標——這些政治和社會理想。因為他們的出發點不是 GNU。

與 Linux 相關的想法——哲學非常不同。它基本上是林納斯·托瓦茲的非政治哲學。因此,當人們認為整個系統是 Linux 時,他們傾向於認為:「哦,它一定是林納斯·托瓦茲開始的。他的哲學一定是我們應該仔細研究的。」當他們聽到 GNU 哲學時,他們會說:「哇,這太理想化了,這一定非常不切實際。我是 Linux 使用者,而不是 GNU 使用者。」[笑聲]

多麼諷刺!如果他們知道就好了!如果他們知道他們喜歡的系統——或者,在某些情況下,熱愛並為之瘋狂的系統——是我們理想主義的、政治的哲學的實現。

他們仍然不必同意我們。但至少他們會看到一個理由來認真看待它,仔細思考它,給它一個機會。他們會看到它與他們的生活有何關聯。你知道,如果他們意識到,「我正在使用 GNU 系統。這是 GNU 哲學。這個哲學是為什麼我非常喜歡的這個系統會存在的原因」,他們至少會以更開放的心態來考慮它。這並不意味著每個人都會同意。人們有不同的想法。這沒關係。你知道,人們應該自己做決定。但我希望這種哲學能夠因為它所取得的成果而獲得肯定。

如果你環顧我們的社群,你會發現幾乎到處,機構都稱這個系統為 Linux。你知道,記者大多稱之為 Linux。這是不對的,但他們就是這樣做。那些將系統打包的公司大多也這麼說。哦,而且這些記者中的大多數人在撰寫文章時,通常不會將其視為政治問題或社會問題。他們通常純粹將其視為商業問題,或是哪些公司將會更成功或更不成功,這對社會來說實際上是一個相當次要的問題。而且,如果你看看那些為人們打包 GNU/Linux 系統的公司,嗯,他們大多數都稱之為 Linux。而且他們全都在其中添加了非自由軟體。

你看,GNU GPL 規定,如果你從 GPL 涵蓋的程式中取出程式碼,並添加更多程式碼來建立一個更大的程式,那麼整個程式都必須在 GPL 下發布。但是你可以將其他獨立的程式放在同一個磁碟(硬碟或 CD 都可以)上,它們可以有其他授權條款。這被認為只是單純的聚合,而且,基本上,只是同時將兩個程式分發給某人,並不是我們可以置喙的事情。因此,事實並非如此——有時,我希望它是真的——如果一家公司在產品中使用 GPL 涵蓋的程式,則整個產品都必須是自由軟體。它不是——它沒有達到那個範圍——那個範圍。它是整個程式。如果兩個單獨的程式以保持一定距離的方式相互通信——像是透過相互發送訊息——那麼,它們在法律上通常是獨立的。因此,這些公司透過在系統中添加非自由軟體,在哲學和政治上給使用者帶來非常糟糕的想法。他們告訴使用者,「使用非自由軟體是可以的。我們甚至把它作為獎勵放在這裡。」

如果你看看關於 GNU/Linux 系統使用的雜誌,它們大多數的標題都像是「Linux-什麼什麼之類的」。所以他們大多數時候都將系統稱為 Linux。而且它們充斥著非自由軟體的廣告,你可以在 GNU/Linux 系統之上運行這些軟體。現在這些廣告有一個共同的訊息。它們說:非自由軟體對你來說是好的。它非常好,你甚至可能付費來取得它。[笑聲]

而且他們將這些東西稱為「增值套件」,這表達了他們的價值觀。他們在說:重視實際的便利性,而不是自由。而且,我不同意這些價值觀,所以我稱它們為「自由減值套件」。[笑聲] 因為如果你安裝了一個自由作業系統,那麼你現在就生活在自由世界中。你享受著我們多年來努力為你爭取的自由的好處。那些套件給你一個戴上枷鎖的機會。

然後,如果你看看貿易展覽——關於使用 GNU/Linux 系統的,專門用於 GNU/Linux 系統的,它們都稱自己為「Linux」展覽。而且它們充斥著展示非自由軟體的攤位,本質上是對非自由軟體蓋章認可。因此,幾乎在你所看到的我們社群的每個地方,機構都在認可非自由軟體,完全否定了 GNU 為之開發的自由理念。而人們可能接觸到自由理念的唯一地方,就是與 GNU 相關的地方,以及與自由軟體這個詞相關的地方。這就是為什麼我請求你們:請稱系統為 GNU/Linux。請讓人們了解系統的來源以及原因。

當然,僅僅使用這個名稱,你不會解釋歷史。你可以多輸入四個字元並寫下 GNU/Linux;你可以多說兩個音節。但是,GNU/Linux 的音節比 Windows 2000 還要少。[笑聲] 但是,你沒有告訴他們很多,但你正在為他們做準備,以便當他們聽到 GNU,以及它的全部意義時,他們會看到這與他們和他們的生活有何關聯。而這間接地產生了巨大的影響。所以請幫助我們。

你會注意到微軟稱 GPL 為「開放原始碼授權」。他們不希望人們從自由的角度來思考這個問題。你會發現他們引導人們以狹隘的方式思考,作為消費者,而且,當然,如果他們要選擇微軟產品,甚至不會以非常理性的方式作為消費者來思考。但他們不希望人們以公民或政治家的身份來思考。這對他們來說是不利的。至少這對他們目前的商業模式是不利的。

現在,自由軟體如何……嗯,我可以告訴你自由軟體如何與我們的社會相關。對你們中的一些人來說可能感興趣的第二個主題是自由軟體如何與商業相關。事實上,自由軟體對商業非常有用。畢竟,先進國家的大多數企業都使用軟體。只有極少數企業開發軟體。

而自由軟體對任何使用軟體的公司都非常有利,因為這意味著你可以掌控一切。基本上,自由軟體意味著使用者可以控制程式的功能。無論是個別地,如果他們夠在意,還是集體地,當他們夠在意時。任何在意的人都可以施加一些影響。如果你不在意,你就不買。然後你使用其他人喜歡的東西。但是,如果你在意,那麼你就有一些發言權。使用專有軟體,你基本上沒有發言權。

使用自由軟體,你可以更改你想更改的任何內容。而且你的公司裡沒有程式設計師也沒關係;這很好。你知道,如果你想移動你建築物裡的牆壁,你不必是一家木工公司。你只需要能夠找到一位木匠並說,「你做這項工作要收多少錢?」如果你想改變你使用的軟體,你不必是一家程式設計公司。你只需要去找一家程式設計公司並說,「實作這些功能你要收多少錢?你什麼時候能完成?」如果他們不做這項工作,你可以去找其他人。

支援有一個自由市場。因此,任何關心支援的企業都會發現自由軟體具有巨大的優勢。使用專有軟體,支援是一種壟斷,因為一家公司擁有原始碼,或者可能少量付出了巨額資金的公司擁有原始碼,如果是微軟的共享原始碼計畫,但數量非常少。因此,你可以獲得支援的來源非常少。這意味著,除非你是真正的巨頭,否則他們不會關心你。你的公司對他們來說不夠重要,他們不在乎是否失去你的業務,或者發生什麼事。一旦你開始使用該程式,他們就會認為你被鎖定在從他們那裡獲得支援,因為切換到不同的程式是一項巨大的工作。因此,你最終會遇到諸如付費才能回報錯誤之類的事情。[笑聲] 一旦你付了錢,他們就會告訴你,「好吧,我們已經記錄了你的錯誤回報。幾個月後,你可以購買升級,你可以看看我們是否修復了它。」[笑聲]

自由軟體的支援提供者不能逍遙法外。他們必須讓客戶滿意。當然,你可以免費獲得很多好的支援。你在網路上發布你的問題。你可能會在第二天得到答覆。但這當然不能保證。如果你想有信心,你最好與一家公司達成協議並付費給他們。而這當然是自由軟體業務運作的方式之一。

自由軟體對使用軟體的企業的另一個優勢是安全性和隱私性。這也適用於個人,但我在企業的背景下提出了它。你看,當一個程式是專有的時候,你甚至無法分辨它真正做了什麼。

它可能具有故意放入的功能,如果你知道這些功能,你就不會喜歡它們,例如它可能有一個後門,讓開發人員可以進入你的機器。它可能會窺探你所做的事情並將資訊發送回去。這並不少見。一些微軟軟體就是這樣做的。但不只是微軟。還有其他專有程式會窺探使用者。你甚至無法分辨它是否這樣做。而且,當然,即使假設開發人員完全誠實,每個程式設計師都會犯錯。可能存在影響你的安全性的錯誤,而這並非任何人的錯。但重點是:如果它不是自由軟體,你就找不到它們。而且你無法修復它們。

沒有人有時間檢查他運行的每個程式的原始碼。你不會這樣做的。但是使用自由軟體,有一個龐大的社群,而且社群中有人在檢查事物。你會從他們的檢查中受益,因為如果存在意外的錯誤,任何程式中肯定會不時出現錯誤,他們可能會找到並修復它。而且人們不太可能故意放入木馬程式或窺探功能,如果他們認為自己可能會被抓住的話。專有軟體開發人員認為他們不會被抓住。他們會逍遙法外,不被發現。但自由軟體開發人員必須認為人們會看到它並發現它的存在。因此,在我們的社群中,我們覺得我們不能逍遙法外地將使用者不喜歡的功能強加於使用者。因此我們知道,如果使用者不喜歡它,他們會製作一個沒有它的修改版本。然後,他們都會開始使用那個版本。

事實上,我們都可以進行足夠的推理,我們都可以提前足夠的步驟弄清楚這一點,以至於我們可能不會放入該功能。畢竟,你正在編寫一個自由程式;你希望人們喜歡你的版本;你不想放入一個你知道很多人會討厭的東西,並讓另一個修改版本取代你的版本而流行起來。所以你只是意識到使用者在自由軟體的世界中是國王。在專有軟體的世界中,顧客不是國王。因為你只是一個顧客。你對你使用的軟體沒有任何發言權。

在這方面,自由軟體是一種新的民主運作機制。現在在史丹佛大學任教的勞倫斯·雷席格教授指出,程式碼的功能就像一種法律。無論誰編寫了幾乎每個人都用於各種意圖和目的的程式碼,實際上都是在編寫運行人們生活的法律。使用自由軟體,這些法律以民主的方式編寫。不是古典形式的民主——我們沒有進行大型選舉並說,「大家投票決定這個功能應該怎麼做。」[笑聲] 相反,我們基本上說,你們中那些想要以這種方式實作功能的人,就去做。如果你們想要以那種方式實作功能,就去做。而且,它會以這種或那種方式完成,你知道嗎?因此,如果很多人想要這樣做,它就會以這種方式完成。因此,透過簡單地朝著他想要的方向邁出步伐,每個人都在為社會決策做出貢獻。

而且你可以自由地採取任意多的步驟,就個人而言,你想採取多少就採取多少。企業可以自由地委託他們認為有用的步驟。而且,在你將所有這些東西加起來之後,這就說明了軟體的發展方向。

而且,能夠從現有的程式中取出組件,大概通常是大型組件,當然,然後編寫一定數量的你自己的程式碼,並製作一個完全符合你需求的程式,通常非常有用,如果你必須從頭開始編寫,如果你不能從現有的自由軟體套件中拆解大型組件,那麼開發它將花費你一大筆錢。

使用者是國王這一事實帶來的另一件事是,我們往往非常擅長相容性和標準化。為什麼?因為使用者喜歡這樣。使用者很可能會拒絕一個具有無端不相容性的程式。現在,有時有一組特定的使用者實際上需要某種不相容性,那麼他們就會擁有它。這沒關係。但是當使用者想要遵循標準時,我們開發人員必須遵循它,而且我們知道這一點。我們也確實這樣做了。相比之下,如果你看看專有軟體開發人員,他們經常發現故意遵循標準是有利的,而且並不是因為他們認為他們正在以這種方式給使用者帶來優勢,而是因為他們正在強加於使用者,將使用者鎖定。你甚至會發現他們不時更改他們的檔案格式,只是為了迫使人們取得最新版本。

檔案管理員現在發現了一個問題,十年前在電腦上寫入的檔案通常無法存取;它們是用專有軟體寫入的,而這些軟體現在基本上已經遺失了。如果是用自由軟體寫入的,那麼它可以被更新並運行。而那些東西就不會,那些記錄就不會遺失,不會無法存取。他們最近甚至在 NPR 上抱怨這一點,並引用自由軟體作為解決方案。因此,實際上,透過使用非自由程式來儲存你自己的資料,你正在將你的頭伸進絞索中。

所以,我已經談過了自由軟體如何影響大多數企業。但是它如何影響軟體業務這個特定的狹窄領域呢?嗯,答案是基本上根本沒有影響。原因是據我所知,軟體產業的 90% 是客製化軟體的開發,這些軟體根本不打算發布。對於客製化軟體,自由或專有的問題,或倫理問題,不會出現。你看,問題是,你們使用者是否可以自由地更改和重新發布軟體?如果只有一個使用者,而且該使用者擁有權利,那就沒有問題。該使用者可以自由地做所有這些事情。因此,實際上,任何一家公司為內部使用而開發的任何客製化程式都是自由軟體,只要他們有意識地堅持獲得原始碼和所有權利。

而且,對於手錶、微波爐或汽車點火系統中的軟體,這個問題實際上並不會出現。因為這些地方你不會下載軟體來安裝。就使用者而言,它不是一台真正的電腦。因此,它沒有引起足夠的問題,使其在倫理上變得重要。因此,在大多數情況下,軟體產業將會像過去一樣繼續發展。有趣的是,由於如此大比例的工作都在產業的那個部分,即使沒有自由軟體業務的可能性,自由軟體開發人員也可以找到日常工作來編寫客製化軟體。[笑聲] 數量太多了;比例太大了。

但是,碰巧的是,確實有自由軟體業務。有自由軟體公司,在我即將舉行的記者會上,其中幾家公司的人員將會加入我們。而且,當然,也有一些公司不是自由軟體業務,但確實開發了有用的自由軟體組件來發布,而且他們生產的自由軟體數量可觀。

那麼,自由軟體業務是如何運作的呢?嗯,其中一些公司銷售副本。你知道,你可以自由複製它,但他們仍然可以每月銷售數千份副本。其他公司則銷售支援和各種服務。就我個人而言,在 80 年代的後半段,我銷售自由軟體支援服務。基本上我說,每小時 200 美元,我會更改你在我編寫的 GNU 軟體中想要我更改的任何內容。而且,是的,這是一個很高的價格,但如果這是我作為作者的程式,人們會認為我可能會在更少的小時內完成工作。[笑聲] 我就是這樣謀生的。事實上,我賺的錢比以往任何時候都多。我也教課。我一直這樣做直到 1990 年,當時我獲得了一個大獎,我再也不需要這樣做了。

但是,1990 年是第一家公司自由軟體業務成立的時候,那就是 Cygnus Support。他們的業務基本上與我一直在做的事情相同。如果我需要這樣做,我當然可以在他們那裡工作。由於我不需要,我認為如果我保持獨立於任何一家公司,對運動是有好處的。這樣,我就可以說各種自由軟體和非自由軟體公司的好話和壞話,而不會有利益衝突。我覺得我可以為運動服務更多。但是,如果我需要這樣做才能謀生,當然,我會在他們那裡工作。這是一項合乎倫理的業務。我沒有理由為在他們那裡找到工作而感到羞愧。而這家公司在第一年就盈利了。它成立時資本非常少,只有其三位創辦人的錢。而且它每年都持續成長並盈利,直到他們變得貪婪,並尋找外部投資者,然後他們把事情搞砸了。但在他們變得貪婪之前,它已經成功了幾年。

因此,這說明了自由軟體令人興奮的事情之一。自由軟體證明了你不需要籌集資金來開發自由軟體。我的意思是,這很有用;它可以有所幫助。你知道,如果你確實籌集了一些資金,你可以聘請人員並讓他們編寫大量軟體。但是你可以用少量的人員完成很多工作。而且,事實上,開發自由軟體的過程具有極高的效率,這是世界轉向自由軟體的重要原因之一。而且,這也駁斥了微軟所說的話,當他們說 GNU GPL 不好時,因為這讓他們更難籌集資金來開發非自由軟體,並拿走我們的自由軟體,並將我們的程式碼放入他們不與我們分享的程式中。基本上,我們不需要他們以這種方式籌集資金。我們無論如何都會完成工作。我們正在完成工作。

人們過去常說我們永遠無法完成一個完整的自由作業系統。現在我們已經做到了,而且做得更多。我想說,我們距離開發出世界所需的所有通用發布軟體,只差一個數量級。而這是在一個世界上,超過 90% 的使用者還沒有使用我們的自由軟體。這是在一個世界上,儘管在某些商業領域,你知道,世界上超過一半的網路伺服器都在運行 GNU/Linux,並以 Apache 作為網路伺服器。

提問[聽不清楚] … 你之前說了什麼,Linux?

史托曼:我說 GNU/Linux。

提問:你有說嗎?

史托曼:是的,如果我談論的是核心,我稱之為 Linux。你知道,那就是它的名字。核心是由林納斯·托瓦茲編寫的,我們應該只使用他選擇的名字來稱呼它,以示對作者的尊重。

總之,但在商業領域,大多數使用者還沒有使用它。大多數家庭使用者還沒有使用我們的系統。因此,當他們使用時,我們應該自動獲得 10 倍的志願者和 10 倍的自由軟體業務客戶。這將使我們達到那個數量級。所以在這一點上,我非常有信心我們可以完成這項工作。

而且,這很重要,因為微軟要求我們感到絕望。他們說,你擁有軟體可以運行的唯一方法,你擁有創新的唯一方法,就是如果你給予我們權力。讓我們支配你。讓我們控制你可以對你運行的軟體做什麼,以便我們可以從你身上榨取大量資金,並將其中的一部分用於開發軟體,並將剩餘部分作為利潤。

嗯,你不應該永遠感到那麼絕望。你不應該永遠感到如此絕望,以至於放棄你的自由。那是非常危險的。

微軟的另一件事,嗯,不只是微軟,一般來說,不支持自由軟體的人都採用一種價值體系,其中唯一重要的是短期實際利益:我今年要賺多少錢?我今天可以完成什麼工作?短期思考和狹隘思考。他們的假設是,想像有人可能會為了自由而做出犧牲是荒謬的。

昨天,很多人都在發表演講,談論為同胞的自由做出犧牲的美國人。他們中的一些人做出了巨大的犧牲。他們甚至為我們國家每個人都聽說過的自由種類犧牲了自己的生命。(至少,在某些情況下;我想我們必須忽略越戰。)

[編輯註:前一天是美國的「陣亡將士紀念日」。陣亡將士紀念日是紀念戰爭英雄的日子。]

但是,幸運的是,為了維護我們使用軟體的自由,並不需要做出巨大的犧牲。只要一點點小小的犧牲就足夠了,例如學習命令列介面,如果我們還沒有圖形使用者介面程式的話。就像用這種方式完成工作,因為我們還沒有免費軟體套件可以那樣做。又像是,付一些錢給一家公司,讓他們開發某個免費軟體套件,這樣你就可以在幾年後擁有它。我們可以共同做出各種小小的犧牲。而且,從長遠來看,即使是我們自己也會從中受益。你知道,這實際上是一種投資,而不僅僅是犧牲。我們只需要有足夠的長遠眼光來意識到,投資於改善我們的社會對我們是有益的,而不需要斤斤計較誰從這項投資中獲得了多少好處。

所以,在這一點上,我基本上講完了。

我想提到的是,Tony Stanco 提出了一種新的自由軟體商業模式,他稱之為「自由開發者」,這種模式涉及某種商業結構,希望最終將一部分利潤分配給每一位,分配給所有加入該組織的自由軟體作者。他們正在關注在印度獲得一些相當大的政府軟體開發合約的前景,因為他們將使用自由軟體作為基礎,從而節省巨額成本。

所以現在我想我應該徵求問題了。

提問[聽不清楚]

史托曼:可以請你說話大聲一點嗎?我真的聽不太清楚。

提問:像微軟這樣的公司如何納入自由軟體合約?

史托曼:嗯,實際上,微軟正計劃將其大量業務轉移到服務方面。而他們計劃做的是一些骯髒且危險的事情,那就是將服務與程式綁在一起,一個接一個,以一種曲折的方式,你知道嗎?所以為了使用這項服務,你必須使用這個微軟程式,這將意味著你需要使用這項服務,到這個微軟程式,所以它們都被綁在一起了。那是他們的計劃。

現在,有趣的是,銷售這些服務並不會引發自由軟體或非自由軟體的道德問題。他們擁有這些透過網路銷售服務的業務可能是完全沒問題的。然而,微軟計劃做的是利用它們來實現對軟體和服務更大的鎖定,更大的壟斷,而這在《商業週刊》最近的一篇文章中有所描述。而且,其他人說這正在將網路變成微軟的公司城鎮。

而這是有關聯的,因為,你知道,微軟反壟斷審判的初審法院建議拆分微軟公司。但在某種程度上,這毫無意義——將其拆分成作業系統部門和應用程式部門根本沒有任何好處。

但在看到那篇文章後,我現在看到了一種有效且有用的方法,將微軟拆分成服務部門和軟體部門,要求他們僅以公平交易的方式相互往來,服務部門必須公開其介面,以便任何人都可以編寫客戶端來與這些服務對話,而且,我想,他們必須付費才能獲得服務。好吧,這沒關係。那是完全不同的問題。

如果微軟以這種方式 […] 服務和軟體拆分,他們將無法利用他們的軟體來壓制與微軟服務的競爭。他們也將無法利用服務來壓制與微軟軟體的競爭。我們將能夠製作自由軟體,也許你們會使用它來與微軟服務對話,我們不會介意。

因為,畢竟,雖然微軟是奴役最多人的專有軟體公司——其他公司奴役的人較少,但並不是因為他們不想這樣做。[笑聲] 他們只是沒有成功奴役那麼多人。所以,問題不在於微軟,也不僅僅在於微軟。微軟只是我們試圖解決的問題的最大例子,這個問題就是專有軟體奪走了使用者合作和形成道德社會的自由。所以我們不應該過於關注微軟,你知道,即使他們確實給了我這個平台。這並不代表他們至關重要。他們並不是一切的全部和終點。

提問:稍早,您討論了開放原始碼軟體和自由軟體之間的哲學差異。您如何看待目前 GNU/Linux 發行版朝向僅支援 Intel 平台的趨勢?以及似乎越來越少的程式設計師正確地編寫程式,並製作可以在任何地方編譯的軟體?以及製作僅在 Intel 系統上運作的軟體?

史托曼:我認為這其中沒有道德問題。儘管,事實上,電腦公司有時會將 GNU/Linux 系統移植到他們的電腦上。惠普顯然最近做了這件事。而且,他們沒有費心為 Windows 的移植付費,因為那樣會花費太多。但讓 GNU/Linux 獲得支援,我想,只需要五位工程師花幾個月的時間。這很容易做到。

現在,當然,我鼓勵人們使用 autoconf,這是一個 GNU 套件,可以更輕鬆地使你的程式具有可移植性。我鼓勵他們這樣做。或者當其他人修復了在系統的那個版本上無法編譯的錯誤,並將其發送給你時,你應該將其放入。但我不認為這是一個道德問題。

提問:兩個評論。一是:最近,您在麻省理工學院發表演講。我讀了演講稿。有人問到專利,您說「專利是完全不同的問題。我對此沒有評論。」

史托曼:是的。實際上,我有很多關於專利要說的,但那需要一個小時。[笑聲]

提問:我想說的是:在我看來,這裡存在一個問題。我的意思是,公司將專利和著作權都稱為硬財產之類的東西是有原因的,他們試圖建立這種概念,也就是說,如果他們想利用國家權力為自己創造壟斷的途徑。因此,這些東西的共同點並不是它們圍繞著相同的問題,而是它們的動機並非真正的公共服務問題,而是公司為了自身私利而獲得壟斷的動機。

史托曼:我明白了。但是,嗯,我想回應一下,因為時間不多了。所以我想回應一下。

你說的他們想要的是對的。但他們想要使用「智慧財產權」這個詞還有另一個原因。那是因為他們不想鼓勵人們仔細思考著作權問題或專利問題。因為著作權法和專利法是完全不同的,而軟體著作權和軟體專利的影響也是完全不同的。

軟體專利是對程式設計師的限制,禁止他們編寫某些種類的程式,而著作權則不會這樣做。對於著作權,至少如果你是自己編寫的,你就可以發布它。因此,將這些問題分開是非常重要的。

它們在非常低的層次上有一些共同點,而其他一切都不同。所以,請為了鼓勵清晰的思考,討論著作權或討論專利。但不要討論智慧財產權。我對智慧財產權沒有意見。我對著作權、專利和軟體有意見。

提問:您在開始時提到,像食譜這樣的函數式語言也是電腦程式。它與其他種類的語言有點不同。這也造成了 DVD 案例中的問題。

史托曼:對於非函數式的事物,這些問題部分相似,但部分不同。部分問題可以轉移,但並非全部。不幸的是,那又是另一個小時的演講。我沒有時間深入探討。但我想說的是,所有函數式作品都應該像軟體一樣是自由的。你知道,教科書、手冊、字典和食譜等等。

提問:我只是想知道關於線上音樂。在其中創造的相似性和差異性貫穿始終。

史托曼:是的。我認為,對於任何種類的已出版資訊,我們應該擁有的最低限度的自由是,以非商業方式逐字重新發布它的自由。對於函數式作品,我們需要商業發布修改版本的自由,因為這對社會非常有益。對於非函數式作品,你知道,那些為了娛樂、為了美學或為了陳述某人觀點的東西,你知道,也許它們不應該被修改。而且,也許這意味著,對它們的所有商業發行進行著作權保護是可以接受的。

請記住,根據美國憲法,著作權的目的是為了公眾利益。它是為了修改某些私人當事人的行為,以便他們出版更多的書籍。而這樣做的好處是社會可以討論問題並學習。而且,你知道,我們有文學。我們有科學著作。目的是鼓勵這樣做。著作權的存在不是為了作者的緣故,更不是為了出版商的緣故。它們的存在是為了讀者以及所有那些從人們寫作而其他人閱讀時發生的資訊交流中受益的人。我同意這個目標。

但在電腦網路時代,這種方法不再可行,因為它現在需要嚴苛的法律,侵犯每個人的隱私並恐嚇每個人。你知道,與你的鄰居分享就要被判處多年監禁。在印刷機時代,情況並非如此。當時,著作權是一種工業法規。它限制了出版商。現在,它是出版商強加於公眾的限制。因此,權力關係顛倒了 180 度,即使法律是相同的。

提問:所以你可以擁有相同的東西——但就像從其他音樂中製作音樂一樣?

史托曼:是的。這是一個有趣的……

提問:以及獨特的、新的作品,你知道,它仍然需要大量的合作。

史托曼:是的。我認為這可能需要某種合理使用的概念。當然,製作幾秒鐘的樣本並將其用於製作某些音樂作品,顯然這應該是合理使用。即使是合理使用的標準概念也包括這一點,如果你仔細想想的話。法院是否同意,我不確定,但他們應該同意。那不會對現有的系統造成真正的改變。

提問:您如何看待以專有格式發布公共資訊?

史托曼:哦,那不應該。我的意思是,政府永遠不應該要求公民使用非自由軟體來存取、以任何方式與政府溝通,無論是哪個方向。

提問:我一直是,我現在會說,GNU/Linux 使用者……

史托曼:謝謝你。[笑聲]

提問:……在過去四年裡。對我來說一直有問題,而且我認為對我們所有人來說都是必不可少的一件事,就是瀏覽網路。

史托曼:是的。

提問:使用 GNU/Linux 系統的一個明顯弱點一直是瀏覽網路,因為主要的工具,Netscape…

史托曼:……不是自由軟體。

讓我回應一下這個問題。為了能夠涵蓋更多內容,我想切入重點。所以,是的。人們在他們的 GNU/Linux 系統上使用 Netscape Navigator 已經成為一種可怕的趨勢。而且,事實上,所有商業包裝的系統都帶有它。所以這是一個諷刺的情況:我們努力工作製作一個自由的作業系統,而現在,如果你去商店,你可以找到 GNU/Linux 的版本,它們大多數都被稱為 Linux,而且它們不是自由的。哦,好吧,它們的一部分是自由的。但是,還有 Netscape Navigator,以及可能還有其他非自由軟體。所以,除非你知道自己在做什麼,否則很難真正找到一個自由的系統。或者,當然,你可以不安裝 Netscape Navigator。

現在,事實上,多年來一直有自由的網路瀏覽器。我曾經使用過一款名為 Lynx 的自由網路瀏覽器。它是一款非圖形化的自由網路瀏覽器;它僅限於文字模式。這有一個巨大的優勢,你不會看到廣告。[笑聲] [掌聲]

但無論如何,有一個名為 Mozilla 的自由圖形專案,現在正逐漸發展到你可以使用的程度。我偶爾會使用它。

提問:Konqueror 2.01 已經非常好用了。

史托曼:哦,好的。所以那是另一個自由的圖形瀏覽器。所以,我想我們終於解決了這個問題。

提問:您可以談談自由軟體和開放原始碼之間哲學/倫理上的區別嗎?您是否認為這些是不可調和的?……

[錄音帶切換;問題的結尾和答案的開頭遺失]

史托曼:……到自由和倫理。或者你只是說,好吧,我希望你們公司會認為讓我們被允許做這些事情更有利可圖。

但是,正如我所說,在許多實際工作中,一個人的政治立場真的無關緊要。當有人主動幫助 GNU 專案時,我們不會說:「你必須同意我們的政治立場。」我們說在 GNU 套件中,你必須稱這個系統為 GNU/Linux,而且你必須稱之為自由軟體。當你不是在對 GNU 專案說話時,你說什麼取決於你。

提問:IBM 公司發起了一項針對政府機構的活動,以銷售他們的新型大型主機,他們使用 Linux 作為賣點,並說 Linux。

史托曼:是的,當然,那實際上是 GNU/Linux 系統。[笑聲]

提問:沒錯!好吧,告訴頂級銷售員。他對 GNU 一無所知。

史托曼:我必須告訴誰?

提問:頂級銷售員。

史托曼:哦,是的。問題是他們已經仔細決定了他們想要說什麼,是為了他們自己的優勢。而什麼是更準確、更公平或更正確的描述方式這個問題,並不是像那樣的公司主要關心的問題。現在,對於一些小公司來說,是的,會有老闆。如果老闆傾向於考慮這類事情,他可能會做出那樣的決定。但對於一家大型企業來說則不然。真可惜,你知道嗎。

關於 IBM 正在做的事情,還有另一個更重要、更實質性的問題。他們說他們正在向「Linux」投入十億美元。但也許,我也應該在「投入」周圍加上引號,因為其中一些錢是用來支付人們開發自由軟體的。這確實是對我們社群的貢獻。但其他部分是用來支付人們編寫專有軟體,或將專有軟體移植到 GNU/Linux 之上運行的費用,而這不是對我們社群的貢獻。但 IBM 將所有這些都混為一談。其中一些可能是廣告,即使部分是錯誤的,但也部分是一種貢獻。所以,情況很複雜。他們所做的事情有些是貢獻,有些則不是。有些是某種程度上的貢獻,但又不完全是。你不能只是把它們全部混為一談,然後想,哇!太棒了!IBM 的十億美元。[笑聲] 那是過度簡化。

提問:您可以多談談通用公共許可證背後的想法嗎?

史托曼:嗯,這是——抱歉,我現在正在回答他的問題。[笑聲]

尚伯格:您想為新聞發布會保留一些時間嗎?還是您想繼續在這裡進行?

史托曼:誰是為了新聞發布會來的?沒有很多媒體。哦,三位……好的。我們可以負擔得起,如果我們……如果我繼續回答大家的問題大約十分鐘左右?好的。所以,我們將繼續回答大家的問題。

所以,通用公共許可證背後的想法?其中一部分是我想要保護社群的自由,反對我剛才用 X Windows 描述的現象,這種現象也發生在其他自由程式上。事實上,當我在思考這個問題時,X Windows 尚未發布。但我已經看到這個問題發生在其他自由程式中。例如,TeX。我想確保使用者都擁有自由。否則,我意識到我可能會編寫一個程式,也許很多人會使用這個程式,但他們不會擁有自由。那樣有什麼意義呢?

但我正在思考的另一個問題是,我想給社群一種感覺,它不是一塊門墊,一種感覺,它不是任何會遊蕩過來的寄生蟲的獵物。如果你不使用著作權利保留,你基本上是在說:[語氣溫順地] 「拿走我的程式碼。想做什麼就做什麼。我不會說不。」所以,任何人都可以走過來說:[語氣非常堅定地] 「啊,我想製作這個的非自由版本。我就拿走它。」然後,當然,他們可能會做一些改進,那些非自由版本可能會吸引使用者,並取代自由版本。然後,你完成了什麼?你只是向某個專有軟體專案捐贈了一筆款項。

當人們看到這種情況正在發生時,當人們看到,其他人拿走我做的東西,而他們從不回饋時,這可能會讓人感到沮喪。而且,這不僅僅是猜測。我已經看到這種情況發生了。這也是導致我所屬的 70 年代舊社群瓦解的部分原因。有些人開始變得不合作。我們認為他們因此而獲利。他們當然表現得好像他們認為自己正在獲利。我們意識到他們可以停止合作而不回饋。我們對此無能為力。這非常令人沮喪。我們這些不喜歡這種趨勢的人,甚至進行了討論,但我們想不出任何可以阻止它的方法。

所以,GPL 的設計目的是阻止這種情況。它說,是的,歡迎你加入社群並使用這個程式碼。你可以使用它來完成各種工作。但是,如果你發布修改後的版本,你必須將其發布給我們的社群,作為我們社群的一部分,作為自由世界的一部分。

所以,事實上,人們仍然有很多方法可以從我們的工作中獲益而不做出貢獻,例如你不必編寫任何軟體。很多人使用 GNU/Linux 而不編寫任何軟體。沒有要求你必須為我們做任何事情。但是,如果你做了某種事情,你必須為它做出貢獻。所以這意味著我們的社群不是一塊門墊。而且我認為這幫助人們獲得了力量,感覺到,是的,我們不會被所有人踐踏在腳下。我們會挺身而出。

提問:是的,我的問題是,考慮到自由但不具著作權利保留的軟體,既然任何人都可以拿走它並使其成為專有的,那麼是否也有可能有人拿走它並進行一些更改,然後以 GPL 發布整個東西?

史托曼:是的,有可能。

提問:那麼,這將使所有未來的副本都受到 GPL 的約束。

史托曼:從那個分支開始。但這就是我們不這樣做的原因。

提問:嗯?

史托曼:這就是我們通常不這樣做的原因。讓我解釋一下。

提問:好的,是的。

史托曼:如果我們想,我們可以拿走 X Windows,並製作一個受 GPL 保護的副本,並在其中進行更改。但是有更大一群人正在努力改進 X Windows,但沒有使用 GPL。所以,如果我們這樣做,我們將會與他們分叉。而且那樣對待他們不是很友善。而且,他們我們社群的一部分,正在為我們的社群做出貢獻。

其次,這會對我們產生反作用,因為他們在 X 上所做的工作比我們多得多。所以,我們的版本會比他們的版本差,人們不會使用它,這意味著,何必費這個力氣呢?

提問:嗯,嗯。

史托曼:所以當有人對 X Windows 進行了一些改進時,我建議這個人應該做的是與 X 開發團隊合作。將其發送給他們,讓他們以他們的方式使用它。因為他們正在開發一個非常重要的自由軟體。與他們合作對我們有益。

提問:除了,特別是考慮到 X,大約兩年前,X 聯盟遠遠地進入了非自由開放原始碼……

史托曼:嗯,實際上它不是開放原始碼的。它也不是開放原始碼的。他們可能說過是。我不記得他們是否說過了。但它不是開放原始碼的。它是受限制的。我想你不能商業發行,或者你不能商業發行修改後的版本,或類似的東西。存在一個自由軟體運動和開放原始碼運動都認為不可接受的限制。

是的,這就是使用非著作權利保留許可證讓你容易遭受的。事實上,X 聯盟,他們有一個非常僵化的政策。他們說:如果你的程式即使只有一點點著作權利保留,我們也根本不會發行它。我們不會將其放入我們的發行版中。

所以,很多人以這種方式受到壓力,不使用著作權利保留。結果是他們的所有軟體後來都被完全開放了。當那些曾迫使開發人員過於寬容的人,後來 X 的人說,好吧,現在我們可以施加限制了,這對他們來說不是很合乎道德。

但是,鑑於這種情況,我們真的想耗盡資源來維護一個替代的受 GPL 保護的 X 版本嗎?這樣做沒有任何意義。我們還有很多其他事情需要做。讓我們轉而做那些事情。我們可以與 X 開發人員合作。

提問:您對 GNU 是否為商標有什麼看法?將其作為 GNU 通用公共許可證的一部分允許商標是否實際?

史托曼:我們實際上正在申請 GNU 的商標註冊。但它實際上與那沒有任何關係。要解釋原因,這是一個很長的故事。

提問:您可以要求商標與受 GPL 保護的程式一起顯示。

史托曼:不,我不這麼認為。許可證涵蓋個別程式。當給定的程式是 GNU 專案的一部分時,沒有人會對此撒謊。整個系統的名稱是一個不同的問題。這是一個題外話。不值得進一步討論。

提問:如果有一個按鈕,你可以按下它並強迫所有公司釋出他們的軟體,你會按下它嗎?

史托曼:嗯,我只會將其用於已發布的軟體。你知道,我認為人們有權私下編寫程式並使用它。這包括公司。這是隱私問題。而且確實,有時這樣做可能是錯誤的,例如,如果它對人類非常有幫助,而你卻對人類隱瞞它。那是一種錯誤,但那是一種不同種類的錯誤。這是一個不同的問題,雖然它在同一個領域。

但是,是的,我認為所有已發布的軟體都應該是自由軟體。請記住,當它不是自由軟體時,那是因為政府的干預。政府正在干預使其成為非自由軟體。政府正在創造特殊的法律權力,並將其交給程式的所有者,以便他們可以讓警察阻止我們以某些方式使用程式。所以我當然希望結束這種狀況。

尚伯格:理查德的演講總是能激發大量的智慧能量。我建議其中一些應該用於使用,並可能編寫自由軟體。

我們應該很快結束會議。我想說的是,理查德為一個在公眾眼中以其極端非政治性的書呆子氣而聞名的行業注入了政治和道德討論的層次,我認為這在我們的行業中是前所未有的。我們非常感謝他。我想提醒大家,現在是休息時間。

[掌聲]

史托曼:你知道,你們隨時可以自由離開。[笑聲] 我沒有把你們囚禁在這裡。

[聽眾休會…]

[重疊的對話…]

史托曼:最後一件事。我們的網站:www.gnu.org