本頁的 翻譯文本

為何開放源碼模糊了自由軟體的焦點

理查‧史托曼

 [image of a Philosophical Gnu]

當我們稱軟體為「自由」的,我們是指它確保使用者最基本的自由:使用、 研究並改寫、重新散佈該軟體的原版或改寫版的自由。這是關於自由而不是價格,這是指「言論自由」而不是「免費的啤酒」。

這些自由是極其重要的。它們是最基本的,不僅是為了個別使用者的權益,也因為它們促進了社會團結 -- 也就是分享與合作。隨著我們的文化和生活 行為愈來愈數位化,它們甚至變得更為重要。在一個數位音訊、影像和文字的世界裡,自由軟體愈來愈等同於一般的自由。

全世界有幾千萬人正在使用自由軟體;印度和西班牙地區的學校正在教導所有學生使用自由的GNU/Linux 作業系統。但是大多數的這些使用者從未聽聞,我們為何開發這套系統並建立自由軟體社群的道德理念,因為現今這套系統 和社群較常被描述為「開放源碼」的,並歸類到另一種幾乎不會提及這些自由的哲學。

自 1983 年開始,我們就為了電腦使用者的自由而發起自由軟體運動。在 1984 年我們投入開發自由作業系統 GNU,因此我們得以免用那些拒絕給予 使用者自由的非自由作業系統。在 80 年代期間,我們開發了這套系統大部份的基本元件,以及GNU 一般公眾授權條款,這是一個特別為了保障所有程式使用者而設計的授權條款。

然而,並非所有自由軟體的使用者和開發者都認同自由軟體運動的宗旨。在 1998 年,部分的自由軟體社群分裂出來,並開始發起名為「開放源碼」的 運動。這個字原先是為了避免對「自由軟體」可能的誤解,但它很快地讓人聯想到那些與自由軟體運動非常不同的哲學觀。

某些「開放源碼」的擁護者將它視為一種「自由軟體行銷活動」,藉由彰顯實際利益來對生意經營者作訴求,以避免他們或許不想聽到的是非對錯。其 他擁護者斷然地否定了自由軟體運動的道德與社會價值。無論哪個觀點,在推動「開放源碼」的過程中,他們不願彰顯或提倡那些價值。「開放源碼」這個 字很快地讓人聯想到只彰顯實際利益的實務,例如製造出強大且可靠的軟體。大部分的「開放源碼」支持者從那時起就得出這種結論,而現實才是他們真正 想表達的。

幾乎所有的開放源碼軟體都是自由軟體;這兩個字所描述的幾乎是同一類型的軟體。但在基本層面上,它們代表著不同的價值觀。開放源碼是一種開發 的方法論;自由軟體是一種社會運動。對於自由軟體運動來說,自由軟體是一種道德上的必然,因為唯有自由軟體才能確保使用者的自由。相反的,開放源 碼的哲學著眼於如何讓軟體「更好」的議題 -- 僅止於現實上的意義。它宣稱非自由軟體是一個次佳的方案。然而,對於自由軟體運動來說,非自由軟體 是一個社會問題,而改用自由軟體才是解決之道。

自由軟體。開放源碼。如果是同一個軟體,您用哪個名稱有這麼重要嗎?是的,因為不同的字會傳達不同的概念。現今一個自由程式即使不以自由為名 也能給您同樣的自由,但若要能長久地確立自由有賴於全心投入地教導人們要重視自由。如果您想要幫忙,宣揚「自由軟體」是最基本的。

參與自由軟體運動的我們,並不會將開放源碼陣營視為敵人;私有軟體才是敵人。但我們希望人們能明白我們擁護自由,因此我們無法接受被誤認為開 放源碼的支持者。

關於「自由軟體」和「開放源碼」常見的誤解

「自由軟體」這個字有個容易混淆的問題:這一個歧義:「您可以免費取得的軟體」跟原義:「能給予使用者某些自由的軟體」在這個字上恰好都能解 釋的通。我們藉著發佈自由軟體的定義並說明「這是指言論自由,而不是免費的啤酒」來釐清這個問題,這不是個完美的解決之道;它不能完全地排除這個 問題。如果能有個清楚的、正確又不會引起其他問題的字當然會更好。

很不幸地,所有能替代的英語字彙本身都有問題。我們已經考慮過許多人建議的字,但沒有一個能一言以蔽之。每個考慮過用以替代「自由軟體」的字 都有某種語義上的問題 -- 而這也包括了「開放源碼軟體」。

「開放源碼軟體」的官方定義(由開放源碼組織所發表,文章太長不便在此引 述)是間接地從我們的自由軟體判準衍生而來的。它並不一樣;在某些方面它較為鬆散,因此開放源碼支持者已接納的一些授權條款,帶給使用者的限制我 們認為是無法接受的。但是,它非常接近我們那些定義的實踐。

然而,「開放源碼軟體」字面上的意義是「您可以查看源碼」,而大多數人似乎認為這正是它要表達的。那是個比自由軟體更加薄弱的判準,也比開放 源碼的官方定義更不完備。它納進了許多既非自由又非開放源碼的程式。

「開放源碼」字面上的意義既非它想提倡的,結果造成了大多數人誤解這個字。這裡有個作家 Neal Stephenson 對「開放源碼」所下的定義:

Linux 是「開放源碼」軟體,這表示,簡單地說,任何人都能取得它的源碼檔案。

我不認為他慎重地思索過否定或質疑「官方」定義。我認為他只是單純地望文生義。堪薩斯州政府發表的聲明中也有類似的定義:

利用開放源碼軟體(OSS)。它是源碼可以自由地讓公眾取用的軟體,但是一個人可以怎樣使用程式碼,則因特定的授權條款而有所不 同。

開放源碼的人馬試著藉由表明他們的官方定義來處理這件事,但對他們來說,那個正名的方法比我們的更沒效率。「自由軟體」這個字有兩個本意,其 中一個是我們想要表達的原義,因此當一個人領會「言論自由而不是免費的啤酒」概念後,他不會再搞錯了。但是「開放源碼」只有一個本意,跟它的支持 者想表達的意義並不相同。因此沒有一個簡潔的方法能解釋與辨別「開放源碼」的官方定義。這造成了更嚴重的混淆。

不同的價值觀能得出相似的結論...但並非絕對

60 年代的激進派讓人對黨派之爭有這樣的一個認知:某些組織分裂起因於對某些政策細節的意見分歧,儘管有著相似的基本宗旨和價值觀,兩個陣營 仍然視對方為仇敵。右派在這事上面處心積慮地批評整個左派。

某些人試著把我們與開放源碼爭論的事,和那些激進派的爭論作比較,用以詆毀自由軟體運動。他們這是自討沒趣。我們在基本宗旨和價值觀上無法認 同開放源碼陣營,但是他們的觀點和我們的在許多情況下都得出相同的實際作為 -- 例如開發自由軟體。

結果,自由軟體運動和開放源碼陣營的人們常常是為了實際的專案,例如軟體開發,而一起工作。這是值得注意的,這樣分歧的哲學觀竟往往能鼓舞不 同的人們參與相同的專案。但是,這些觀點是那麼不同,也有它們得出非常不同的行動的情況發生。

開放源碼的觀念是允許使用者改寫並重新散佈軟體會讓它更強大且可靠。但這是無法擔保的。私有軟體的開發者並非都是泛泛之輩。有時他們也會製造 出強大且可靠的程式,儘管它不能確保使用者的自由。自由軟體行動派和開放源碼狂熱者會對這事有怎樣的反應呢?

一個純粹的開放源碼狂熱者,一個對自由軟體的理想完全不為所動的人,會說:「我很訝異你們不靠我們的開發模式就能讓程式運行得這麼好,但你 們辦到了。我要怎樣才能取得這個軟體呢?」這種姿態會捧高那些奪走我們自由的詭計,並讓我們失去自由。

自由軟體行動派會說:「你們的程式是很吸引人,但還不至於讓我出賣自由。因此就算沒有它也行。我還要支持一個專案來開發自由的替代方案。」 如果我們重視我們的自由,我們就能為了維護及捍衛它而付諸行動。

強大且可靠的軟體或許是不好的

我們想讓軟體變得強大且可靠的前提是軟體是為了服務它的使用者。如果它強大且可靠,它就能更好地服務他們。

但是軟體只有在確保自由時才能稱作是服務它的使用者。要是軟體是設計來為它的使用者銬上枷鎖的呢?可靠度只意味著這枷鎖更難解開了。

在電影和唱片公司的壓榨下,給個人使用的軟體愈來愈是特別設計來限制他們的。這個惡意的特色就是所謂的 DRM,或說數位限制管理(Digital Restrictions Management)(請參考 DefectiveByDesign.org),而且它和自由軟體想 要提供的自由精神是對立的。不只是精神上的:既然 DRM 的目的是踐踏您的自由,DRM 的開發者試著讓您難以、不可能改寫履行 DRM 的軟體,或甚至說這是非法的。

而某些開放源碼支持者提議「開放源碼 DRM」軟體。他們的想法是發佈那些設計為限制您存取加密媒體的程式源碼,他們會為了限制像您這樣的使用 者而製造出更強大且可靠的軟體。然後,到您手上的將會是不允許您改寫的裝置。

這軟體或許是「開放源碼」並且使用開放源碼的開發模式;既然它不能確保使用者的自由,它不會是自由軟體。如果開放源碼的開發模式成功地讓這 軟體變得更強大且可靠來限制您,那將會讓它變得更糟。

畏懼自由

使用「開放源碼軟體」這個字一開始的動機是「自由軟體」的道德觀念讓某些人很不自在。沒錯:談論自由、道德議題、責任和便利性是在要求人們 思考他們或許想忽略的事情,例如他們的行為是否合乎道德。這可能會讓人不舒服,而某些人或許會乾脆不去想它。但不能因此就說我們應該停止談論這 些事情。

然而,這正是「開放源碼」的高層決定作的事。他們打算對道德和自由保持緘默,而只談論某個自由軟體短程的實際利益,他們或許就能更有效率地 「販售」這軟體給特定的使用者,尤其是商人。

這個方法就它本身來說已被證實是有效率的。開放源碼的巧語已經說服許多商人和個人用戶來使用,甚至開發自由軟體,這也擴展了我們的社群 -- 但是僅止於膚淺又現實的層級上。開放源碼的哲學,就它純粹的現實價值來說,妨礙了對自由軟體更進一步的了解;它將許多人帶進了我們的社群,卻沒 有教導他們要捍衛它。目前為止看來,這是好的,但仍不足以讓自由無後顧之憂。吸引使用者來用自由軟體,只是讓他們成為自身自由的捍衛者路途上的一部份而已。

遲早這些使用者會為了某個現實利益而受煽動重回私有軟體。無數的公司都試著釋出這樣的誘惑,有些甚至免費提供軟體。使用者為何要拒絕呢?唯 有他們已經學會重視自由軟體給予他們的自由,重視自由更甚於某個自由軟體科技和現實的便利性。為了宣揚這個想法,我們必須談論自由。一些對商人 「保持緘默」的方法或許對社群來說是有用的,但它也是個危機,一旦它變得普及反倒讓熱愛自由變得像是個怪癖。

這種危機正是我們所面臨的。大多數參與自由軟體的人很少談到自由 -- 通常是因為他們試著「更為商人所接納」。軟體散佈者尤其作了表率。幾乎 所有的 GNU/Linux 作業系統發行版在基本的自由系統上添加了私有套件,然後他們煽動使用者將這想作是一個好處而不是自由開了倒車。

私有的附加軟體和部份非自由的 GNU/Linux 發行版找到了溫床,因為大多數我們的社群不會堅持軟體的自由。這並非巧合。大多數 GNU/Linux 使 用者藉由不會提及自由是個目標的「開放源碼」被引進了這套系統。不鼓勵自由的現實和不談論自由的用語從一個手中傳到另一個手中,一人宣揚到另一 個人。為了扭轉這個趨勢,我們需要更多地,不是更少地,談論自由。

結語

當開放源碼的主張將新使用者引進我們的社群,我們自由軟體行動派必須更努力地讓那些新的使用者注意到自由的議題。我們必須這樣說:「這是自 由軟體而它給予您自由!」 -- 比往常更加地頻繁且響亮。每當您說「自由軟體」而不是「開放源碼」,您幫助了我們的運動。

註腳

Joe Barr 寫了一篇文章名為 (自己)要活,也要讓授權條款活 來表達他對這個議題的看法。

Lakhani 和 Wolf 研究自由軟體開發者動機的論文 指出,為數眾 多的人都是受到軟體應該是自由的觀點鼓舞。儘管實際上他們是對 SourceForge 上的開發者作取樣,那是個不認為這是道德議題的站台。


本頁的 翻譯文本