我们之前的文章分析了两种典型的私有软件平台——外卖平台短视频平台是如何运用技术手段和心理学手段奴役和洗脑用户的,通过分析,我们可以看到,这两种私有软件平台把对用户的压榨发展到了极致,用户长期使用这些私有软件平台哪怕仅仅是使用软件本身并不理会软件推送的内容,就会不自知地受到资本家的监视和洗脑。在这些平台上用户如果尝试发出一些属于无产阶级的声音,要么很快就会被警察找上门,要么就会面临消息石沉大海的窘境,要么只能发出他自认为属于无产阶级的声音。无产阶级想要使用软件表达他们的观点,就需要能被无产阶级彻底掌握的软件。

虽然似乎根据某种“常识”:控制软件产业主导软件开发的是资本家,编写软件的程序员多半阶级属性是小资产阶级,所以理论上在资本主义国家不存在任何能被无产阶级掌握的软件。可只要我们稍微了解一点软件知识,就会对这种“常识”产生怀疑:既然软件都是程序员编写的,程序员的绝对数量不算太少,那么只要有少数程序员因为各种原因不同程度上“叛逃”到无产阶级这边,就能编写出不同程度上符合无产阶级利益的软件;编写软件需要用到的编程语言可以公开学习,那么只要哪个无产者自学成才,就能开发出符合无产阶级利益的软件。事实上,这种软件的确存在,它们就是自由软件,它们能被无产阶级彻底掌握的标志是无产者作为软件用户也有权查看这些软件的源代码,也有权修改源代码,并且也有权把修改结果再次分享出去。

自由软件是能被作为用户的无产阶级彻底掌握的软件,这是由于这些软件的性质决定的。可是又有人指出,自由软件运动的发起者理查德·斯托曼不是共产主义者,甚至是一个赤裸裸的自由主义者,他为什么能发起一项事实上旨在彻底推翻软件领域的资产阶级专制的运动呢?这就得回到自由软件运动的伊始,通过了解自由软件运动的发展轨迹来看待这个问题。

一、自由软件运动伊始

理查德·斯托曼在上世纪七十年代曾在美国麻省理工学院的人工智能实验室工作过,他和他的同僚作为世界上最早的一批程序员和黑客(英文:hacker 原本含义仅仅是钻研计算机技术的人,并非随意破坏他人计算机系统的不法者,将“黑客”的含义限定在后者是资本家对黑客群体的污蔑),他们作为软件行业的先行探路者,有着自由分享彼此编写的软件且不受限制的传统。此时,计算机软件还处于实验室的襁褓中,微软等软件业巨鳄还未兴起,这些最早的黑客和程序员,编写软件的目的在于研究课题,探索更合理的软件编写方案,解决他们自身面临的实际问题,把源代码公开出来与同僚一起群策群力,不仅可以让软件本身得到更好的改进,还能减少重复的开发工作,按照他们的话说就是“避免重复造轮子”。这些早期黑客自发组成了最早的自由软件社区,并自发形成了原始的自由软件生态。

到了80年代,经过这些早期开发者的努力,计算机软件技术渐趋成熟,有了向大众普及的基础——也就是“商业化”的空间,资本开始介入软件开发领域以谋取高额利润,而后的故事大家都很熟悉:微软、谷歌、腾讯、阿里等国内外软件业互联网大厂兴起,他们垄断了软件编写,并把私有软件变成了他们奴役用户的工具。在这种背景下,美国麻省理工学院人工智能实验室等早期的软件研究组织,为大公司开辟新商业道路的使命宣告结束,纷纷因为缺乏资金支持而不得不解散,理查德·斯托曼以及他的同僚不得不为自己另谋出路,他的同僚大多选择了臣服于资本家的淫威,编写那些危害用户的软件,以保全他们的小资产阶级的阶级地位,而理查德·斯托曼却想在大学外延续那种软件自由的环境,不想开发危害用户的软件,毅然决然地踏上了一条坎坷但是问心无愧的自由软件运动之路——他没有像他的同僚那样去互联网大厂“深造”,而是打算把编写自由软件作为他的事业,作为他赖以谋生的手段。

作为编程专家,理查德一开始就意识到了一点,为了发展出一个完全由自由软件构建的软件生态,他首先需要编写一个自由的操作系统。作为统摄一台电脑上所有应用软件的软件,操作系统对其他软件具有统治力,其他软件是否能被安装到这台电脑上,安装到电脑上以后该如何运作,不仅受用户个人意愿的影响,也受操作系统的节制,用户要控制自己的计算机也同样离不开对操作系统的运用,打个比方,操作系统就好比一台计算机上的政权。理查德·斯托曼不在他的个人电脑上安装一个自由的操作系统,他接下来编写其他自由软件的尝试都将受到私有软件的影响。

于是,理查德·斯托曼发起了 GNU 工程,力图编写一个完全自由的操作系统,他和当时其他自由软件运动参与者在1985年共同成立了自由软件基金会(英语:Free Software Foundation,FSF)。在 FSF 的框架下,他们努力了十多年,最终在20世纪90年代,在继承了 unix 系统的基础上,吸收了自由软件运动同路人——林纳斯·托瓦兹编写的 Linux 内核,整理出了影响至今的 GNU/Linux 系统,并由此作为了编写其他自由软件的基础。GNU/Linux 系统是早期自由软件运动的最大成果,作为操作系统它十分成功,甚至连资本家们也更喜欢使用利用 GNU/Linux 系统,而不是 Windows NT 系统运维服务器(相关历史背景可参阅理查德·斯托曼文集《自由软件,自由社会》,也可观看b站 up 主 ele 实验室的有关视频,尽管 up 主本人立场倾向于开源运动,但是视频内容本身对自由软件的定义以及对自由软件运动早期历史的论述并无太大问题)。

只是资本家并不会弘扬一个对于他们来说“过于激进”的 GNU 工程,他们把 GNU/Linux 系统矮化成“ Linux 系统”,仿佛内核就是操作系统本身。不仅如此,他们还利用了自由软件运动的同路人们,资助了林纳斯等一批所谓的开源运动者用“开源软件”取代“自由软件”,把自由软件运动的重点落到开放源代码以提高编程效率,而不是让用户彻底掌握软件源代码上。

事到如今,“开源”依旧是个时髦名词,而以理查德·斯托曼为代表的早期自由软件运动参与者却日渐堕落,沦为了资本营销的偶像,FSF 也沦为他们攫取私利的工具,自由软件运动仿佛式微了。但事实情况真的是这样吗?

二、从美国到全世界

自由软件运动在美国逐渐走向僵化和混乱的同时,对小资产阶级相对友好,程序员有较大编程自由的西欧取代北美成为了自由软件运动中心。西欧的自由软件运动参与者们把自由软件运动的深度和广度又提升了一个台阶,编写出越来越多贴近普通用户日常生活的应用自由软件,并初步构建出自由的社交媒体。

欧洲的黑客也像北美的黑客那样有自己的组织,欧洲最大的黑客社团是 CCC,全称是 Chaos Computer Club ,混沌计算机俱乐部 。它创建于1981年的西德西柏林,目前已经发展成为拥有注册会员7700名的超大组织,在德国以及其他德语国家的不同城市设有不同分部。CCC 主张在政府要在信息自由方面提高透明度,同时经常批评侵犯公民权利或用户隐私的法规和产品。自 1984 年以来,CCC 每年都会举办混沌通讯大会(英语:Chaos Communication Congress),吸引全欧洲乃至全世界的黑客参加。在大会上,安全、加密、隐私和线上言论自由技术等议题一直都是讨论重点。

西欧不仅有 CCC ,也同样有关于自由软件开发与推广的基金会——欧洲自由软件基金会,英文 Free Software Foundation Europe ,简称 FSFE 。在北美的 FSF 逐渐走向堕落时,作为其兄弟组织的 FSFE 扛起了自由软件运动的大旗。

正是因为有这样的开发氛围,西欧分布着全世界最多的 tor 节点,并在 mozilla 官方停止运维 firefox send 项目后,建立了全世界最多的非官方 firefox send 实例,此外,xmpp 服务器也多分布在西欧。

西欧的自由软件开发者也继承了北美开发者对于软件自由的重视,并试图让用户更进一步地掌控自己的设备。随着硬件的发展,越来越多的硬件不能直接与操作系统交互,而是需要通过固件才能被用户正常使用。本质上来说,这些直接在硬件的芯片上运行的固件也是软件,也同样存在自由与私有的区别。而硬件厂商为了进一步盘剥用户,限制自由软件的发挥空间,编写了很多私有固件来奴役用户。针对这种情况,北美的开发者发起了 coreboot 项目,旨在编写一个能替换主板上的初始化固件(在开机时首先运行,负责初始化关键设备并加载操作系统的固件)的自由固件平台,但到了如今 coreboot 项目的主要贡献者却在西欧。此外,在微型设备的固件自由化方面,法国的开发者发起了 SmartPGP 项目,目的是在 javacard (使用 java 编程的智能卡,日常生活中使用的银行卡就是一种智能卡)上实现 OpenPGP card 。

欧洲的开发者在社交媒体自由方面也有很大贡献,自由的微博客社交媒体项目 mastodon 在2016年由德国的开发者 Eugen Rochko 最先进行开发;P2P 的自由的视频社交媒体平台 peertube 项目则由法国的开发者 Chocobozzz 最先提出,并在 Chocobozzz 加入 Framasoft (一个位于法国里昂的非营利的自由软件推广和教育组织)后得到大力发展。

西欧的开发者在北美开发者的基础上继续开发自由软件,在他们的努力下,自由软件运动的成果更大程度上惠及了普通群众。

三、从自由软件运动到革命自由软件运动

欧美的自由软件运动也同样影响到了中国,二十一世纪初贾星客、李极光发表在云南师范大学学报的一篇名为《自由软件运动对软件私权体制的实践批判》的文章拉开了国内自由软件运动的序幕。中国的自由软件运动一开始也与理查德·斯托曼那时类似,由高校的爱好者最先发起,他们在校园内最先建立起一批自由软件组织,而至今清华大学 tuna 协会中国科学技术大学 Linux 用户协会兰州大学开源社区等组织及他们运维的开源镜像站依然在中国自由软件运动中发挥着一定作用。

随着国内软件产业的继续发展,资本巨头开始主导软件开发的问题也在中国出现,腾讯、阿里等互联网巨鳄对用户犯下的罪行,我们之前及引用的文献已有许多论述,在此不再赘述。面对此情此景,国内的程序员也和他们国外的同行一样,未必都愿意臣服于大公司的淫威,以这些热爱软件自由的程序员为主体的自由软件组织也开始发展起来,例如,北京的北京 GNU/Linux 用户组和上海的Shanghai Linux User Group。此外在github等代码托管站上活跃用户中也有不少来自中国的软件爱好者。

上述种种情况仍然是欧美的旧自由软件运动在中国的延续,其组织成员主体也大多出身小资产阶级。但是国内恶劣的互联网和软件开发生态,和中帝日益严苛的审查制度和言论管制,让国内的自由软件运动参与者也不得不正视中帝及其帮凶私人资本对自由软件运动以及参与者本人的妨碍与侵害,他们中的很大一批听信了中帝的官方反对派——自由派的貌似激进的理论,但也有一批更进步的开发者带着对自由派的怀疑继续探索新的反抗道路。终于到了新左翼开始蓬勃发展的二十一世纪第二个十年,以马克思主义为指导的自由软件运动开始发展起来,左派自媒体马列之声的一篇文章成为了革命自由软件运动的最初文献。

而后,xmpp 协议的即时通讯软件discourse 论坛模板(本站所使用的论坛模板就是 discourse 模板)等旧自由软件运动的成果也成为了马列毛主义者手中的斗争利器。而随着斗争形势的继续发展,左派分子也试图利用更多旧自由软件运动的成果为革命事业服务,比如利用自由的 peertube 视频平台发布左翼内容的视频,在自由的邦联制论坛平台 lemmy 上试图建立左派社区等等。随着中帝的监控日益猖獗,中帝对左派的镇压日益残酷,左派组织要想彻底成为一个革命的马列毛主义者就不得不离开私有软件平台,去自由软件平台上发展自己的组织。左派组织利用自由软件发展和建设组织,并在这个过程中逐渐团结起来。差不多是在2020年左右,一篇《革命自由软件运动宣言》横空出世,正式将“革命自由软件运动”这一明确的无产阶级的自由软件运动旗号打出。

但是比较遗憾,《革命自由软件运动宣言》却没有指出革命自由软件运动最重要的目的——无产阶级要接管并主导自由软件的开发工作,由无产阶级的软件开发者而非小资产阶级的软件开发者成为自由软件开发的主体。无产阶级及其先进分子不能只是站在自由软件运动之外利用自由软件运动的现成成果,而需要主动开发自由软件适应无产阶级革命和群众的新要求。

小结

回顾自由软件运动的历史,及它在中国的发展历程,我们不难发现自由软件运动伊始就是一场软件开发者尝试掌控劳动过程的运动,虽然一开始运动的主体仍然是小资产阶级,但和传统的小农、小手工业者试图维护他们对小生产的掌控最终反而阻碍了社会化大生产不同,小资产阶级的程序员发起的自由软件运动及其成果要比互联网大厂的所谓大型软件更符合生产力发展的要求。原因很简单,小农、小工业者在他们的小生产范围内实现的个性化只凝结在他们有限的劳动成果上,要像大规模普及开来就需要工厂的大规模生产。而程序员编写出的软件,一开始就是运行于能大规模批量复制信息的计算机之上的,利用现代计算机互联网技术,他们所编写的程序能很快普及开来。

这正是历史的辩证法——大生产打败了传统的小生产,在大生产基础上的小生产又开始改造传统的大生产。只是代表先进生产力的程序员的“小生产”本身并无力对抗虽然已经走向落后腐朽却也仍然具有力量的资本主义的大生产,代表先进生产力的程序员必须充分与从事大工业生产的工人阶级结合,才能彻底消灭已经腐朽落后的资本主义制度。

革命自由软件运动也正是程序员中的先进群体与广大工人阶级结合并让广大工人阶级最终主导起软件开发工作的运动。

最后,欢迎希望系统学习自由软件和保密技术不当伸手党的同志加入我们建立在 xmpp 平台上的聊天室,聊天室的 JID 是 tret9@muc.pimux.de ,口令是 Oup)OtofWecin0 。