自由軟體社群的二十年後

雖然獲得巨大的成功,但仍不夠完整,接下來呢?

二十年前的今天,1984 年 1 月 5 日,我辭去在麻省理工學院的工作,開始開發自由軟體作業系統 GNU。雖然我們從未發布適用於生產環境的完整 GNU 系統,但 GNU 系統的一個變種現在被數千萬人使用,他們大多沒有意識到它是 GNU 系統的變種。自由軟體並非「免費」;它意味著使用者可以自由地執行程式、研究原始碼、修改程式,以及無論是否修改、無論免費或付費地重新發布程式。

我的希望是一個自由的作業系統將開闢一條永遠擺脫專有軟體的奴役系統的道路。我曾體驗過非自由軟體強加於使用者的醜陋生活方式,我決心擺脫它,並給予其他人擺脫的方法。

非自由軟體帶有一種反社會的系統,禁止合作與社群。您通常無法看到原始碼;您無法得知它可能包含哪些惡意的伎倆,或哪些愚蠢的錯誤。如果您不喜歡它,您也無能為力去改變它。最糟糕的是,您被禁止與任何人分享它。禁止分享軟體就是切斷社會的連結。

今天我們有一個龐大的使用者社群,他們運行 GNU、Linux 和其他自由軟體。成千上萬的人想要擴展這一點,並採用了說服更多電腦使用者「使用自由軟體」的目標。但「使用自由軟體」是什麼意思?那是指擺脫專有軟體,還是僅僅在它旁邊安裝自由軟體程式?我們的目標是引導人們走向自由,還是僅僅向他們介紹我們的程式碼?換句話說,我們是為了自由而努力,還是已經用膚淺的追求普及取代了這個目標?

很容易習慣忽略這種區別,因為在許多常見情況下,這沒有任何區別。當您試圖說服一個人嘗試一個自由軟體程式,或安裝 GNU/Linux 作業系統時,無論哪個目標都會導致相同的實際行為。然而,在其他情況下,這兩個目標會激發非常不同的行動。

例如,當非自由的 Invidious 視訊驅動程式、非自由的 Prophecy 資料庫,或非自由的 Indonesia 語言直譯器和函式庫,發布了一個可以在 GNU/Linux 上運行的版本時,我們應該說些什麼?我們應該感謝開發人員對我們系統的這種「支持」,還是應該像看待其他任何非自由軟體程式一樣看待這個非自由軟體程式——把它看作是一種誘人的麻煩、接受束縛的誘惑、一個需要解決的問題?

如果您以提高某些自由軟體的普及度為目標,如果您尋求說服更多人有時使用一些自由軟體程式,您可能會認為那些非自由軟體程式對這個目標是有幫助的貢獻。很難反駁它們的可用性有助於使 GNU/Linux 更普及的說法。如果 GNU 或 Linux 的廣泛使用是我們社群的最終目標,我們應該從邏輯上讚賞所有在其上運行的應用程式,無論是否自由軟體。

但如果我們的目標是自由,那一切都改變了。使用者在使用非自由軟體程式時不可能獲得自由。為了解放網路空間的公民,我們必須替換掉那些非自由軟體程式,而不是接受它們。它們不是對我們社群的貢獻,它們是讓人們安於繼續不自由的誘惑。

開發自由軟體程式有兩種常見的動機。一種是因為沒有程式可以完成這項工作。不幸的是,接受使用非自由軟體程式會消除這種動機。另一種是追求自由的意願,這促使人們編寫自由軟體來取代非自由軟體程式。在這種情況下,這種動機是唯一可以完成工作的動機。僅僅通過使用一個新的、未完成的自由軟體替代品,即使它在技術上還不如非自由軟體模型,您也可以幫助鼓勵自由軟體開發人員堅持不懈,直到它變得更優秀。

那些非自由軟體程式並非微不足道。開發自由軟體來取代它們將是一項大工程;可能需要數年時間。這項工作可能需要未來駭客的幫助,今天的年輕人,以及尚未受到啟發加入自由軟體工作的人們。今天我們能做些什麼來幫助說服其他人,在未來,保持必要的決心和毅力來完成這項工作?

加強我們社群未來發展最有效的方法是傳播對自由價值的理解——教導更多人認識到非自由軟體的道德不可接受性。長期來看,珍視自由的人們是對自由最好的、也是最根本的捍衛者。