「开源之史」系列之一:该如何思考开源的历史?

在创作发现开源三部曲当中,无论如何都会追溯一个事情:项目、共同体、开发者、基金会、商业公司等等,那么开源本身的历史却仍然无从下手,此去经年终于发现:

Tue Mar 29, 2022 | 5700 Words | 大约需要阅读 12 分钟 | 作者: 「开源之道」·适兕 |

开源之史:现代世界的暗流

独立研究者Nadia Eghbal 写过一篇惊世之作:《路与桥——现代世界数字基础设施那些隐藏的劳动》[1],为人们呈现了现代数字世界被大众所忽略的开源项目,无独有偶,哈佛商学院的经济教授Shane Greenstein和 Frank Nagle 发表过一篇论文:《DIGITAL DARK MATTER AND THE ECONOMIC CONTRIBUTION OF APACHE》[2],从开源为美国的GDP所产生的价值来估算潜藏在现代数字世界的重要性。

但是,你在任何的报告中,都很难看到开源的身影,无论是互联网巨头的年度财报,还是政府的年度报告,它是如此重要,而又是如此的被忽略,最近笔者做了一个调查[3],几乎每个业内人士都认为开源对于世人的重要,但是却对其可持续性发展表现出一种无奈。

宏观经济与现实落差

OpenUK 在2021年做了一个调查[11],在报告中称:

Drawing on the calculations of the European Commission report above, if 260,000 contributors could lead to economic impact of open source software between £60.9 billion (€65 billion or $77.8 billion) and £84.15 billion (€95 billion or $113.7 billion) in Europe, then 126,000 contributors in the UK in 2019 can lead to impact between £29.52 and £43.15 billion, on the condition that individual contribution did not change from year to year.

这是一个非常了不起的量化指标,也是第一次以宏观视野将开源的价值写到GDP(国内生产总值)中。

创业公司的 IT 支出的忽略

基于互联网的创业公司在软件方面的支出,在初期,基本不会考虑会为开源付费,或者是参与到上游,换句话说,这些公司在开始的时候,不管是融到多少钱,或者是自掏腰包,都会选择将开源作为起步时的好助手,以口头上的承诺,或者是在招聘的时候用来和开发者解释:未来会更大力度参与到开源的。

当然,创业公司和这个世界上所有的事情一样,成功的总是很少,于是,开源成为了他们失败路上的伙伴,丢弃的时候,连正眼都不瞧一下的。

巨头们的无视

那么,总是有一些成功的创业公司的,但是,他们不会在漂亮的财务报表上写上使用了价值多少的开源项目的,开源的价值被掩盖和埋藏在金钱之下,当纳斯达克在快速交易的时候,股东们才不会在乎这些。

举个例子,Apple 使用的操作系统 MacOS ,基于fork自FreeBSD的项目 Darwin,然而,我们只看到Apple 给FreeBSD基金会捐赠了区区$100,在整个的利润分成中,FreeBSD 无疑只是做了嫁衣裳。

历史学家黄仁宇曾写道现代世界能以数目记,才是取得成功的关键。然而,开源所产生的巨额价值却被人类所故意的掩盖掉了!但是它又被称之为现代数字化世界的支撑,那这个落差是由何种东西来弥补?或者说能不能弥补的上?

开源是如此重要,然而却是那么的貌不惊人,现代人的数字化基础设施的中流砥柱,却并没有被世人所熟知。于是,谈开源的历史,也就是谈我们现代世界的这股重要力量,称之为暗流涌动,实乃贴切也。

时间轴概述的误区

笔者在创作《开源之迷》[4]之中,特意避开了常见的使用时间轴的方式去描述开源,因为发现了一个误区:开源并没有像年代表示那样呈上升趋势! 在线性增长的年代表示法中,1983到2022,用数轴可以很轻松的表示,但是开源本身并没有呈线性的增长,甚至很多时候还出现消失、倒退的情况,而且开源是无法准确描述的,甚至可以说是包罗万象的。

于是,开源之史必须将这个线性的年代去掉,而且还要持批判的态度去看待媒体的做法,他们在试图为后来的年轻朋友以及外行人误导。或许可以找到特定的事件,而不能代表开源本身。

开源必须融入现实

假如可以的话,我们把开源视为一种工作的态度,或者是生活的方式,甚至是一种观念或思考,那么开源是无法被描述的,它将和任何观念一样,必须通过实际的物质、劳动、谈话、艺术、传播等各种表征来进行呈现,那么也就是说《开源之史》其实是一部观念的历史,大家须跟着我去到开源所能够呈现的地方寻找,还需要一种仔细而耐心的态度来进行。

瞧,开源能呈现在:信息技术、计算机、Internet、万维网、共同体、知识财产、商业服务、大众创新、生产方式等可以被观察、行动的地方,我们必须从他们的角度切入,才能在众多的方式中找到开源的踪影,开源并不是这个世界的唯一观念,做任何事情都可以选择是否开放合作。

要想从海盗的早期开始写一部完整的历史,几乎是不可能的事情。这就好比描绘整个世界的海事史。

—— 《驾驭浪潮:关于发现、混乱和财富的周期,从指南针到互联网》[12]中如此形容海盗

换句话说,想要理解开源的过往,需要从现实中的产业中去寻找。

一个小插曲

在笔者所列出的「开源之书·书单」中,有很大一部分著作看起来和开源是关系不大的,而是仅仅在其中提及了一小段,举个例子,在张笑宇的《商贸与文明》[5]一书中,将开源的许可协议类比于商业史上著名的“汉萨同盟”,笔者认为这简直是神来之笔,那么这样的故事还有很多,也就是说我们需要发现开源,在众多的领域里寻找开源,在历史的长河中找寻点滴。

也就是说我们需要一个嵌入的视角来重新审视开源,将开源打散,犹如武侠小说中的将功力散于全身,开源应该放在具体的政治、经济、法律环境中来看待,它究竟为人类社会起到了什么作用,它是如何影响我们具体的个体的生活的,它又是如何平衡那些强大的商业巨头的,在这个世界正常的运转之下,开源作为一股难以被察觉的“劲力”来支撑着我们的世界!它必须被重新发现,以回溯历史的方式。

技术栈的吞噬

如果有上帝视角的话,哪些运行在机房、智能手机、汽车、笔记本电脑、穿戴设备、电视、平板等等无数计算机的程序,一定是开源项目和闭源项目的混合,我们很难找到一款软件产品是完全闭源的,当然,我们也很难找到一款纯粹开源的能够满足需求软件。

笔者常常和同行们争论:根本就不存在什么开源软件供应链,这是十足的误导,而是说在软件供应链中,开源的部分,才是更为准确的描述。

那么我们不得不从一款计算机的信息解决方案来回顾开源项目的发展,在技术的视角里,开源是从编译器、编辑器、操作系统、编程语言、用户接口、web服务、关系型数据库、中间件、云计算、容器、容器调度等等不断的发展起来的,我们追溯开源软件的历史,那么需要从解决方案的技术栈去回顾,而这却又要追溯到计算机给整个社会带来的变革说起。

我们以服务或用户交互的视角去审视整个技术栈,我们便会发现没有那个商业服务是纯粹的使用完整的开源栈的,多少比例罢了,信任开源能够驾驭的,开源的比例就高些,比如互联网服务,强调业务多些,开源栈就使用的少些。但是整体来说,开源的比例是增长的。数据库的排名占比,或许就是一个非常好的案例:

文化演变

在计算机还是属于科研,在麻省理工学院人工智能研究的黑客诞生的地方,信息是自由的,便种下了这个所有文化的因。

在20世纪70年代早期,计算机和信息因其主要由“奥威尔式”的官僚政府或大型企业操纵,被赋予了控制工具的坏名声。

为了反抗日益被控制的代码,“世上最后一个黑客”[6]Richard Stallman 决定发起自由软件运动,这股亚文化一直以来并不被看好,但是伴随着1991年万维网的诞生,以及随之而来的互联网泡沫,让开源运动渐渐走入了人们的视野,对等生产[7]被认可,并且Linux、Wikipedia确实看到了成果。

随着互联网平台的成熟,对计算和数据存储、分析的要求日渐高涨,人们似乎对于基础设施的代码使用开源协作的方式已经认识的非常清楚了,于是,以开源协作开发软件的生产力获得了主流的认可。此时,以GitHub 为代表,开源成了全民编码的代名词。

法律变迁

法律具有滞后性,这也让我们能够从容地在开源发展的后面,进一步理清事物发展的规律。

在软件还处于同行间的交流,当作纯粹的知识之时,这里并不存在知识财产权的纠葛,但是却遵守着学术共同体的规范。当软件从硬件中分离出来,源代码和二进制均被列入已有的著作权范畴的时候,那么计算机软件相关的知识财产便开始生效了。

很明显,传统的法律是过多的控制,也未必适用于软件源代码,至少有一些天才就不认同,Richard Stallman 和Eben Moglen 就是其中的领军人物,于是以GPL为代表的软件许可证被发明了出来,奠定了自由和开源软件的法理基础。

但是,法律的灵活性也体现出来了,于是更多的许可证被制定出来,从Apache 许可证到BSD再到Mozilla、Eclipse等。

甚至,随着新的计算形式和软件分发形式的出现,带有歧视和针对性的协议也开始被制定出来:Elastic License 、SPL等。

从知识产权的视角,来回顾开源之史,我们会看到其中很多关于人性、利益、正义、搭便车等的纠缠,细节处才见真章。

创新视角

著名传记作家沃尔特·艾萨克森在谱写计算机信息技术的历史的时候,总结了技术是开放成就的。[8]

从计算机的制造,再到个人计算机的流行,从互联网的发明和商业化,再到万维网的诞生,从操作系统到云计算,我们看到的一个个创新的案例,都是从开放中释放的。

开源所带来的创新也是前所未有的,从解决复杂问题,再到解决集体行动难题,甚至是改善社会痼疾。我们从工程中看到协作的创新。

万维网的演变、容器和容器调度的云原生的发展、大数据平台的演进,我们看到开源所带来的技术创新是前所未有的,或许在世界上的某个角落有类似的事情发生,但是只有开源才能让这一切变成现实。

在形成标准方面,没有比开放的力量更为强大的了,TCP/IP 成就了互联网,那么以底层平台战略为标准的开源项目越发收到各类力量的推崇,尤其是编程语言、互联网入口、移动操作系统等基座。

社会变迁

计算机的发明,人们的沟通方式尽管已经有了电话,但是相关的研究仍然局限于高校和科研机构,当我们追溯开源的踪迹的时候,我们会到上世纪6、70年代的MIT 人工智能实验室,即使是1978年发明的电子邮箱后,能够联系的仍然是美国的几所高等院校。

我们看到贝尔实验室诞生的Unix和C语言,稍后我们看到BSD的出现,以及伊利诺伊州大学的NCSA web服务和Mosaic 浏览器,这个时候的团体和传统的学术团体没有差异。

但是1991之后,互联网的商业化和万维网的诞生,让基于网络的社团成为了开源协作的主力,Debian、Linux、Python、Apache Httd、MySQL 等一些列通过邮件列表、IRC协作等项目开始出现,等到web2.0和分布式版本控制出现以后,GitHub的崛起则进一步的将编程变得普适。

同时这也意味着开源的网络社会特性,由项目形成的共同体具有鲜明的自治色彩,然而,这些共同体依然不能脱离人类现实社会,他们需要资助,需要法律支持,需要得到保护,于是围绕项目的非营利基金会开始崛起,而参与者、亲力亲为的背景多样性,也让这些共同体不得不小心翼翼的维系着。[9]

商业发展

与其说是商业发展,不如说是可持续性发展。

自由软件运动,并没有解决商业化的问题,甚至还遭到了许多的误解,毕竟free 是既可以翻译为免费,也可以翻译为自由。这个运动最糟糕的留给后世的遗产可能就是这个词语。以至于几十年后仍然需要为这个词正名。

从软件的商业化本身来讲,开源软件的商业化被占领了先机,当软件的著作权生效之后[10], 很显然,将代码封闭起来的隔离手段显然会省去很多教育工作,否则还需要提高普通民众的认知才能收到费用。

但是,技术的先进一定会引来更多的商业创新,那么围绕开源项目的商业公司,如RedHat、Databricks等,成为了软件的重要方式。

随着技术的发展,人们对于计算机代码的控制力度也开始有了新的方式,云计算改变了很多事情,不仅是交付计算和存储的方式,还有人们消费软件的方式。

但是,相比于整体的软件产业,开源能够产生交易的计入GDP的统计,仍然是可以忽略不计的。

协作的进化

基于文本的协作,也就是人类基于符号的协作,对于人类文明的改进在历史上一直都是至关重要的。在互联网发明之前,人类的协作主要是靠自身的体力以及动物的肌肉力量来完成。

但是计算机和网络改变了这一切,自从IETF使用文本来创建了互联网各种协议,也就是完成了bootstrap这个阶段之后,基于互联网的协作就开启了跨越式的进化,电子邮件,文本差异和补丁,再到版本控制系统的演化,再然后是万维网的发明,紧接着是web2.0社交的崛起,那么所有这些综合起来,又成就了开源的协作,于是,开源的外延已经超越了代码本身,而成为一种全球化的、跨越所有障碍的开放式协作方式。

一个人无法完成的工程,然后让很多人而且是跨越代际的同行,共同完成伟大的项目,这种超越人类历史上所有的协作模式是值得探究其整个的演化过程的。

小结

开源无处不在,但是却也无处安身;它是那么的不起眼,却又起着无比重要的作用;开源蕴含着匠人的智慧,价值却往往被贬的很低。

拨开历史的迷雾,其实真正能够对人类发挥作用的实用观念,又何尝不是如此的命运了呢?

开源成就了现代数字世界,但是并不会被人们所注意,因为它是真正的基座,一股潜藏在暗处的推动世界的力量。

参考材料

  1. https://www.fordfoundation.org/work/learning/research-reports/roads-and-bridges-the-unseen-labor-behind-our-digital-infrastructure/ ,最后访问时间:2022-03-29
  2. http://www.nber.org/papers/w19507 ,最后访问时间:2022-03-29
  3. https://opensourceway.community/posts/opensource/who-needs-open-source/ , 最后访问时间:2022-03-29
  4. 《开源之迷》,适兕,人民邮电出版社,2022-02
  5. 《商贸与文明:现代世界的诞生》,张笑宇,一頁folio | 广西师范大学出版社,2021-10-10
  6. 《黑客:计算机革命的英雄》, [美] Steven Levy机械工业出版社,2011-10-31
  7. 《The Wealth of Networks:How Social Production Transforms Markets and Freedom》,Yochai Benkler,Yale University Press,2007-10-23
  8. 《创新者:一群技术狂人和鬼才程序员如何改变世界》, [美] 沃尔特·艾萨克森,中信出版社,2017-04
  9. https://www.theregister.com/2021/06/11/linus_torvalds_vaccine_smackdown/ , 最后访问时间:2022-03-30
  10. https://en.wikipedia.org/wiki/History_of_free_and_open-source_software#Sharing_techniques_before_software , 最后访问时间:2022-03-30
  11. https://openuk.uk/wp-content/uploads/2021/03/openuk_stateofope2021_report_FINALCHANGES_08.pdf ,最后访问时间:2022-03-31
  12. 《驾驭浪潮:关于发现、混乱和财富的周期,从指南针到互联网》,德伯拉·L·斯帕 (Debora L. Spar),中信出版社,2017-4-2

关于作者

「发现开源三部曲」(《开源之迷》已出,《开源之道》《开源之思》撰写中。)作者,「开源之道:致力于开源相关思想、知识和价值的探究」主创,Linux基金会亚太区开源布道者(2022年度团队主席),云计算产业联盟(中国信息通信研究院发起)个人开源专家,Apache 本地共同体北京成员,CCF 开源技术丛书编委会委员 。