技术-经济范式视角下的开源软件演进剖析(二)
| 作者:刘博
| 转载自:华为开发者社区
| 编辑:王玥敏
| 设计:沈安如
整个系列文章将分成五篇文章,阐述宏观、中观、微观三个部分:
* 分别在三层面上分析开源软件出现的原因及动力问题
* 在中观层面分析开源软件对产业带来的影响
* 在微观层面分析开源软件社区的组织特征及生产方式
本篇将从宏观层面分析开源软件出现的原因及动力问题。
从人类文明发展史来看,18世纪工业革命开创了世界工业文明时代,工业文明的技术社会形态便是工业社会。人类社会尤其是进入工业社会之后的发展在本质也可以认为是一个创新发展的历史过程。除了传统的环境、制度、文化外,科技创新逐渐内生化为增长的主要驱动力和源泉。
“科技”一词可拆分成技术(technology)和科学(science),技术的上游是科学,应用性技术往上走是底层技术,再往上是基础科学。
基础科学是整个科技大厦、经济大厦之根。基础科学做的是从0到1的工作,犹如开辟一块全新的疆土;而应用技术则在这片疆土上添砖加瓦,将理论科学家的美好蓝图变为现实。基础科学创新从量变到质变的积累可以催生科学革命;同理底层技术创新质变的积累可以催生技术革命。
技术革命带来了人类生存发展手段的飞跃,表现为技术的集群式发明与创新,往往与产业变革相伴和互动。
所谓产业变革一般指社会物质生产部门结构的革命或变革,是技术革命的成果在生产中的广泛应用,当社会经济运行模式和生产方式发生变革时,才意味着产业变革的发生。
总体来看,科学革命、技术革命、产业革命之间有一定的基本线性关系。一般来讲,科学革命是技术革命的基础与理论前提,科学革命一般不会直接引发产业变革。技术革命则能够直接对生产力与生产方式产生影响,成为推动产业革命爆发的直接驱动力。
产业革命又会带动全方位的社会变革, 由技术、经济领域逐渐渗透到社会生活的方方面面,包括观念、制度、法律、文化,最终实现社会文明的进步发展。
这种规律性形成了现代文明的“技术-经济”发展范式。
过去 200多年中,我们见证了伴随了三次产业革命和五次技术革命。
科技-技术-产业革命对技术-经济范式的形成机制是通过“关键生产要素”的变迁实现的。所谓“关键生产要素”是在每一个新技术经济范式中的“一个特定投入或一组投入”,它可能表现为某种重要的自然资源或工业制成品。成为“关键生产要素”须满足三个特性生产成本具有下降性供应能力具有无限性运用前景具有广泛性。换言之,技术-经济范式的形成及转型与“关键生产要素”的新旧更替有关,而这一切又都是科技-技术-产业革命的必然结果。
软件正是本次信息技术革命的关键生产要素之一。
回到计算机诞生之初,美国研制计算机的直接目的是在第二次世界大战时为军方计算弹道的轨迹。在流体力学中,计算量常常大到手工的计算尺无法计算的地步,因此,对通用计算机的需求就产生了。IBM 的小华生(第二任总裁)看到了计算机在今后社会中将扮演一个非常重要的角色,他决定投资发展计算机,并请来冯· 诺伊曼做顾问。
后续 IBM 投入大量资金和人员在计算机系统的探索上, 并先后在六、七十年代研制出了多种经典的大型计算机系列产品。但这些设备的造价都高的惊人,达百万美元, 除了政府部门和军方,只有大的银行和跨国公司才用得起。
这时的商业模式主要是硬件、软件加服务的捆绑销售模式,想用 IBM 的系统,必须买 IBM 的硬件,外加每年一定百分比的高额服务费,软件不单销售。
这个时期代表性的软件要数 UNIX 操作系统了,在它早期的发展过程中发生了历史上第一次软件开源与闭源之争:
UNIX 操作系统最早于1969年在闻名世界的 AT&T 贝尔实验室由肯·汤普逊和丹尼斯·里奇在DEC的小型机 PDP-7 上研制出来。此后的若干年里,二者对于 UNIX 不断完善包括用C语言重写、实现多进程等,又更新了几个版本,但都是在贝尔实验室内部进行的。而且当时,AT&T 公司和美国政府签署的是电话业务专营协议,该协议规定AT&T不能从事软件销售业务。所以,AT&T 公司不能把 UNIX 当作一个产品来销售。
直到1974年7月,二者撰写的“The UNIX Time Sharing System”文章在 theCommunications of the ACM 上发表,这是 UNIX 与外界的首次接触。在1975~1976学年,汤普逊来到了加州大学伯克利分校做客座教授,并且带了些研究生一起继续进行 UNIX 的后续开发,在伯克利,很多新的特性加入到了 UNIX 操作系统中。从1976年的 V6 版本开始,AT&T 将 UNIX 授权给少量的美国大学和研究机构使用(收取少量授权费或者免费),授权中包含文档和 UNIX kernel 的源码并允许在源码之上对 UNIX 进行各种各样的改进和扩展,客观上推动了 UNIX 的发展及流行。
但这并不是现在意义上的 Open Source 软件,因为它只是在有限范围内的共享代码(Shared Source), 并不是广泛地无歧视地对任何人和任何团体开放源码。但这确实是开源软件运动的开端,开源软件标志性组织 GNU 正是 GNU'sNot UNIX” 的递归首字母缩写词。
在 UNIX V6 的基础上出现了分叉:
商业派:原 AT&T 及后续的各种商业版本
学院派:加州大学伯克利分校的 BSD 分支 – 1977年,1BSD 是一个 BSD 版本
此时,后知后觉的 AT&T 开始认识到 UNIX 的价值,但由于源代码早已外散,无法将其拢起来进行精细的商业开发,于是干脆采取对外授权的模式,研究机构使用免费,企业使用要交授权费,这有些金矿当做铜矿卖的味道。一位贝尔高级主管曾感慨:“ UNIX 是继晶体管以后的第二个最重要发明。”但 AT&T 错失了将 UNIX 商业化发展的最佳时机。
随后,AT&T 成立 USG(UNIX Support Group),将 UNIX 变成商业化的产品。1982年,AT&T 基于 V7 开发了 UNIX System Ⅲ 的第一个版本,这是一个商业版本仅供出售。为了解决混乱的 UNIX 版本情况,AT&T 综合了其他大学和公司开发的各种UNIX,开发了 UNIX System V Release 1。这个新的 UNIX 商业发布版本不再包含源代码,所以加州大学 Berkeley 分校继续开发 BSD UNIX,作为 UNIX System III 和 V 的替代选择。从此,BSD 的 UINX 便和 AT&T 的 UNIX 分庭抗礼,演化出 System IV 和 4.x BSD 两大主流,各自蓬勃发展。
后续 AT&T 做了很多专有化 UNIX 的努力,1986年 IEEE 指定了一个委员会制定了一个开放作业系统的标准,称为 POSIX (Portable Operating Systems Interface, 最后加上个 X,不知道是为了好听,还是因为这本质上是 UNIX 的标准)。当然,AT&T 的 UNIX 取得了这个标准制订战争的胜利,还取得了 UNIX 这个注册商标。此时 BSD 的拥护者自喻为冷酷无情的 AT&T 公司帝国的反抗军。同年 4.3BSD 发布,到此为止,所有的 BSD 版本都混合了专属的 AT&T UNIX 代码,这样继续使用就需要从 AT&T 获得许可证。源码许可证当时非常地昂贵,几个其他组织对单独的网络代码版感兴趣,1989年6月,Networking Release 1(Net/1)诞生了,完全独立于 AT&T,这样就可不受其许可证的支配, 能够遵照 BSD 许可证进行自由再发布。Net/1 以后,有人提议,BSD 系统中应该有更多的非 AT&T 部分,以 Net/1 的协议发布。随后,一个新的项目开始着手重新实现一些 UNIX 标准工具,其中不使用原来的 AT&T 代码。1991年6月,Net/2 诞生了,这是一个全新的操作系统,并且可以自由发布。
同年,一群 BSD 开发者离开了加州大学,创办了 BSDI (Berkeley Software Design, Inc ) 基于 Net/2 在便宜的 Intel 平台上提供全功能商业 UNIX。
BSDI 的 OS 产品售价便宜,AT&T 认为侵犯了其权益。1992年,USL(UNIX Systems Laboratories, AT&T 附属公司)正式因剽窃其源码对 BSDI 提起诉讼。这导致Net/2 发布被中止,直到其源码能够被鉴定为没有侵犯 USL 的著作权。这场官司一直打到 AT&T 将自己的 UNIX 系统实验室卖掉,新接手的 Novell 公司采取了一种比较开明的做法,允许 BSDI 自由发布自己的 BSD UNIX 操作系统,但是前提是必须将来自于 AT&T 的代码完全删除。当然此时的 IBM、DEC、HP 和 Sun 因为早年的授权缘故,有权继续进行各自的 UNIX 版本。
1994年6月,4.4BSD 以两种形式发布,其中之一为可自由再发布的 4.4BSD-Lite,不包含 AT&T 源码,不再存在版权法律问题,因此成为了现代 BSD 系统的基础版本。
1992年至1994年间, 由于上述争端的判决悬而未决,将 BSD 衍生分支的发展,特别是现代自由软件的发展,延迟了两年,这导致没有法律问题的Linux内核获得了极大的支持。Linux跟386BSD(Net/2的一个分支)的开发几乎同时起步,Linus 说,当时如果有自由的基于 Intel 386 的 UNIX-like 操作系统,他可能就不会创造 Linux 内核了。
在上述纷争的过程中, 有别于传统“大教堂”(集权、封闭、受控、保密)方式的新“集市”(分权、公开、精细的同僚复审)生产方式渐渐产生了, 这也是后续 Open Source 的核心思想。
在历史上第一次开源与闭源软件之争中,我们可以看出:
首先,占据强势地位的公司为了商业利益是没有动力对其所属软件进行开源的,开源是源于少数具有黑客精神的研究人员以及在市场上处于弱势地位的公司(后续的内容会分析其原因及动力)。
其次,从 Windows 和 Linux 发展的历程上看,对于基础性的操作系统软件,UNIX 在技术上是有优势的,但由于早期混乱的授权,不同版本的 UNIX 遍地开花,从来就没有通用版存在,所以为其中一个版本写的应用程序,常常要修改后才能运用到另一个上,这对于专业的程序员来说也许不是太大问题,但对技术实力较弱的用户来说,则平添了许多麻烦,从而导致用户分散,无法形成由正向网络外部性形成的良性循环。当然它也没有采用 Linux 的开源策略,完全开放给产业玩家,从而共同推动其发展。
总结:在开启信息时代的第五次技术革命发生、发展过程中,整个社会经济对作为核心要素的软硬件有着广泛而又持续的需求,作为核心要素有逐渐变得廉价且普遍可得的趋势,激烈的经济及社会意识、规则、制度冲突导致开源软件与专有软件出现了分叉的现象。
*本文图片来源网络,如有侵权请联系删除!