Is free software, such as GNU/Linux, a kind of communism?
自由軟體(開源軟體)要求程式碼開放,並且允許他人自由使用,修改與再發布,很容易讓人聯想到共產主義,這是從1980年代自由軟體運動發展起來就常常被人質疑的議題。論自由軟體的代表傑作,便是全世界開發者齊心協力所開發出來的作業系統大家族:GNU/Linux,不分貴賤都可以貢獻程式碼,整個系統核心開放原始碼,為大眾所擁有。那麼這樣發展出來的自由軟體算不算一種共產主義?
按:自由軟體(free software)運動會嚴格將自身的態度與開放原始碼(open source,開源)運動區隔開來,因其理念上有些微差距,並且他們會指責另一方搞錯了重點。不過本文姑且將他們視為同一個概念,即自由軟體就包含了開源軟體的理念。
1. 從理論下去推導#
如果要說自由軟體運動是否為共產主義,最粗淺的指標便是看生產資料(means of production)是否為公有制。在軟體開發,通常指的就是程式碼。資訊時代,程式碼的複製幾乎無成本,如果不計開發成本,軟體的生產力即大為提高。
RMS提出的軟體四大自由也跟共產主義的理念有些許相似之處,但就是這些文字最容易讓人誤解。
自由之零:為了任何目的執行程式的自由。
自由之一:研究程式如何運作的自由,並且將程式修改符合本身需求。程式碼的近用是實現這個自由的先決條件。
自由之二:再次散布程式的自由,以幫助你的鄰居。
自由之三:改進程式的自由,並將這些改進回饋給社群,讓整個社群均可以因此而受益。程式碼的近用是實現這個自由的先決條件。
以上的四大自由理念,也體現在RMS等人所撰寫的GPL授權條款之中。
如果仔細考慮這些文字,就會觀察到自由軟體與共產主義不相容之處。首先自由軟體不反對私有產權,GPL條款強調的是自由使用程式碼的權利,但作者依然享有一部分權利,並不是軟體程式碼放出來就成為了可以無限制利用的資源了。GPL並不等於CC0的概念。相反,所有使用者應當遵循自由軟體的授權條款,在保障使用者擁有自由的情況下使用軟體以及程式碼。
再者,程式碼雖然是公開的,但沒有任何人可以用任何手段強迫壟斷程式碼,或是阻止他人查看變更後的內容,而是應當維持自由共享的模式去使用軟體。儘管GPL有病毒式感染的特性,意即軟體使用GPL授權的零件就必然導致其他部份也得被迫跟著開源,但使用者完全可以選擇不要使用GPL授權,改以LGPL等較為寬鬆的作法迴避此問題。
所以說,自由軟體與共產主義有一點點交集,但卻不是同一回事。
2. RMS的回應#
這問題還是要由自由軟體運動的創始人,理查·史托曼(RMS)自己回答最為恰當。
關於自由軟體運動是不是共產主義,RMS在1992年的文章軟體為什麼應該是自由的明確反駁共產主義一說,自由軟體運用的是公共財的概念。他認為馬克思不會發明東西去幫助鄰居。還有,自由軟體運動不強迫他人加入,不壟斷軟體。套用共產主義的概念,即RMS反對壟斷生產資料,他並指責蘇聯這種作法可以說就是一種惡的象徵。
從這裡可以做出判斷,至少RMS本人不是以共產主義為出發點去推行自由軟體運動的。將RMS的觀點極端化的人,就會陷入共產主義與資本主義二元對立的敘事當中。
另外,2001年RMS與Louis Suarez-Potts的訪談的時候並沒有正面回答,而是說「攻擊共產主義要比攻擊自由軟體運動容易得多」,他認為這種比喻是在立稻草人,利用美國民眾對共產主義的刻板印象來攻擊一項事物,使論述直接無力化。
考慮到現今美國社會對民主黨的攻擊,也很容易得到這種結論,就是群眾恐共心裡實在太嚴重了,以至於任何一點社會主義改革都會被說是共產黨陰謀。共和黨與另類右翼總是重複著類似的話語,卻從不去思考背後的根本問題,只知道呼口號,說反對者都是woke,形成一種民粹政治。
順帶一提,從RMS 2024年在個人官網發表的一系列政治評論看來,他在2024年美國總統大選呼籲大家投給民主黨候選人。
3. 其他意見#
Microsoft前執行長史蒂芬·巴爾默說過,Linux就是共產主義,見MS’ Ballmer: Linux is communism。應該是出於商業競爭的批評,而非以政治意識形態下去討論,畢竟自由軟體基金會曾經掀起一波又一波反Windows的社會運動,然後又有企業級的Linux出現,作為Windows的有力競爭對手。現在20年過去了,Microsoft開始擁抱Linux技術了,搞出WSL並與Canonical合作,將Ubuntu整合進來,不再完全排斥Linux系統。但依然有人質疑,他們只是想要藉此吞併Linux達成商業目的。
知乎文章 共产主义=开源?开源软件的开发模式揭示了社会主义的生产组织方式的作者認為自由軟體運動就是促進共產主義的方法。但他批判自由軟體運動缺乏列寧式的政治領導意識,且沒有集中領導提昇生產力,使得運動駐定會失敗……按照作者的想法,我們應該組織無產階級先鋒隊,砸爛一切Apple與Microsoft專賣店裡面的產品嗎?
Reddit文章 The failure of the free software movement則認為自由軟體運動失敗了,他稱自由軟體運動為「布爾喬亞式的烏托邦幻想」,因為軟體都由個人駭客開發,沒有科學化的集中管理,生產力低落。且個人電腦的普及,也是資產階級在玩的東西,不集中管理的話會造成生產上的浪費。
編程隨想則是用更激進的方式反駁人們對自由軟體的誤解。他在 澄清“自由软件、开源软件”相关概念及许可证的误解 一文中引用了海耶克的觀點,即共產主義就是自由的終結。
順帶補充一點,自由軟體由許多駭客分頭開發,共同組成的社群生態,倒比較像安那其主義。這篇Software and Anarchy的論文能闡述這一點。如果套用到當今「Web 3」掀起的去中心化潮流,這確實促進了安那其主義的發展,這個新興概念叫做「資訊無政府主義」。這肯定是追求政府集中權力的共產黨人所不樂見的。如果軟體被迫公有,且只有這一種選擇,那肯定不是自由軟體運動所追求的目標,也會反過來成為壓迫所有人的新興力量。
因此能夠做出結論,自由軟體的政治性質沒有那麼強烈,只能算是一種思潮,展現了互助互惠的人文價值。然後因為資訊世代的網路發展,使得每個人都能夠輕易參與這個活動。但他們很難發起革命(儘管自由軟體運動的相關組織GNU有「革奴」的意味所在),煽動性太低。
就其本質上來說,依然是在資本主義社會中玩的一種體系,改進現有的制度,並非追求徹底的社會變革。
4. 共產國家是敵人,因此自由軟體不應該被推廣?#
這是從很現實面的角度去談自由軟體帶來的壞處。就算自由軟體不是共產主義,但是程式碼會被共產主義或極權國家偷走,變成危害西方社會的武器。
我們知道,自由軟體定會損及一些企業的利益,它讓軟體不再是綁住用戶的手段,也因此公司乃至程式設計師的收入會減少。追求利潤最大化的公司不可能輕易選擇自由軟體之路,要像Redhat一樣成功的案例實在太困難了。
往大的方面講,在意識型態方面站隊美國的人會認為,將程式技術開源是在暗中幫助敵對國家。以語言模型的例子來說,雖是開源,但是很容易讓人偷走了社群的成果,所以才會有投機取巧的DeepSeek出現。或許開源的新技術能促進AI民主化,讓語言模型不再只是有錢人遊戲,但卻有人基於國際競爭的意識形態,敵性的認為這種行為是在給獨裁國家提供柴火。因此自由軟體不該被推廣。
話不能這麼說。
不能否認自由軟體的效果會被獨裁國家偷去當成自己的,重新包裝一下就宣稱自主研發。且因為集體領導的機制反倒讓自由軟體被大量使用,誤打誤撞成就一樁好事。但是我也要說,他們的動機其心可議。中國、俄國、北韓大量使用自由軟體的研發成果,他們背後的動機在於自主化電腦技術,不受西方國家控制。那麼他們真的是為了推廣自由軟體的理念而使用自由軟體嗎?由國家控制的企業相繼成立所謂開源文化基金會,真的有想要守護自由的意味存在嗎?還是說,只是面子工程。等到自家技術不再落後西方國家就把技術給閉源,這些虛假的自由也會跟著煙消雲散?這種從出發動機就帶有不同動機的行為,並不能真正呼應自由軟體的宗旨。
有些人在向公家機關推廣自由軟體的時候也用省錢的說法來吸引人投入,不過這種方式終究鬥不過資本主義的競爭手段。自由軟體能省下一筆錢,但閉源軟體公司就用更多優惠回報籠絡你,怎麼解?為此,更加重要的宣傳自由的本質乃是重要的。意識形態要根本改變,就不能全以功利的角度看待自由軟體。
由於台灣人常常被隔壁的搞修正主義的中國共產黨(什麼中國特色社會主義的假共產主義)欺壓,因此對共產主義抱有不好的刻板印象,光是聽到這幾個字就會起雞皮疙瘩。當人們談及自由軟體的時候,便會不自覺的想起共產主義,想到歷史上共產主義那些錯誤執行者造成的大屠殺,從中產生厭惡感。再因著是用閉源軟體的慣性,不願意接受自由軟體的變革。這是需要值得改進的觀點,至少他們得先把自身從政治意識中抽離出來,了解到追求軟體的自由,並非是著了共產主義的道。
所以要知道一件事情,即共產主義與自由軟體雖然有交集之處,可是他們畢竟是不同理念。試圖將二者連結在一起就是模糊焦點的行為,支持其中一個並不會自動承認另一個理念的存在。並且,自由軟體的成果被共產國家偷走是以結果論來論斷,並不能否定掉自由軟體運動本身的動機。
自由軟體本身是要推廣自由理念,政治動機乃是其次。於是下次再聽到有人說自由軟體運動是搞共產主義,是在危害社會的時候,你只需要微笑的盯著他,說:
「嗯,你說的都對。」