当前位置:Linux教程 - Linux业界 - 源自对智慧成果共享,自由的追求

源自对智慧成果共享,自由的追求

 

开放源码运动是计算机科学领域的一种文化现象,源自黑客对智慧成果共享、自由的追求。开源运动发展到现在,这种能够积极促进人类文明发展的文化不仅渗透到了信息、教育、健康等领域,而且融入了哲学范畴。

纯粹的程序员

开放源码运动的史前史包括了整个UNIX,自由软件和黑客文化的历史。

“开放源码”一词来源于1997年春天在加州的Palo Alto召开的一个所谓“纯粹程序员”参与的战略研讨会。

参加会议的有Todd Anderson,来自Foresight研究所Chris Peterson,来自Linux国际协会的John Hall 和Larry Augustin,硅谷Linux用户协会的Sam Ockman,以及Eric Raymond。

他们关心的是寻找一种方式,向以前躲避自由软件的人们推广这种思想,自由软件和自由软件基金会的反商业信条让很多人对自由软件敬而远之。在Eric Raymond的坚持下,他们一致通过了用新的术语:Open Source(开源软件)来描述他们所推进的软件。

1998年2月23日Netscape公司宣布它将公开Navigator浏览器的源代码成为开源软件发展历史的转折点,经过一番激烈争辩,“开放源码”取代“自由软件”成为黑客们对开放原代码软件的代名词。

自由软件与开源软件

Linus Torvalds创建Linux以来,开源思想在软件界可谓盛极一时。那么,什么是开源呢?简单来说,“开源软件”就是源代码开放的软件。

由于开源思想源于计算机软件界,所以发展至今,计算机类开源产品的种类、数量都是很多的,使用也比较广泛。

如在操作系统领域,Linux在服务器市场就占据了相当大的份额,并持续扩张。IBM公司销售的刀片式服务器中大约有75%就运行着Linux操作系统;Web方面,全球有50%以上的Web服务器在使用开源的Apache系统;数据库,有针对互联网应用的轻量级数据库MySQL,也有针对大型应用的PostgreSQL。

其他还有各种非常流行的软件,如GNU的编辑软件Emacs、Linux的图形处理界面Xfree86、排版软件TeX等等,都获得了广泛的应用。

开源被很多黑客认为是计算机科学的一种文化复兴,是计算机科学真正成为科学并能够与其他科学一起同步发展的手段。开源发展到今天,不仅仅有数以万计的黑客在积极地参与,像IBM、惠普、CA、Sun等一些软硬件厂商也在加大在开源方面的投入,并积极向开源社区贡献优秀开源软件。因为开源催化了软件业快速向服务业蜕变的速度,并为IBM这样的硬件和集成服务提供商提供了新的商机。

许可证授权

获得开放软件源码是免费的,但对所获取源码的使用却需要遵循该开源软件所作的许可声明。

开源软件常用的许可证方式包括BSD、Apache License、GPL等,其中GNU的GPL被众多的开源软件组织所采用。

开源软件许可模式主要分为两类:一类是Copyleft,一类是non-copyleft。

Copyleft许可,比如GNU GPL类型,坚持认为在开源软件基础上所作修改后的软件,仍旧是自由软件。它是相对于著作权(CopyRight)的一种戏谑式说法,由理查·史托曼(Richard M. Stallman)提出,同样有保障原始作者的意义,只是保障的内容不同。Copyleft允许他人在程序上作任何的修改,但要求任何要散布程序的人,必须把原始程序代码也拿出来给人用。依据Copyleft的原则,所有自由软件都允许使用者自由copy、修改以及发行,但必须把对原始码的修改留下来(left),公开给每个使用者,使得其它人也能得到修改后的原始码,以保证自由软件的传播与继续发展。修改自由软件的人在提供修改软件给别人使用时,当然可以收费,但却不能把原始码藏私,以保障原来为大家所共创出来的智能财产为大众所用,而非一家一人的图利工具。 

Non-copyleft许可则不坚持在开源软件基础上所作修改后的软件,仍旧是自由软件。尽管Copyleft这个模式保护自由使用,但是non-copyleft许可软件仍然对自由软件世界有益。

目前有许多类型的non-copyleft自由软件许可模式,包括X10许可、XFree86许可和FreeBSD许可,还有BSD(Berkeley System Distribution)许可。

这些non-copyleft许可中的大多数形式,除了遣词造句的不同,内容是等价的。然而BSD许可却有一个特殊问题:讨厌的BSD广告条款,该条款限制了对自由软件的广告宣传。该条款要求每一涉及软件的广告必须包含下列一段话:“此产品包含有由加利福尼亚大学,伯克利和它的投稿人编制的软件。”而这导致了大量的程序需要大量的不同的无用广告句子,因为每一个软件贡献者都加上有关自己的广告。

多种开源协议许可

自1998年2月美国OSI成立之后,经其正式认可的开源许可类型已达30种;同时,在GNU工程/自由软件基金会的“自由软件许可”页面上包含了15种与GPL兼容的自由软件许可、2种文档许可,以及总共42个软件许可和4种非软件许可。

一些著名开源许可类型如下:

BSD许可—它要求版权和著者身份申明;

GPL—通用公共许可(“CopyLeft”)禁止派生或发行产品的限制;

LGPL—库/次级GPL,它不同于GPL许可证,在这个许可证下,库(函数库)可以自由地联接到专有软件;

Artistic许可—使作者保持对进一步开发的控制;

Netscape公共许可(NPL)—基于GPL精神的新的许可证,但是保持了对源码更多的控制和所有权;

公共域(Public Domain)—通常用于决定性的算法以鼓励广泛使用,多为由美国政府使用。

BSD是“Berkeley Software Distribution”的缩写,意思是“伯克利软件发行版”。显然,BSD这个名称并不是我们现在所理解的操作系统,而且其原意也并非简单的操作系统,而是一整套软件发行版的统称。从软件发行版到操作系统的演变是有历史过程的,这一点对FreeBSD很重要。

BSD于1983年8月正式发布,在18个月内就签发了1000多份站点许可证,是非常具有知名度的版本。

到了1986年6月,4.3BSD发布,而到了1988年,CSRG发布了4.3BSD-Tahoe,这是第一个把BSD内核分解为依赖于机器和独立于机器的两部分的版本,这是非常有价值的,它使BSD得以移植到众多不同的体系结构中。

由于BSD使用了AT&T Unix的部分源代码,当AT&T源代码许可证费用不断增加的时候,一些希望能够使用BSD代码为PC生产基于TCP/IP联网产品的厂商,要求伯克利将AT&T代码从BSD发行版中分离出来,并给他们签发单独的许可证条款,而不需要AT&T的源代码许可证。

因此,到了1989年6月,一个完全没有AT&T UNIX代码的BSD版本诞生了,称之为“Networking Release 1”。这是第一套由伯克利发布的自由可再发行(freely-redistributable)的代码。它允许被授权的用户以源代码或者二进制的形式发布修改过的或为修改过的代码,并且可以不向伯克利申报版税,惟一要求是在源代码文件中原封不动的保留伯克利的版权声明,并且在含有以上代码的其他产品文档中声明其产品包括来自于加州大学和其他贡献者的代码。这就是著名的BSD许可证的起源。

GPL许可证是自由软件的应用最广泛的软件许可证,人们可以修改程式的一个或几个副本或程式的任何部分,以此形成基于这些程式的衍生作品。必须在修改过的档案中附有明显的说明,如您修改了这一档案及任何修改的日期;您也必须让您发布或出版的作品,包括本程式的全部或一部分,或内含本程式的全部或部分所衍生的作品,允许第三方在此许可证条款下使用,并且不得因为此项授权行为而收费。

最普遍的方式是在软件开放源代码后,满足GPL许可,然后通过发行、咨询、增加用户定制功能来收费。 另一种是将开放源代码和有版权的软件捆绑发行,这样赚取版权费用。 一种是通过开放全部或部分源代码,收集补丁程序,并满足用户知情权的要求,作为商业软件的补充。通过发行多许可证的方式,从其他许可证赚钱。

LGPL是GPL的派生,LGPL最初是Library GPL的缩写,后来改称作Lesser GPL,即为更宽松的GPL。与GPL的最大不同是,可以私有使用LGPL授权的自由软件,开发出来的新软件可以是私有的而不需要是自由软件。所以任何公司在使用自由软件之前应该保证在LGPL或其它GPL变种的授权下。

NPL是1998年Netscape公司把Netscape开源之后,由Netscape公司以公众可以对他进行测试版本测试的形势提出的,它试图在商业企业推广自由软件开发和保护自由软件开发之间达成一种妥协,受NPL约束的代码在授权给第三方时的条款与NPL的不同使NPL无法让开源社区接受。

对于将来提供开源软件的人来说,一般情况下从上述一些许可协议中选择一种即可,而没有必要花费精力再去编写新的许可协议。

开源教育

自由的交换想法? 协作创造一套健壮、对大家有益的系统?不仅仅Linux是开源哲学的受益产物,在学校教学领域也在探索开源模式的应用,以期能够为教学带来一个更高效、更先进、更丰富的教学体系—这就是开源教育。开源教育模式下,教师们以互联网为媒介共享课间、协作开发课间、交流教学心得。

人类对世界的人是主要通过两种途径:学习他人经历或亲身体验。教育的本质之一就是通过让人们通过学习多少辈先人积累下来的经验,更快更好的建立对世界的正确认识和树立良好的世界观。从这点看,科学的发展、教育的发展和开源的发展所采用的方法论是一致的,而开源正是这种方法论的代名词。

作者:安阳工学院 杨继勇 来源:赛迪网-软件世界