《网络的财富:社会生产如何改变市场和自由》(中文版)(在线阅读) 第三章 第一节

历史往往就会和我们开大大的玩笑。适兕实在忍不住体验这个思维的实验,想象虚拟的历史,于是尝试花几个月的时间翻译。Enjoy!Happy Reading~

Tue Jun 25, 2024 | 3400 Words | 大约需要阅读 7 分钟 | 作者: Yochai Benkler | 译者: 「开源之道」·适兕

自由/开源软件

自由软件是Commons-based 的同侪生产的典型例子。自由软件或开源软件是一种基于非专有模式的共享式软件开发方法。它依赖于许多个人以各种动机对一个共同的项目做出贡献,并分享他们各自的贡献,而没有任何个人或实体声称有权将其从贡献的组件或最终的整体中排除。为了避免联合产品被任何一方占有,参与者通常保留其贡献的版权,但将其授权给任何人(参与者或陌生人),这种模式结合了使用这些材料的通用许可和许可限制,这使得任何单个贡献者或第三方都很难(甚至不可能)占有该项目。这种许可模式是自由软件运动最重要的制度创新。其核心实例是 GNU 通用公共许可证,简称 GPL。这要求任何修改软件并分发修改版本的人都必须按照与原始软件相同的自由条款对其进行许可。尽管关于应如何广泛使用防止下游挪用的条款存在许多争论,但实际采用模式一直以许可形式为主,以防止任何人独家挪用贡献或联合产品。超过 85% 的活跃自由软件项目都包含某个版本的 GPL 或类似结构的许可。[3]

自由软件在同侪生产的认可中发挥了关键作用,因为软件是一种具有可衡量品质的功能性商品。它可以或多或少地受到基于市场的竞争对手的权威挑战。而且,在许多情况下,自由软件已经胜出。大约 70% 的 Web 服务器软件(特别是关键的电子商务网站)都在 Apache Web 免费服务器软件上运行。[4] 超过一半的后台电子邮件功能由自由软件所驱动。例如,Google、Amazon 和 CNN.com 在 GNU/Linux 操作系统上运行其 Web 服务器。他们之所以这样做,大概是因为他们相信这种同侪生产的操作系统比其他选择更可靠,而不是因为该系统是“免费的”。为了节省几十万美元的许可费用而冒着核心业务活动失败率更高的风险显然是荒唐的。IBM 和惠普等公司、消费电子产品制造商以及世界各地的军事和其他关键任务政府机构已经开始采用依赖和扩展自由软件的商业和服务战略。他们这样做是因为这可以让他们制造更好的设备,销售更好的服务,或者更好地履行他们的公共职责,尽管他们并不控制软件开发过程,也不能对他们贡献的产品主张专有权。

自由软件的故事始于 1984 年,当时 Richard Stallman 开始致力于构建一个非专有操作系统的项目,他称之为 GNU(GNU’s Not Unix)。Stallman 当时就职于麻省理工学院 (MIT),他的工作是出于政治信念。他想要一个这样的世界,在这个世界里,软件使人们能够自由地使用信息,没有人需要征求许可才能更改他们使用的软件以满足自己的需求,或者与有帮助的朋友分享。他认为,这些共享和制作自己的软件的自由从根本上与依赖产权和市场的生产模式不相容,因为为了形成软件使用的市场,所有者必须能够让需要该软件的人无法使用该软件。然而用户不得不向提供商付费,以换取使用他们所需的软件或修改的权利。如果任何人都可以制作软件或者与朋友分享自己拥有的软件,那么以依赖于将人们排除在他们需要的软件之外(除非他们付费)的商业模式来编写软件就会变得非常困难。实际上,斯托曼自己开始编写软件,而且写了不少东西。更根本的是,他采用了一种合法的技巧,从而让雪球越滚越大。他无法独自编写一整个操作系统。相反,他根据许可发布代码,允许任何人以他们喜欢的任何方式复制、分发和修改该软件。他只是要求,如果修改了软件的人随后将其分发给其他人,他或她必须按照与分发其软件完全相同的条件这样做。通过这种方式,他邀请所有其他程序员(如果他们愿意的话)与他合作开发这个程序,条件是他们必须像他一样慷慨地向其他人提供他们的贡献。因为他保留了他所分发的软件的版权,所以他可以将此条件写入附加在软件上的许可中。这意味着任何人使用或分发软件而不修改它都不会违反 Stallman 的许可。他们也可以修改软件供自己使用,这也不会违反许可。然而,如果他们选择分发修改后的软件,则必须在分发的软件中包含与原许可相同的许可,否则他们就是侵犯了 Stallman 的版权。该许可即是 GNU 通用公共许可证,简称 GPL。Stallman 采用的手段合理合法 - 主张自己的版权主张,但只强迫所有想要依赖他的贡献的下游用户将自己的贡献提供给其他人 - 后来被称为“CopyLeft”,这也是对版权的讽刺。这种法律手段使得任何人都可以为 GNU 项目做出贡献,而不必担心有一天他们醒来发现有人将他们排除在他们亲手参与构建的系统之外。

当一个以更实际而非预言性的方式对待工作的人开始开发操作系统的一个核心组件——内核时,下一个重大步骤就到来了。Linus Torvalds 开始在 GPL 下与其他人分享他的内核的早期实现,称为 Linux。其他人随后修改、添加、贡献并在他们之间共享操作系统的代码。Torvalds 在 Stallman 的基础上,提出了一种与之前截然不同的生产模式。他的模型基于自愿贡献和无处不在的递归共享。 分布广泛的人们对项目进行小幅渐进式改进,其中一些人做出了很大贡献,另一些人做出了一点贡献。根据我们对志愿者项目和没有管理者的分散生产流程的通常假设,这是一个不可能成功的模式。然而它却成功了。

主流技术行业花了近十年的时间才认识到自由或开源软件开发及其协作生产方法的价值。随着该过程的扩展并涵盖了更多的参与者,并产生了更多的互联网连接的基本工具 - Web 服务器、电子邮件服务器、脚本 - 更多的参与者试图将其“标准化”,或者更具体地说,将其标准化。 使其变得非政治化。自由软件关乎自由( Stallman 的信条是“言论自由而非免费啤酒”)。选择“开源软件”作为一个不带有政治含义的术语。这只是一种组织软件生产的模式,可能比市场化生产更有效。这种将软件同侪生产非政治化的举措导致了自由软件运动和开源软件开发者共同体之间的分裂。然而,重要的是要明白,从整个社会的角度和信息生产的历史轨迹来看,放弃政治动机和将自由软件引入主流,并没有降低其政治趣味性,反而增加了。开源及其在商业和大型企业中的被广泛采用,使得自由软件摆脱了软件世界的边缘,进而成为了实用替代方案的核心,也是当前的主流。

那么什么是开源软件开发呢?开源开发现象学的最佳来源仍然是 Eric Raymond 于 1998 年撰写的《大教堂与集市》。想象一下,一个人或一小群朋友想要一个实用程序。它可能是一个文本编辑器、照片修饰软件或一个操作系统。个人或小组首先开发该项目的一部分,直到整个实用程序(如果足够简单)或其中某些重要部分可以发挥作用,尽管它可能还有很大的改进空间。此时,该开发者将该程序及其源代码免费提供给其他人 - 以人类可读语言编写的指令,解释了软件在编译成机器可读语言后如何执行其功能。当其他人开始使用它时,他们可能会发现错误,或者他们想要添加的相关实用程序(例如,照片修饰软件只能增加尺寸和清晰度,而它的一个用户希望它也允许改变颜色)。发现错误或对如何向软件添加功能感兴趣的人可能是也可能不是世界上最适合编写软件修复程序的人。尽管如此,他还是会在软件用户的互联网论坛上报告错误或新需求。然后,该用户或其他人认为他们有办法调整软件以修复错误或添加新实用程序。然后他们像第一个人一样,发布一个修复或添加实用程序的新版本软件。结果是三个人之间的合作——第一个作者,编写了最初的软件;第二个人,发现了问题或缺点;第三个人,修复了它。这种合作并非由三者中的任何一个组织者管理,而是他们阅读同一个互联网论坛并使用同一个软件的结果,该软件以开放而非专有的许可发布。这使得一些用户可以发现问题,而其他用户可以修复这些问题,而无需征求任何人的许可,也无需参与任何交易

开源运动在现实生活中展现的最令人惊讶的事情是,这种简单的模型可以在非常不同的规模上运作,从我描述的简单项目的三人小型模型,到参与编写 Linux 内核和 GNU/Linux 操作系统的数千人模型——一项极其艰巨的生产任务。SourceForge 是此类项目最受欢迎的托管和交流场所,拥有近 100,000 个注册项目和近百万注册用户。这种现象的经济学非常复杂。在更大规模的模型中,实际的组织形式比简单的三人模型更加多样化。特别是在一些较大的项目中,最突出的是 Linux 内核开发过程中,明显存在着某种精英等级制度。然而,这种层级结构在风格、实际实施和组织角色上与公司经理的层级结构截然不同。作为同侪生产组织形式分析的一部分,我将在第 4 章中对此进行解释。现在,我们需要的只是同侪生产项目的大致概述,让我们先转向观察软件以外领域中类似的生产模型的案例研究。