再过几天,2 月 3 日,将迎来 “开源软件” 这一术语诞生 20 周年。随着开源软件越来越受欢迎,并为我们这个时代一些最强大和最重要的创新提供动力,我们回顾其崛起历程。
我是“开源软件”一词的创造者,在 Foresight Institute 担任执行董事期间提出了这个词。我不是像其他人一样的软件开发人员,我感谢 Linux 程序员 Todd Anderson 支持这个术语并将其提交给小组。
这是我对我是如何想出这个词,它是如何被提出的,以及随后的反应的描述。当然,关于“开源”一词的创造有很多说法,例如 Eric Raymond 和 Richard Stallman 的说法,但这是我自己的说法,写于 2006 年 1 月 2 日。
直到今天才首次发表。
“开源软件”一词的引入,是为了让这个努力领域更容易被新手和商业界理解,这被认为是其扩展到更广泛用户社区的必要条件。早期主要标签“自由软件”的问题不在于其政治内涵,而在于——对于新手来说——它似乎对价格的关注令人分心。需要一个术语来关注源代码的关键问题,并且不会立即让那些不熟悉这个概念的人感到困惑。第一个在正确的时间出现并满足这些要求的术语被迅速采用:开源。
这个术语长期以来一直用于“情报”(即间谍活动)领域,但据我所知,1998 年之前在软件方面使用该术语尚未得到证实。以下描述了 开源软件 这个术语是如何流行起来,并成为一个行业和一个运动的名称的。
计算机安全会议
1997 年底,Foresight Institute 每周都会举行会议,讨论计算机安全问题。Foresight 是一个专注于纳米技术和人工智能的非营利性智库,软件安全被认为是这两者可靠性和安全性的核心。我们已将自由软件确定为提高软件安全性和可靠性的一种有希望的方法,并正在寻找推广它的方法。对自由软件的兴趣开始在编程社区之外增长,并且越来越清楚,改变世界的机会即将到来。然而,如何做到这一点尚不清楚,我们正在摸索策略。
在这些会议上,我们讨论了由于混淆因素需要一个新术语。论点如下:那些不熟悉“自由软件”一词的人认为它指的是价格。老手们然后必须开始解释,通常如下:“我们指的是自由的自由,而不是免费啤酒的免费。” 至此,关于软件的讨论变成了关于酒精饮料价格的讨论。问题不在于解释含义是不可能的——问题在于,一个重要思想的名称不应该让新手如此困惑。需要一个更清晰的术语。关于自由软件术语,没有提出政治问题;问题在于它对于那些不熟悉这个概念的人来说不够清晰。
发布 Netscape
1998 年 2 月 2 日,Eric Raymond 来访,与 Netscape 合作制定计划,根据自由软件风格的许可证发布浏览器代码。当晚,我们在 Los Altos 的 Foresight 办公室举行了一次会议,以制定战略并完善我们的信息。除了 Eric 和我之外,积极的参与者还包括 Brian Behlendorf、Michael Tiemann、Todd Anderson、Mark S. Miller 和 Ka-Ping Yee。但在那次会议上,该领域仍然被描述为自由软件,或者 Brian 称之为“源代码可用的”软件。
在城里期间,Eric 将 Foresight 作为运营基地。在他访问期间的某个时候,他接到电话,与 Netscape 的几位法律和/或营销人员交谈。当他结束通话后,我要求与他们通话——一男一女,可能是 Mitchell Baker——这样我就可以提出需要一个新术语。他们原则上立即同意了,但没有商定具体的术语。
在那一周的会议之间,我仍然专注于需要一个更好的名称,并提出了“开源软件”这个术语。虽然不理想,但我觉得足够好了。我至少向另外四个人征求了意见:Eric Drexler、Mark Miller 和 Todd Anderson 喜欢它,而一位营销和公共关系方面的朋友认为“开放”这个词已被过度使用和滥用,并认为我们可以做得更好。理论上他是对的;但是,我没有更好的想法,所以我想我会尝试继续并介绍它。事后看来,我应该直接向 Eric Raymond 提出,但我当时不太了解他,所以我采取了一种间接策略。
Todd 非常同意需要一个新术语,并主动提出协助引入该术语。这很有帮助,因为作为一个非程序员,我在自由软件社区中的影响力很弱。我在 Foresight 从事纳米技术教育的工作是一个优势,但不足以让我在自由软件问题上被认真对待。作为一名 Linux 程序员,Todd 会更容易被倾听。
关键会议
那周晚些时候,在 1998 年 2 月 5 日,一群人在 VA Research 聚集在一起,集思广益制定策略。除了 Eric Raymond、Todd 和我之外,参加会议的还有 Larry Augustin、Sam Ockman,以及通过电话参加会议的 Jon “maddog” Hall。
主要议题是推广策略,特别是要接触哪些公司。我很少说话,但正在寻找机会介绍拟议的术语。我觉得仅仅脱口而出“你们这些技术人员应该开始使用我的新术语”是行不通的。大多数与会者都不认识我,而且就我所知,他们甚至可能不同意非常需要一个新术语,甚至有点渴望。
幸运的是,Todd 很在状态。他没有断言社区应该使用这个特定的新术语,而是做了一些不那么指令性的事情——对于这个由意志坚强的人组成的社区来说,这是一个明智之举。他只是在关于另一个话题的句子中使用了这个术语——只是把它扔到谈话中,看看会发生什么。我警觉起来,希望能得到回应,但起初没有任何回应。讨论继续围绕原来的话题进行。似乎只有他和我注意到了这个用法。
事实并非如此——模因演化正在进行中。几分钟后,另一位与会者使用了这个术语,显然没有注意到,仍然在讨论术语以外的话题。Todd 和我从眼角瞥了一眼对方,以确认:是的,我们都注意到了发生了什么。我很兴奋——这可能行得通!但我保持沉默:我在这个群体中的地位仍然很低。可能有些人想知道 Eric 为什么要邀请我来。
会议接近尾声时,术语问题被明确提出,可能是 Todd 或 Eric 提出的。Maddog 提到了“可自由分发”作为早期术语,以及“合作开发”作为较新的术语。Eric 列出了“自由软件”、“开源”和“源代码软件”作为主要选项。Todd 提倡“开源”模式,Eric 表示赞同。我没有说太多,让 Todd 和 Eric 将(松散的、非正式的)共识围绕开源名称拉拢在一起。很明显,对于参加会议的大多数人来说,名称更改并不是那里讨论的最重要的事情;一个相对次要的问题。我在这次会议的笔记中只有大约 10% 是关于术语问题的。
但我很兴高采烈。这些是社区中的一些关键领导者,他们喜欢新名称,或者至少不反对。这是一个非常好的迹象。我可能无法再做更多的事情来提供帮助;Eric Raymond 更能传播新的模因,他也确实做到了。Bruce Perens 立即加入了这项工作,帮助建立了 Opensource.org,并在传播新术语方面发挥了关键作用。
为了让这个名称取得成功,Tim O'Reilly 必须同意并在他代表社区的众多项目中积极使用它,这是必要的,或者至少是非常理想的。在即将发布的 Netscape Navigator 代码的官方版本中使用该术语也将有所帮助。到 2 月底,O'Reilly & Associates 和 Netscape 都开始使用该术语。
推广名称
此后,Eric Raymond 向媒体、Tim O'Reilly 向商业界以及两人都向编程社区推广了这个术语。它似乎传播得非常快。
1998 年 4 月 7 日,Tim O'Reilly 召集了该领域的关键领导人举行会议。预先宣布为第一届 “Freeware Summit”,到 4 月 14 日,它被称为第一届 “Open Source Summit”。
对于开源来说,这几个月非常令人兴奋。似乎每周都有一家新公司宣布计划参与。阅读 Slashdot 成为一种必需,即使对于像我这样只是外围参与的人来说也是如此。我坚信,新术语有助于实现这种向商业的快速传播,从而使公众能够更广泛地使用。
快速 Google 搜索表明,“开源”的出现频率高于“自由软件”,但仍然大量使用自由软件术语,当与喜欢它的受众交流时,它仍然有用,应该包括在内。
一丝快乐
当 Eric Raymond 撰写的关于术语变更的 早期记录 发布在 Open Source Initiative 网站上时,我被列为参加了 VA 集思广益会议,但没有被列为该术语的创造者。这是我自己的错;我忽略了告诉 Eric 细节。我的冲动是让它过去,保持低调,但 Todd 不这么认为。他向我建议,有一天我会很高兴被称为“开源软件”这个名称的创造者。他向 Eric 解释了情况,Eric 立即更新了他的网站。
提出一个短语是一个很小的贡献,但我承认,我很感谢那些记得将功劳归于我的人。每次我听到它时,现在非常频繁,它都会给我带来一丝快乐。
说服社区的最大功劳归于 Eric Raymond 和 Tim O'Reilly,是他们促成了这件事。感谢他们将功劳归于我,并感谢 Todd Anderson 在整个过程中发挥的作用。以上不是开源历史的完整描述;对于许多未出现在文中的关键人物,我深感抱歉。那些寻求更完整描述的人应参考本文和互联网上的其他链接。
20 条评论