开放源代码定义之历史篇

让我们试着回到1998年2月之前,即”开源“这个词汇出现之前,它有着怎样的“前世”,也说明下没有任何事情是凭空产生的。

引言

本文节选自《开源之声——开放源代码运动文集》一书中由著名开源领袖 Bruce Perens 所执笔的《开放源代码定义》一文,开源之道尝试以开放源代码原作者的视野,从而看看追溯开源的源头。这样对于人们理解起来或许有所帮助。尽管现在很多的技术都受益于这样一个思想,但大众是不会去想这些的。

下面的第一人称我指的是 Bruce Perens 本人。

开放源代码定义的历史

在谈论开源之前,一定要提的就是自由软件(Free Software),自由软件算是比较陈旧的一个名词了。最初当计算机刚刚进入大学时,是被当做研究的工具来使用的,软件是自由的在黑客们中间流传的,而且程序员们也仅为编程行为获得报酬,但不会为程序付费。稍后一段时间,当计算机进入商业世界之后,程序员们开始通过限制软件的权利来让自己获利,即对软件每个副本收取一定的费用。在1984年,Richard Stallman 将自由软件作为一种政治考量来进行推动,他还创立了自由软件基金会,并身体力行的开启了轰轰烈烈的 GNU 项目,Stallman 的前提是人们应该有更多的自由,而且应该感激自由。他设计了一套他认为所有用户应该拥有的权利,并将其编入GNU通用公共许可证(GPL)。Stallman 还根据保留权力巧妙的起名为 Copyleft,这样就可以保留复制的权利。而且 Stallman 自己亲自实践这样的理念,开发了一系列的自由软件,诸如 GNU C 编译器、GNU Emacs(一款编辑器,非常之诱人,以至于很多人称之为是一门宗教)。受 Stallman 的启发和感染,有很多人在 GPL 许可证之下为自由软件贡献力量。是的,开放源代码定义囊括了很多 Stallman 的观点,可以称之为其衍生作品,因为它没有对自由有那么强烈的表达。

开放源代码定义 最初来自于 Debian GNU/Linux 发行版 的政策文档。 关于Debian, 我们知道它一直都是很受欢迎的 Linux 发行版,其特色在于全部使用自由软件来构建。Debian 开发出来之后,Debian 除了遵循 copyleft 之外,也遵循着一些其他的自由许可证。所以当时的Debian在自由软件方面还存在中一些问题,因为它没有向 Debian 之外去明确其自由软件的理念。 我当时恰好是 Debian 项目的领导者,为了解决这个问题,我在 1997 年的7月份,于是起草了 Debian社会契约Debian自由软件指南,后来许多 Debian 开发人员对这些文档进行了纠正和改进。在 Debian社会契约 中我们明确了 Debian 是有自由软件所构建,而 Debian自由软件指南 则旨在通过对软件的许可证和指南进行独臂,让开发者能够可以轻松地将软件区分为自由和非自由软件。

Debian 指南是备受自由软件社区所称赞的,尤其是那些 Linux 的开发者们,要知道他们可是正在进行自由软件革命的践行者,他们所开发的是世界上第一款能够实际使用的自由操作系统。就在网景公司决定要将他们的 web 浏览器变为自由软件时,他们找到了 Eric Raymond。Raymond 是自由软件的玛格丽特·米德:他写了几篇人类学文章,解释自由软件现象及其围绕其所产生的文化现象,Raymond 的贡献在于首次向世界展现了这些自由软件的开发者们,也向世人展示了他们鲜为人知的一面。网景的管理层主要对 Raymond 那篇著名的论文《大教堂与集市》印象深刻,这是一本讲述自由软件能够之所以能够为没有任何报酬的志愿们成功的开发出来的背后故事。网景之所以找 Raymond ,就是希望Raymond能够为他们进行基于保密协议的咨询,且能为他们的自由软件开发新的许可证。Raymond 坚持认为网景的许可证应该遵循 Debian 指南,那才是真正的自由软件。

Raymond 和我经常在一些仅限受邀的 hacker 们的聚会上见面,这些聚会都是些具有创意的、不拘一格的程序员,我们之间也有通过电子邮件讨论过很多话题,他曾经在1997年2月就“开源”联系过我,Raymond 担心 Stallman 对于自由的坚持,会让一些保守的商业人士望而却步,尽管相对来说,Stallman 更易获得热爱自由的程序员们的青睐。他觉得这在技术研究中蓬勃发展的同时,却扼杀了Linux在商业世界的发展。Raymond 和一些试图将Linux推向商业的生意人们谈论起来,并且达成共识形成了一个计划,那就是将 Linux 为代表的自由软件向正儿八经的商业上推广起来。其中就包括来自 VA Linux 的 Larry Augustin 和 Sam Ockman (它后来离开 VA 到 Penguin Computing去了),当然还有一些是我不认识的。

在“开放源代码”提出之前,我还曾构思过关于“开放硬件”的想法,这和开源软件的想法很类似,不过是针对硬件设备罢了,要知道硬件的接口和软件的程序有很多相似之处,相比而言,开放硬件并没有开源软件(开放源代码)这么的成功,但它依旧有它存在的意义,大家有兴趣可以到其网站上获得更多信息。

由 FaceBook 发起的开放计算项目:http://www.opencompute.org/ 随着云计算时代的来临,发展的非常良好。 ———— 开源之道 译注

Raymond 认为 Debian 指南是定义开源最为合适的材料,但是需要一个更为通用的名称,而且要将 Debian 相关的都移除,于是我花了一点时间,将指南变更为开放源代码定义。我曾经为 Debian 组建了一个名为 Software in the Public Interest 的公司,所以我提出为”开放源代码”(Open Source)主持商标,以便我们可以将其用于定义。Raymond 同意这样的做法。于是我就“Open Source”注册为一个认证标志,这个标志是用来为众多的产品做标志的商标。一个月之后,我成功的注册了商标。不过,我们一致认为,将开放源代码的标志放在一家叫做 Software in the Public Interest 的公司下是很不妥当的。于是,我将商标的所有权转移到了 Raymond 的名下。稍后,Raymond 和我组建了开放源代码促进会(Open Source Initiative),这是一个专门用于管理开放源代码活动及其认证标志的组织。在撰写本文时,开放源代码促进会由从知名免费软件贡献者中选出的六位董事会来进行管理,未来会寻求将董事会扩大到十人左右。

当我们发起“开放源代码”运动时,还是引起了不小的震动,甚至是那些已经购买了 Linux 的团队也是如此,因为他们已经接受了自由软件的概念。有很大一部分的反对声音是在说“开放源代码”有一些政治上的知识产权产业的意味,也有说“开放”这个词已经被滥用了。也有很多是宁愿选择自由软件。但是我个人以为,即使是被滥用的“开源”一次,也胜过具有双重含义的自由,意即自由和价格,而价格对于计算机和软件行业的商业世界来讲是个非常重要的词汇。Richard Stallman 认为“开源”过度缺乏对于自由的强调,然而,事实上是“开放源代码”是日渐被大家所接受和认可,尽管 Stallman 在自由软件有着很高的威望,以及自由软件基金会的重要历史地位,也无法抵挡历史对于他们的忽略和遗忘,连 Stallman 本人都抱怨人们太健忘。此种情势下,一些好事者就喜欢将 Stallman 和 Raymond 放在对立的哲学立场,而并不去理会,这其实是使用不同的方法来推广相同的理念罢了。其中,可能也有我的问题,比如我在 Linux 世博会和开源世博会上让他们俩针锋相对,导致情况更加的恶化。但是,他们俩都没有将其中的辩论公开,我曾劝说 Raymond 低调,其实,他自己深知这一点。保持低调。(直到现在)

当开放源代码定义写就以后,其实当时就已经有很多的程序是满足这些定义的,但是随之而来的问题也来了,也有很多的程序是不符合开放源代码定义的,但是它们对一些用户却是非常有吸引力的。

关于作者

Bruce Perens, 著名的程序员,曾经是 Debian 项目的领导者,其创造了开放源代码定义,与埃里克·雷蒙一同创立了开放源代码促进会。BusyBox的最早创作者。他也是一名业余无线电爱好者,呼号K6BP。 开源之道下期会专门介绍这位开源史上关键的人物。