“开源”一词被广泛应用于软件领域,这一术语对时代的进步做出了贡献。值此术语诞生20周年之际,其创造者Christine Peterson对其的前世今生做出了描述。
2月是“开源软件”一词问世的20周年。随着开源软件越来越受欢迎,并且为时代的进步提供了助力。我们也回顾一下“开源”的由来。
我在Foresight Insitute任执行董事期间提出“开源软件”一词。在这期间Linux程序员Todd Anderson对这一术语的广泛流传做出了不小的贡献。
以下将描述我是如何想到它、如何提出以及后续大家对这一词的反应。关于这一词的由来,有很多版本。比如有来自Eric Raymond和Richard Stallman的描述,但是在2006年1月2日我曾亲自对此做出解释。但是直到今天,我才公布这些言论。
“开源软件”这一词的引入是经过深思熟虑的,目的是努力使得“外行”更容易理解这一领域,我们认为这是为了扩宽受众用户群体所必须要做的。之前“自由软件”一词不能适用并不是因为它具有政治含义,而是因为对于新用户来讲,这个名称会误导人关注价格。所以需要一个新的术语,一个关注源代码并且不会立即让新用户混淆概念的术语。此时,第一个在正确的时间出现并满足所有要求的术语就被迅速接受了,那就是“开源”。
这一术语长期以来被用于“情报”(比如间谍)活动中,但据我所知,确实在1998年以前,软件领域从未使用过该术语。以下的文字,将描述这一术语的“前世今生”。
计算机安全会议
1997年底,Foresight Institute开始举办周会讨论计算机安全问题。Foresight是一个关注纳米科技和人工智能的非盈利智库。纳米科技和人工智能的可靠性和安全性取决于软件安全。提高软件安全性和可靠性比较靠谱的方法是自由软件,而且现在仍然在寻找更好的方法。对自由软件的兴趣开始在编程社区之外焕发活力,而且世界的逐渐改变使得这一现象越来越显著。虽然,应如何去做尚不明朗,但一直在摸索策略。
在这些会议上,因为考虑到“容易混淆”这个因素,我们讨论了是否需要提出一个新术语。主要争论如下:新手认为“自由软件”这一词指的是价格,因此老前辈们必须出来解释,通常会给出如下解释“free”指的是“freedom”中的“free”(自由),而不是“free beer”(免费啤酒)中的“free(免费)”。在这一点上,关于软件的讨论就变成了对于酒精饮料价格的讨论。其实问题不在于解释这个词的含义,而是因为一个表达重要含义的术语不应使得“新手”感到迷惑不解。所以我们需要一个更加清楚明白的术语。自由软件一词并没有任何政治问题,问题在于这个词对于新人来讲并不能清晰表明它的概念。
开放的网景(Netscape)
1998年2月2日,Eric Raymond访问网景(Netscape)并就在自由软件规则许可下开放浏览器代码这一计划展开合作。当晚我们在Foresight位于Los Altos的办公室开会,商讨并完善了我们的计划。除了Eric和我,当时活跃的参与者还有Brian Behlendorf,Michael Tiemann,Todd Anderson,Mark S. Miller和 Ka-Ping Yee。但是在这场会议中,这一领域仍然被描述为自由软件,或按照Brian所说的“源代码可用”软件。
Eric把Foresight作为行动基地,在访问网景期间,他接到了来自网景法律部门或营销部门工作人员的电话。在他聊完后,我要求和他们通电话,这样我可以告诉他们创造一个新术语的必要性。原则上他们立即同意了,但是我们没有就一个具体的术语达成一致。
在那一周的开会期间,我始终专注于寻找一个更好的名字并提出了“开源软件”一词。虽然仍然不太理想,但是我觉得已经足够了。我找到其他四个人征求意见,Eric Drexler,Mark Miller和Todd Anderson都挺喜欢这个名字的,但是做市场营销和公共关系的一位朋友认为“open”这个词已经被用烂了,他觉得我们能找到一个更好的词。理论上这位朋友是对的,但是我当时也没有更好的想法,所以我认为我应该先试着去推广它。现在回想起,我当时就应该直接告诉Eric Raymond我的想法,但是那时候我也不太了解他,所以我采取了一个间接的方法。
Todd对这个新术语表达出强烈的赞同并乐意提供支持。这对我帮助很大,因为作为一个非程序员,我在自由软件社区的影响力很弱。在Foresight,我做纳米科技教育工作做的还不错,但这不足以让我在自由软件问题上可以引起重视。Todd作为一个Linux程序员,他的话更容易有人听。
关键性会议
在那一周的晚些时候,就是1998年2月5日,一群人聚集在VA研究小组进行头脑风暴。参会的除了Eric Raymond, Todd和我之外还有Larry Augustin, Sam Ockman,Jon Hall(绰号maggdog)通过电话参加会议。
主要话题是讨论如何推广,也就是去接洽哪些公司。我说的很少,但是也一直在寻找机会介绍新术语。我觉得如果我直接说“你们这些技术人员都应该开始使用我的新术语”是没什么用的。因为参会的大部分人不认识我,而且就我所知,他们甚至都不同意现在迫切需要一个新术语这个事情。
幸运的是,Todd一直在留心着。与其直接提出编程社区应该使用这个新术语,面对社区这些固执的人,他采用了更委婉和聪明的方法。他仅仅在另一个主题的一句话中用了这个术语,目的就是想在这个对话中提到它看看会发生什么。我很紧张,期待有所回应,但是刚开始没有人说什么。讨论继续在原来的主题上,貌似只有我俩注意到了这个用法。
几分钟后,另一个人用到了这个词,他显然没有注意到,还在继续讨论主题内容而不是术语。Todd和我小心的对视一眼:没错,我们都注意到了发生了什么。我很兴奋——这也许可行了!但是我继续保持沉默。我在这个组中仍处于低位。也许有些人想知道Eric为什么会邀请我。
在会议结束的时候,关于术语的问题被Todd或者Eric明确的提出来了。Maddog提到“可自由分配(freely distributable)”作为早期术语,“合作开发(cooperatively developed)”作为新的术语。Eric列出“自由软件(free software)”、“开源(open source)”和“sourceware”作为主要选项。Todd提议使用“开源(open source)”,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写的关于术语更改的说明被发布在Open Source Initiative网站上时,我被列在了VA头脑风暴会议上,而不是作为术语的创始人。这是我的失误,我忘记告诉Eric细节了。我的想法是让它过去,我继续待在幕后就好了,但是Todd不这么认为。他告诉我说有一天我会很高兴被称为“开源软件”这一词的创始人的。他向Eric解释了这个情况,Eric立即更新了网站。
提出一个词只是一个很小的贡献,但我很感激那些记得把它归功给我的人。每一次我听到这个词的时候(现在经常能听到了),它总能给我一点快乐的感觉。
说服社区的巨大功劳要给Eric Raymond和Tim O'Reilly,是他们让这一切成为可能。感谢他们的信任,感谢Todd Anderson所做的一切。以上并不能完全描述开源一词的历史,在此我向那些没有被提到的贡献者表示抱歉。如果想要更加完整的描述可以参考此篇文章中的链接和网络上的其他资源。
原文发布时间为:2018-02-18
本文作者:文摘菌