浅谈自由软件运动与共产主义

Note

2025/11/17:上 Computer Architecture and Operating Systems 课程时听到老师提起 Richard Stallman,想起来之前看到的文章,因此更新一下。


作为一个真的来自大陆北方的网友,想到 自由软件运动开源软件运动 与共产主义之间的关系似乎是一件相当自然而然的事,但是这几种理念各自本身究竟各自代表什么,各有怎样的出发点和现实效果,我一直没有深入思考过;即使愿意探讨,也常常觉得缺乏切口,因为一面是技术领域的还在不断变更的潮流,一面是源流深远且每个脉络都已经可以分支成学科的主义,而我对他们的想法和理解都更多来自于感知而非理论。

不过一个大约的、基础的感想是,Open-source software movement 听名字感觉像是一个有点“左”的运动,实际上核心却是注重协作方式和效率,而几乎是刻意地不强调潜在的政治性或者道德性,Free software movement 更多给人以一种 moral duty 的感觉,但是其 political 程度又不足以和 communism 有太多联系,或者因为根本就来自不同的出发点和目的,只是/但是在形式上(甚至情感上)给参与者分享一种近似的体验。

今天刷到一篇 blog 自由軟體運動算不算是一種共產主義?1,想起来之前的想法,觉得几个概念总结起来很有意思,视角也相对比较全面(尽管难免有其倾向性)。里面也引用了一些值得参考的文章:

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 掀起的去中心化潮流,這確實促進了安那其主義的發展,這個新興概念叫做「資訊無政府主義」。這肯定是追求政府集中權力的共產黨人所不樂見的。如果軟體被迫公有,且只有這一種選擇,那肯定不是自由軟體運動所追求的目標,也會反過來成為壓迫所有人的新興力量。

此外作者也提出了一些很有意思的观点:简单来说,GPL 的“自由”来自于自愿契约,而非国家公有,同时作者保留了一部分的权利,因此在更“法律”的角度讲,“自由”并非源自产权的消解,而是源自著作权人主动以合同的方式限制自身权利的使用方式。

读罢以上难免感慨——正如历史,意识形态与社会运动在话语之间也变成了任人抱养的小男孩。但对我的问题,真正要厘清的,无非是这几个运动、思潮乃至主义之间哪里相似、哪里不同。而回到最初的问题:所以,自由软件运动有政治性吗?其实无论发起人 Stallman 个人的观点如何,一个运动能够引发如引文所述的来自各个立场的种种讨论,本身已经足够证明其政治性与政治性的影响力,更不必说“自由”以及与之相关的许可和协议作为一种契约也触碰了知识产权制度和技术资源的社会分配问题,而这些都是典型的政治议题。

那么,如何分析自由软件运动的政治性,以及其与共产主义的关系?首先从来源上,其政治性不来自阶级斗争,而是基于不断迭代的技术体系基础(例如 Git)、许可协议和技术体系,这也引出自由软件运动最与众不同也是最重要的一点——由计算机技术驱动,以及对其技术的绝对强调(“Talk is cheap. Show me the code.”)。其规范不是来自任何国家/企业/权威,而来自于技术体系自身的规则和范式。也就是说,代码取代其他自上而下的规范,作为技术性的先验结构界定了种种行为的合法性。

基于这样的结构,自由/开源软件也实现了一种类似于“生产关系/生产力”的自我再生产逻辑,而且在生产资料和劳动成果的公共性、生产者的社会关系上都十分相近。但不同之一是,共产主义语境中的“再生产”主要包括物质生产的再生产和社会关系的再生产,而自由/开源软件更像是一种代码和社群结构的自我再生产,而这的最本质的区别在于后者拒绝将自身纳入权力机构的话语体系,而采用许可证(法律)的形式决定生产成果的有限制的公共性。因此尽管产生了形式上的相似,自由软件在事实上仍然更接近于资本主义的“体系”下的一种由法律规范的公共领域——或者更学术地说,recursive public(Kelty 2008)2

除此之外,我认为二者之间最大的区别在于资源的 accessible 和再分配问题。相比资产国有+社会主义再分配,知识、信息、软件这些资源本身不具备“数量有限、必须分配”的物质性特征。对数字资源来说,复制的成本远低于生产,也根本不存在分配的问题;更特别的,对于代码,其自身不仅具有可复制性、可修改性,还有很强的可衍生性,由这样的技术基础,产生的结构其实更类似于无中心自治体。近几年流行的社交平台 Mastodon,我想应该也是类似的理念。

自由软件运动也让我想起 Guerilla Open Access Manifesto,一篇更带有个人情绪色彩的宣言。相比“open-source”,“open access”可能更接近“free software”的动机。而贡献者的动机恰好也是最初让我开始考虑此运动和共产主义之间关联的起点,因为很多人都对于知识和软件共享持有一种相对更理想主义的信念或态度。这种从朴素的共享的伦理出发的行动逻辑,与共产主义中强调的以共同体为目的的劳动等价值具有某种结构性的相似。不过这种理想主义不依赖宏大叙事也与政治刻意保持距离,更接近于通过技术、协议与协作,在整个无中心的网络中自然生长出来的公共价值,而这样的价值在今天面对不论是姓资还是姓社的主义面前都有种珍贵的自由感。

总结而言,在我看来,自由软件运动以技术与法律为工具,重新组织了信息社会中的权力分配方式。其政治意义不在于它是否“共产主义”,而在于它是否提供了另一种理解公共性、生产力、协作网络与资源再生产方式的可能性。不过,在人工智能技术尚且处于发展“混乱期”、监管技术和相关法律都尚未完善的今天,公开乃至私有的代码仓库被批量抓取用于训练 AI 模型,同时人们也借助诸如 AI agent 对话或者直接生成代码,乃至完全由 AI 自主决策和执行,新的创意和更多垃圾都在更快地被实现。这对当前还未确定的协作模式提出了新的挑战:更多的(非专业的)生产者得以参与其中,AI 自身不仅成为生产者的一员,甚至成为生产主力。开发效率被更进一步地大幅提高,代码的质量、安全性和法律合规性也面临着新的挑战,但更重要的问题是,这种新的范式是否会催生出新的政治经济模式?