由于个人的局限性,这次尝试不可能尽善尽美。另外,由于不是冲着《德意志意识形态》这种体量与开创性而去的,也不太具备论战属性。在互联网和手机成为基础设施,市场经济蓬勃发展的这个当口,对这个行业的生产机制与经济结构有所认知,能够对我们重塑生活机制、洞察特定立场的局限性起到一定帮助。
意识形态分析与生产结构剖析,可能会受到现代的经济学的揶揄。由于马克思时代的古典政治经济学已不再是基本的理论立足点,其中的经济学态度通过古典自由主义中的理性人预设,在英美国家获得广泛政治实践,成为市场秩序的指导原则;而另一分支,现代经济学获得一种价值无涉的物理学表象,这是其自然科学化尝试的成果。
相对而言,在马克思理论中所凝聚的经济学,作为对英式政治经济学的反动,并未获得现代自然科学意义的发展,批判时仍具备政治经济学的混成状态,就如同埋葬昆虫的琥珀,其本身已经脱离了昆虫后代的演化历程。所以,立足于现代经济学的诸多经济实践的批判,因为时间相距较大,稍显力不从心。
另一方面,在政治发展与历史演进的过程中,由于诸多要素都已介入,且夹杂诸多的力量博弈,梳理出单一而明晰的经济学脉络,已经具备一定困难。同时,生产资料与阶级分析对于新时代民众而言,会出现多种身份并置的困难。对此进行分析,需要更新的数学工具的介入。
相对而言,计算机技术诞生的历史仍然较短,即使按照最初计算机诞生的时间计算,至今仍不超过五十年,而作为民用的基础设施的计算机工程实践,在最近的二三十年才逐渐扩大规模。较短的时间跨度,使得历时性分析有了可行性。现阶段的数字化的普及,逐渐成为大众的生活模式,发展的各个阶段都足够完整,可以追溯从草创、高速发展到建制化、成熟化的整个流程。另外,由于计算机工程开发的劳动力密集性,仍然有一种手工业的气质,因此马克思的政治经济学的批判可以较顺畅地嫁接到当下境况上。
但这也带来了另一种困难,由于劳动力密集的工作性质,从事信息技术行业的人员,难以有充足的时间充分反思与学习理论。而理论研究者,往往缺乏一定的计算机知识,更多地进行编程技术的本体论研究,或者游戏作品的文化理论研究,对于具体的生产模式缺乏足够了解。
当然如果你有心查找,那就算在中文互联网上,都有很多相关的介绍,但其中很多是上世纪末本世纪初的论文,以及对开源运动的引介博客。另外一大困难在于,相关的博客并未使用索引,因此没法使用搜索引擎检索得到。所以这次尝试,很大程度上也可能是我的异想天开。
但优势也在这里,我恰好在两方面都有一定经历,尽管在任何一方面都不出众。但正是这种视角的交叉性,使得分析可以兼具局内和局外的视角。希望通过这次尝试,为两端架设一座桥梁,我也期待更有能力与见识的人做更深入的探索。
首先,如果你对软件不很熟悉,那么您可能年纪较大。软件是一群人通过编制程序代码,而后通过计算机,将代码转换成的产品。这种产品运行的环境也是计算机,这里的计算机可能是一台或多台,也可能是各种系统的:安卓,苹果,Windows、MacOS或Linux等。这与写书有点类似,不同之处在于:作者可以控制更多层次的细节,从笔画、谋篇布局到书本装帧;而阅读者也不是坐在什么位置,摊开一本书,而是在运动、通勤或者其他时候使用它。
这提醒我们,程序代码与软件是两种东西。使用软件,就如同你拿起手机解锁,这时候不需要知道所谓面部识别,或指纹识别是什么。这种情况下,用户是按照设计者所定义的环节来体验的,不遵守这些准则的用户,软件就拒绝服务,比如带水的手,或者闭眼的脸。这有时能带来可信赖的体验,比如苹果的封闭系统;但更多时候,设计者会使用生理上无法拒绝的机制来支配你,你会买一些不想买的东西,看一些耸动标题的文章。
将代码转为程序,或者软件,这是计算机的一大功能。另外,计算机也是软件运行的重要平台。现阶段手机的流行,使得后者得到空前的强调,但程序的诞生其实都需要人的介入,这群人就是程序员,他们是程序代码的生产者。
而开源行动的“源”就是指源代码,source code。Code,代码,就是尚未喂进计算机的生成程序的,由程序员的头脑落在计算机上的原始形式,它是软件的理念形。而开源就是让所有人都能看到软件是如何做的,以及设计者是如何想的。另一种处理源代码的态度叫做闭源,与开源相对,这种情况下的软件是单独提供的,软件的原理和代码对用户不可见。
最早的软件开发者,并没有意识到闭源的商业潜力,在编写完毕后经常随软件附送代码。而一旦更多人拥有了电脑,那么管理者就得造出来点人为的门槛。这时候,软件公司也发现了知识产权的获利能力,这玩意原来是可以卖钱的,甚至可以不卖卡带或者机器了。
而从软件中获利的行为,诉诸的就是软件的私有化。软件的所有权被把控在机构或个人上,而且由于合作的强人工性,有点小手工业或手工业集约化的特色。将软件所有权限定在某个区域内的法律手段,就是诉诸版权,或曰著作权(copyright)。
软件为了通过自己开发获利,需要声明其著作权,在软件上,多半采用软件开发许可证,即software license,闭源软件采用的基本是EULA(End-User-License-Agreement)。而对于自由软件,或者开源软件,他们把license当作反抗的工具,这在后面会详细讲,它伴随着copyleft概念的提出。
听到这,你可能认为,开源概念这时候就已经正式诞生了,但这其实是错的。开源运动的前身是自由软件运动,Free software,开源几乎可以说是自由软件的重生。而按照另一种说法,开源是对资本寡头的妥协,甚至于说“开源就是为了商业化”。
虽然网络信息一般都保存的很好,除去个人或其他因素所导致的损失,资料很容易得到,甚至删去了仍然可以复原。而作为网络基础设施的建设者,程序员往往使用技术来阐述其效用结构的主张。与此同时,也使用文本来进行思维“工程”的尝试。
但与此相对,虽然互联网建设者的文本留存,自由软件行动背后的意识形态的精神结构,以及伴生的政治经济立场,相对而言并不清楚。这反映了程序员群体的多样性,现阶段立场的清晰性,往往是立场相近圈子扩大的后果。
同样的,编程开发人员的表达与言论,呈现出一种交织的复杂性。一方面,有较强自由主义倾向,通过采用某种对抗性的技术机制,注重私人权益与反抗建制的,倾向于匿踪和消隐。某种程度可以认为又偏向政治光谱右翼的倾向,立场上接近小布尔乔亚。
但落实到生产秩序下的参与者,尝试匿踪的个体,往往在互联网大公司中任职。脱产的基础设施建设者,已经成为久远的神话。他们往往在一个大型机构接受分得的薪水,如果有所追求,可能在下班后从事自己的公益事业。而参与经济利益分配的机制上,程序员占据社会的较高层级。这伴随着对私产的坚持,透露一种对市场秩序的认可。因此,这种自由主义的源头,更接近于生产秩序的经济立场,而非天然的政治立场。
但,在开源运动与自由软件的开端处,仍有其他色彩。在上世纪八九十年代,互联网逐渐民用,其活跃参与者,既是为了自己又是为了他人,这更接近一种原始共产主义的分享氛围,私产在互联网的基础建设的过程中显得可笑。是的,自由软件一开始的气质,与其说是编程人员的自我利益,倒不如说是一种共享意识。
所有人编制的软件,作为劳动者能力的结晶,是可以被所有人所检阅的。对于初期参与建设的极客来讲,这就是他们世界的全部,而这个世界的所有资源都如同阳光、空气与水一样,所有人共创的世界,没有人可以设置藩篱。
可以看出,经济立场上,自由软件也有极高的开放性与共产主义气质。这其实是对于私权的再定义,全新的所谓私权,仅仅在于个体为这项事业所进行的准备,能够创造更好世界的前提是充分了解这个世界。另外,他们是不认同版权,即copyright的。
当然两条路径的公共部分是很少争议的,比如,反抗巨大官僚系统的支配、立场主张的网络传播,一定的空想性与无政府主义,强调人民的创造力与自发性。可以看到,全球化时代民间连络的构建过程,与这些思想的传播是高度相关的。尽管如此,这两股力量更多时候,是相互冲突,形成张力的。
比如说,某种知识难度的志得意满,是否再度塑造了一种有产无产之间的歧视结构?再或者,个人控制软件,乃至知道全部技术细节,这种控制是一种对建制的自保,还是在行动上反抗产品的异化?这种照传统政治经济学的划分,对于重新设计的私权,是否还能起效?
Free software --> libre software
+--> open source --> business usage
+ --> self or small-group usage
这事就是从自由软件Free software这个词汇上开始的。由于Free在英语中的含义两者兼具,似乎涵盖了上面的分歧。一方面代表着免于束缚的自由,即free speech的free,要注意,这里的自由,由于不认同私有产权,已经发生了质的变化;而另一方面,也可以是free beer,即开放任取,是开源运动的主要动机。
而面临大企业的崛起与挤压,两种思想风格采取了不同的行动。最神奇的是,这两者最终的命运,都走向了对面,免费与商业的结合是最紧密的,也与市场紧密勾连,开源社区有效率地承担了大公司的技术外部性;免于限制的另一支,仍然在守望共享与分配的新秩序,尽管其自身逐渐丧失主导权。
以Richard Stallman代表的自由软件组织,自由先于开放
面临大公司崛起,他们更坚持原有的自由定义,希望撇开不清楚的免费啤酒的定义,以防止有大公司搭便车,他们不追求那种妥协的广泛合作,理念的正统性与纯洁性被放在第一位。Richard Stallman是这场运动的领导人,关于他的故事,我们后面再讲。
我们给予所有人运行、拷贝、修改以及发行改变后程序的许可,但不许他们添加自己的限制。从而保障每个人都有获得‘自由软件’的软件拷贝的自由,它们成为一种不可异化的权利。
这是使用技术壁垒,将经济上的不自由以技术的自由取而代之,这种反转,将个体的经济所得利益抛弃,而猛力限制对产品的各种限制,本质上是反对资本主义的分配秩序的。这是对资产阶级所有权从根底上的改革,“所有”成为学习与理解的后果。
甚至可以讲,这是一种资本主义所滋生的自败力量,为的是更多地捍卫作为开发者个体的权益,以达致一种无政府气质的社会理想,左翼自由主义甚或是社会主义的气质浓厚。
但相对于更具体的社会主义实践,其左翼立场仍然在西方政治光谱之内,即改造与精进的努力应当自愿做出,激进程度有所衰减。
这一支的发展更加蓬勃,这也是日后为人所知的开源的出处。实际上,我自己最先了解的也是这一支。包括Linux与相关套件,都架设在这个更为宽松开放的基础上,在这里实现了软件商业化与软件开源化的结合。它可能是某种妥协,也可能是一种折衷。
这种实践呈现出一种文化上的实用主义,打破了自由软件宣称不排斥商业而拒斥分配的态度,以更开放甚至共产态度来接近商业秩序。去政治化与意识形态化的操作降低了推广的难度,例如Redhat所提供的系统服务已经打开了市场。当然,不对意识形态表态,本身已然成为一种意识形态,实用主义而经世致用的态度,呈现为一种较为稳健的经济立场,乃至于也兼容自由放任主义。但也不应该过度苛责开源软件对自由软件的背离,这也是一种保全理想的特殊策略。Linus倾向于将开源社区做大,他本人的意见是“足够多的眼睛,会让更多问题浮现”。
现在较大的担忧在于,如何在合作到较高水平,开源与商业互相嵌入紧密的情况下,进一步推行自由软件的理想。论及现在的软件消费者,使用者的身份绝对是第一位的。之前相对清晰的生产消费循环,现在已经被注意力经济的消费占满,消费冲动占了上风。
有篇管理学文章分析,存在三种参与开源行动的要素:经济要素、学习要素、意识形态要素;基本可以说,现阶段最占优势的是经济要素。着急参与消费秩序的人,想要通过这个行业多赚钱,以便于更好地消费。而自由软件的阵地,从作为基础设施的系统、中间件,逐渐让位给小产品,比如效率工具、个人应用。
你大概见过“版权所有,禁止翻录”之类的字样。这在今天的产品,包括书籍、影视,或者NFT上都有体现。这里的版权,主张一种私人或小集体所有的概念。它的英文概念叫做copyright,拷贝权力,这个权力是被所有人有限制地下放的。所以有时候这种权利也叫做著作权,著作者所具有的支配权力。
对于法权的界定,我完全是门外汉,但不太需要专业知识就能知道,更早时期的版权保护,比如书籍、乐谱、草图等媒介,一开始尚未覆盖到软件领域。那时候软件代码是被当作literature来保护的,你能想象吗,最开始的程序和小说被当成一种类别,所以,代码是程序员献给计算机的一首诗这句话,不仅仅是浪漫。
当然,随着互联网的膨胀,尤其是美国互联网泡沫破裂之前,软件的保护也逐渐提上日程,这时候表达和概念的区分得到了强调,即想法和信念是无法控制或保护的,能被保护的只能是特定思想的表达与模式。当然Copyright也有异化的可能性,不用多说,你只需要看看各种关于版权的论争,为了某些利益撕破脸也很常见。这跟私有产权的获利能力息息相关。
而自由软件运动所希望的,就是杯葛非自由、专有软件。这可以说是对私有产权的一种颠覆,这也促使Stallman使用copyleft这种说法,翻译方案有很多,包括版权所无、著佐权(偷梁换柱)、版权属左(左翼)、左版、著作义(义利之辨)等等,应该明确,这里的版权不是消失掉了,不完全是小我消融于集体,而是对集体的事业,每个人都可以做出自己的贡献。
可以说这里的自由已经冠上了一种平等主义的色彩,所有人应当享受一种均等的权益,人人都应该生活在理想王国,而不是陷入高低差别和人为区隔。这种价值排序也更贴近主张生产再分配的社会主义,尽管Stallman本人并不认为自由软件有直接的共产倾向。
但在现阶段的广泛实践中,最受到市场欢迎的仍然是支持闭源的BSD,MIT以及Apache协议,这一方面可能是为了争取更多参与者所采取的妥协,或者说是平等的最大化;但另一方面也可能是对初衷的背离,毕竟这时候,平等的愿望已经让位于扩大差距的总量增长。
虽然可以在软件的使用过程得知设计者的品味与态度,但相对而言比较间接。但好在有另外一个侧面,如果软件采取了开源的的模式,软件需要遵循特定的协议,如果你曾经宕过源码,里面可能会出现license这个文件,这就是了。较为常见的是很“霸道”的GPL,以及相对和缓的MIT与BSD。这也提醒我们,程序员群体有较大的差异性,单独一种立场态度没法完全兼而有之。许可证,或者说协议其实带有一种社会契约的气质,更可以说是一份意识形态的文本。但为了捋清我们先从早一点的文本开始。这样一步一步下来,我们能看出来从理念到实践的过程。
作为自由软件的代表,诞生于1983年的《 GNU宣言 》,有着强烈的宣教倾向,作为论争文献,一样的宣言格式(manifesto),不难让人想起十九世纪的那份宣言。另一方面,早些时候,《致爱好者的一封信》,来自微软前CEO比尔盖茨,那是1976年,其时微软未成气候,盖茨正在为自己basic语言找市场。在其中盖茨痛斥程序员使用软件时并未支付报酬,他指责这是一种偷窃(Theft)行为。 而对此有责任的侵权者,他们被盖茨称为爱好者。虽然盖茨的意见在自由软件阵营中几乎不受待见,但爱好者与自学者的形象,确实抓住了要害,很贴切。另外一点值得称道的是,这里的“爱好者”们的组织名字叫做家酿(Homebrew),就是自家酿酒自家喝的那个家酿,如果你使用Mac编程你对brew肯定不陌生,现在的brew是Mac上很常见的包管理工具。而且,你没想错,苹果的诞生,与这个家酿小团体紧密相关,乔布斯和沃兹尼亚克都是其中的成员。
在其后的1983年,Richard Stallman为了反对AT&T和Unix系统的封闭与牟利,起心动念要用自由软件全部重建技术世界,你没听错,是全部。GNU,写作G-N-U,是非洲角马的含义,也是GNU is Not Unix的简写,这是个递归的把戏,因为解开一层之后还有GNU,中文里非常信达雅地翻译为革奴,废除不公正的关系,平等主义的诉求。GNU宣言,作为这场运动,以及日后自由软件协会的奠基文本,就是这种精神的体现。
但不要高兴太早,其实GNU宣言的煽动性和文学性,并不能与那份经典文献比肩,尽管在程序员界已经算是很富感情的尝试。另一方面,这说明里面包含很多扎实的目标与手段,毕竟这是要下手写代码的。Stallman在其中尝试论证GNU超越Unix,以及将会包含什么,为什么共享重要,为什么大家应该群策群力,为什么共襄盛举会帮助大家,以及最重要且最繁琐的,为什么流俗意见是错的,这里就不同于宣言的歌颂理想,而是实际与质疑和辩难打对手戏,这部分所占篇幅大概有三分之二。
可以看到,最大篇幅的这一段里面,Stallman直面了盖茨的质疑:为什么那些窃贼要剥夺我们程序员的私产啊?很简单也很直接,接受过马克思主义教育的人一听就懂(当然Stallman没有用这种语言,他自己的政治态度表达远不如自由软件明确):你丫的开发程序的利得大头谁拿的?你们是怎么发工资的?为什么我们使用者就不能是程序员,这两者分得开吗?为什么分享与接受就是窃贼?窃贼为什么不能提供有益的改进?
而基础视角改变之后,很多商业运作的逻辑就显得牵强附会了。我们如何做广告?如何技术支持?程序员如何生活?支配所得的著作权该怎么运作?商业竞争,还是程序员的学习促进?归根结缔,应该是我们控制软件,而非软件控制我们。不应该让软件成为少数人所独占的东西。
长远来看,让软件自由是通往富足世界的一小步;在富足世界里,人们不必辛苦工作来谋生。人们在每周10小时的法律活动、家庭咨询、机器人维修和流星观察等规定任务之外,能够自由投入到像编程这样的有趣活动中。那时,就没有必要再以编程为谋生手段了。
我们已经把整个社会要维持生产力的工作大大减少了,但是只有很少一部分转化为劳动者的闲暇,因为生产活动需要夹杂很多的非生产活动。其主要原因是官僚主义和对竞争的抗拒。自由软件会大大减少在软件生产领域的生产力流失。我们必须做这件事,为了使技术进步带来的生产力提高能够转化为人们工作的减少。
从纲领性的基础文件开始,为了为全新的生产模式奠基,需要对自由软件做出更明确的界定,这里选取FSF(Free Software Foundation,自由软件协会)对自由软件自由的界定,FSF是自由软件在开源运动之后重新组建的机构,Stallman为其主席。一共四条,按照程序员的编码规则,从零开始。
一:有研究软件如何运作的自由,并可以修改软件来满足自身的需求。为此需要获得软件源码。
二:有重新散布该软件的自由,每个人都可借散布自由软件来敦亲睦邻。
三:有改善再利用该软件的自由,并可以发表修订后的版本供公众使用,如此整个社群都会受益。
你可以看出来,它与《GNU宣言》一脉相承。开源作为自由软件的基础,自然是被需要的。但自由软件的目的在于,所有赛博空间的居民,都会受惠于其他所有人,并且也为其他人奉献。伴随源码的,是开放而无壁垒的,求知若渴与公共公开的态度。运行、拷贝、修改与发行的动作,所受到的唯一限制就是不允许增减新的限制。
这多少带有一点空想性,在当下商业公司提供便利服务的情况下,用户难以不选某某软件:你的工作要求你用微信或钉钉,朋友分享的链接必须使用特定app打开,或者特定的软件在你的系统上根本就不提供,难以靠一己之力弭平所有困难。贯彻这一信条,生活上会受到一连串的困难,最近的例子是,Stallman拒绝使用闭源软件zoom参加视频会议,导致2022年的资料,仍然只是音频,这有点反讽,技术先锋仍然被冻结在其奋发前行的时代,毕竟只靠一己之力,没法完整复制商业公司带来的所有技术成就。
GPL可以说是在软件层面上,最集中贯彻自由软件开放理念的尝试,在这里着重描述它,其他的软件协议,基本上可以说是对于GPL的宽松化。GPL(General Public License),现在已经发展到第三版本,即GPLv3。
由于历史比较久远,这里就不再分析前两个版本具体怎样。而且由于三个版本的修订,一直在细化与强调自由软件的气质,第三个版本相对来讲更接近FSF基础纲领,当然也离开源运动的中立性更远。
GPL最为人所知的,或者最为人诟病的,就是传染性,任何一个项目,只要接触过GPL的组件,无论闭源开源,都得变成GPL。也就是说,一旦受惠于社区,就必须全身心地奉献回去,而且不能阻碍他人继续传播或分发。
可以看到这是对于FSF自由概念的具体完善,上述纲领成为具体可操作的法条,但限于我自己的法学底子几乎是空白,所以不再继续深入了。
前面也提到过,由于各种营垒变得清晰,立场也是如此,同一个圈层中,为了方便交流,取得思想上的一致性就很重要,所以各个集体,都尝试吸收或驱逐自由软件,或更具体的,吸收或驱逐Stallman。比如在大公司谋生的程序员,会把这种先锋性放在后面,把技术的力量再次引回私产保护上;而以FSF为代表的自由软件,声音逐渐变得虚弱稀薄,他们年复一年地骂封闭系统,如同坐牢的使用体验;与此同时,商业软件仍在竞逐市场。
在当下,计算机世界的基础建设者们,很大一部分已经老迈,甚至很多已经作古。那个叛逆又理想主义的Richard Stallman,今年已经69岁了。在早些时候,Stallman因为在性丑闻新闻上多嘴,分析措辞时候犯了忌讳,被认为对儿童色情上存在偏好。他也因此被逐出FSF,后期被重新接纳做回主席。
这里不是要训斥政治正确如何撤下卓越之人,毕竟平等正是Stallman诉求的重要部分,不是吗?我想说的是另一点,几乎无法想象自由软件没有Stallman。但这明显正在逼近,再过二十年,至多三十多年,初代极客就都已消逝了。那时候,该往何处去?或者说,我们该从什么时候起,主动望向前路?
当然应该从现在就开始,但作为消费者与参与者,在不完善的环境下,想要实现大规模的自由软件,可能会以一种较低的生产力,锁定在某种软件使用上的“原始共产主义”之下。不要认为Linus所代表的就仅仅是背叛和妥协。如果没有Linus所提供的内核,GNU/Linux就无法存在。你也许会有点既视感,有自身特色的、随机应变的、历史情境下的机敏尝试,恰恰保全了最为激进,最为遥远的理想。
这篇虎头蛇尾的文章主要强调自由软件,由于它的基础理念更有线索,更一以贯之;也得承认,跟自己的倾向有关系。我觉得软件的共同丰裕,群策群力是美好而可欲的。
但重要的目标应该如何实现?什么时候开始实现?为了伟大目标而妥协,是不是预示着有朝一日,要再次由梦想家掌舵?而他们该如何再次获得权利?而由哲人王执政,是否会是一种心气压倒责任感的自大?人类是否应该稳健前进,而不应过分沉湎于畅想未来?
这还不是最紧要的,最大的负担,在信念落实的时候才会出现。你要不要不用Word,用LibreOffice?要不要用邮件换微信?要不要拿iPhone换…哦,所有的市售手机都是闭源硬件。要不要换掉Apple Music、Spotify或网易云,换到…换到什么呢?对了,放弃Windows、手机、PlayStation、Xbox,还有多少游戏可玩?你也发现了,多少被塑造的需求建立在闭源软件上啊!
但我想,这种煎熬,是为了清醒预支的代价,我们在暗夜里守望未来。这种芒刺在背,至少提醒我们,他们来过,我们记得。
评论区
共 4 条评论热门最新