再过几天,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 合作制定计划,根据自由软件风格的许可证发布浏览器代码。当晚,我们在洛斯阿尔托斯 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 和我从眼角瞥了对方一眼以确认:是的,我们都注意到了发生的事情。我很兴奋——它可能会奏效!但我保持沉默:我在这个群体中的地位仍然很低。可能有些人想知道埃里克为什么要邀请我参加。
在会议即将结束时,术语问题被明确提出,可能是 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 召集了该领域主要领导人的一次会议。预先宣布为第一届“自由软件峰会”,到 4 月 14 日,它被称为第一届“开源峰会”。
对于开源来说,这几个月非常令人兴奋。似乎每周都有一家新公司宣布计划参与。阅读 Slashdot 成为一种必要,即使对于像我这样只是外围参与的人也是如此。我坚信,这个新术语有助于实现开源在商业领域的快速传播,从而使公众更广泛地使用它。
快速的 Google 搜索表明,“开源”的出现频率高于“自由软件”,但“自由软件”一词仍然被大量使用,它仍然有用,并且在与喜欢它的受众交流时应包括在内。
一丝欣喜
当 Eric Raymond 撰写的关于术语更改的 早期说明 发布在开源倡议网站上时,我被列为参加了 VA 集思广益会议的人,但没有被列为该术语的创造者。这是我自己的错;我忘了告诉埃里克细节。我的冲动是让它过去并保持低调,但 Todd 感觉不同。他向我建议,有一天我会很高兴被称为创造“开源软件”名称的人。他向 Eric 解释了情况,Eric 立即更新了他的网站。
想出一个短语是一个小小的贡献,但我承认我很感谢那些记得将功劳归于我的人。每次我听到它时,现在非常频繁,它都会给我带来一丝欣喜。
说服社区的最大功劳归功于促成此事的 Eric Raymond 和 Tim O'Reilly。感谢他们将功劳归于我,并感谢 Todd Anderson 在整个过程中的作用。以上不是开源历史的完整叙述;向许多名字没有出现的关键人物致歉。那些寻求更完整叙述的人应参考本文和网络其他地方的链接。
20 条评论