“开源社区”(Open Source Community)更准确的名称应该是“开源软件社区”(Open Source Software Community);而“开源软件”(Open Source Software)则是“开放源代码软件”的简称。因此,要想解释什么是“开源社区”,就必须先解释什么是“开源软件”;而要想解释“开源软件”,就必须先解释什么是“源代码”(Source Code)。
简称 | 全称 |
开源社区(Open Source Community) |
开源软件社区(Open Source Software Community) |
开源软件(Open Source Software) |
开放源代码软件 |
在某种意义上讲,开源软件才是软件产业的本源。1969年,美国电报电话公司(AT&T)贝尔实验室的研究人员Ken Thompson编写了UINX的第一个版本,这是一个多用户、多任务的操作系统,整个七十年代,它都在免费传播,从而迅速成为在大学和研究机构中很流行的系统。UINX是人类第1个用高级语言(C语言)编写并有较高的运行效率的系统,是使用源代码的软件的先驱,也是开源软件的先驱。
虽然开源软件是软件产业的本源,但是,今天的软件产业的主流却不是开源软件,而是“私有软件”(Proprietary Software)。因此,研究开源软件,就不得不谈及私有软件。
1976年2月3日, Bill Gates发表了著名的《Open Letter to Hobbyists》(致电脑业余爱好者的一封公开信),在这封公开信中,Bill Gates明确提出软件应该具有“CopyRight”(版权)。这封公开信奠定了软件产品“CopyRight”的理论基础,也促使私有软件成为软件产业发展的主流。“Copy Right”理念的提出,必然导致源代码被彻底被封闭起来,这是因为3点:
从这个意义上讲,私有软件就是闭源软件。客观地讲,Bill Gates的“Copy Right”理念以及私有软件的兴起,对于推动软件产业的兴旺功不可没。但是,Microsoft等私有软件厂商对于软件市场的垄断,引发了用户和广大软件开发者的强烈不满,兴起了反对私有软件理念的运动,开源软件就是这种运动的重要组成部分。首先兴起的私有软件运动,是自由软件运动(Free Software Movement),它是开源软件运动的先河,因此,在诠释开源软件之前,应该先介绍一下自由软件。
1983年,MIT的Richard Stallman 开始倡导自由软件运动。1985年,Stallman等人创建了自由软件基金会(Free Software Foundation,简称FSF)。Stallman提出了与“Copy Right”理念针锋相对的“Copy Left”(许可复制权)理念,其表现形式是GPL,即公共许可证(General Pubic License)。自由软件应该是具有如下4大自由的软件:
1991年,Linus Torvalds开发出Linux,并接受“Copy Left”理念,使得自由软件运动有了自己可以与Microsoft的Windows相抗衡的操作系统。自由软件运动初战成功。但是,自由软件运动关于自由的追求,毕竟和现实的商业氛围格格不入,带有着过于理想化的色彩。这种反商业的信条,让一些本来也反对私有软件的人士对自由软件敬而远之。正是在这种背景下,一部分原有自由软件运动人士,如Eric Raymond,开始尝试将理想的自由软件与现实的商业氛围进行某种衔接,这就是本文所涉及的开源软件运动。
1998年2月,Eric Raymond等人正式创立“Open Source Software”(开源软件)这一名称,并组建了开放源代码(软件)创始组织(Open Source Initiative Association,简称OSI)。OSI曾给出了开源软件的标准定义。按照OSI的定义,开源软件是指允许任何人使用、拷贝、修改、分发(免费/少许收费)的软件。它必须满足以下6个条件:
用一句话概括,开源软件就是源代码开放且可以自由复制的软件。开源软件运动超越自由软件运动的地方在于,它既抓住了私有软件的Achilles Heel(阿基里斯之踵),即封闭源代码,又可以实现与商业氛围的结合。
由于以Microsoft为代表的私有软件企业占据着软件产业的主流地位,开源软件要想生存和发展,就必须在组织形式上进行创新。这一创新是由Eric Raymond在1998年提出的,他在被堪称开源软件的
2002年,Seidel发表了论文
Lerner和Tirole在2001年发表论文
从上述关于开源社区的分析可以看出,开源社区这种组织有着不同于软件开发企业的本质特征,这种本质特征就在于,软件开发企业内部的各个员工是基于利益关系而组织在一起的,而开源社区内部的各个成员是基于兴趣而走到一起的。从这个角度来说,软件开发企业是一种利益组织,而开源社区是一种兴趣组织。
对于开源社区这种软件开发组织,西方学者进行了更加深入的研究,他们提出了更为深刻的理解,这就是“开放社区”, (Free/Open Communities)。
Tzouris在2002年发表了论文
Reagle在2003年发表了论文
如果仅仅凭借兴趣,开源社区是难以发展壮大起来的,开源社区要想真正发展壮大到可以和巨型软件开发企业进行有效的竞争,就必须在兴趣的基础上,形成共同的文化,也就是要将开源社区从兴趣组织发展为文化组织。
这一点,前文所提到的Seidel、Tzouris和Reagle这3位学者都已经认识到这一点。Seidel认为“C 型”组织应该“追求更高目标的强有力的团队文化(‘C 型’组织的第2个特征)”。Tzouris关于开放社区的4个基本特征的研究,实际上都是指开源社区的文化特征。Reagle认为开放社区应该具有的“不歧视”和“不干涉”也都是关于开源社区文化的界定。西方学者关于开源社区所应具有的文化特征的研究成果,在一定程度上已经初步揭示了本文所指的开源文化的内涵。当然,在本文看来,这些学者关于开源文化内涵的理解,无论在全面上,还是深入上,都有不足,还需要本文展开进一步的研究。
如果仅仅凭借兴趣,开源社区是难以发展壮大起来的,开源社区要想真正发展壮大到可以和巨型软件开发企业进行有效的竞争,就必须在兴趣的基础上,形成共同的文化,也就是要将开源社区从兴趣组织发展为文化组织。
这一点,前文所提到的Seidel、Tzouris和Reagle这3位学者都已经认识到这一点。Seidel认为“C 型”组织应该“追求更高目标的强有力的团队文化(‘C 型’组织的第2个特征)”。Tzouris关于开放社区的4个基本特征的研究,实际上都是指开源社区的文化特征。Reagle认为开放社区应该具有的“不歧视”和“不干涉”也都是关于开源社区文化的界定。
西方学者关于开源社区所应具有的文化特征的研究成果,在一定程度上已经初步揭示了本文所指的开源文化的内涵。当然,在本文看来,这些学者关于开源文化内涵的理解,无论在全面上,还是深入上,都有不足,还需要本文展开进一步的研究。
转载自:http://blog.51cto.com/zhaisj/465512