了解开源文化

开放源码运动

      开放源码运动的史前史包括了整个Unix,自由软件和黑客文化的历史。“开放源码”一词来源于1997年春天在加州的Palo Alto召开的一个所谓“纯粹程序员”参与的战略研讨会。参加会议的有Todd Anderson, 来自Foresight研究所Chris Peterson来自Linux国际协会的John Hall Larry Augustin,有硅谷Linux用户协会的Sam Ockman,以及Eric Raymond它们关系的是寻找一种方式,来像以前躲避自由软件的人们来推广这种思想,自由软件和自由软件基金会的反商业信条让很多人对自由软件敬而远之。在Eric Raymond的坚持下,他们一致通过了用新的术语:OpenSource(开源软件)来描述他们所推进的软件。1998223日网景宣布它将发布Navigator浏览器的源代码成为开源软件发展历史的转折点,经过一番激烈争辩,“开放源码”取代“自由软件”成为黑客们对开放原始码软件的代名词。

 

开源软件与自由软件

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

       由于开源思想源于计算机软件界,所以发展至今,计算机类开源产品的种类、数量都是很多的,使用也比较广泛。如在操作系统领域,Linux在服务器市场就占据了相当大的份额,并持续扩张,IBM公司销售的薄片式服务器中大约有75%就运行着Linux操作系统;Web方面,全球有百分之五十以上的Web服务器在使用开源的Apache系统;数据库,有针对互联网应用的轻量级数据库MySQL,也有针对大型应用的PostgreSQL,中国最大的门户网站Sina的后端数据库就采用了开源的MySQL数据库软件。其他还有各种非常流行的软件,如GNU的编辑软件EmacsLinux的图形处理界面Xfree86、排版软件TeX等等,都获得了广泛的应用。

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

 开源软件与许可证授权

       获得开放软件源码是免费的,但对所获取源码的使用却需要遵循该开源软件所作的许可声明。开源软件常用的许可证方式包括BSDApache LicenceGPL等,其中GNUGPL被最多的开源软件组织所采用。开源软件许可模式主要分为两类:一类是copyleft,一类是non-copyleft

 一些著名开源许可类型

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

2GPL--通用公共许可("CopyLeft")禁止派生或发行产品的限制;

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

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

BSD

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

        BSD19838月正式发布,在18个月内就签发了1000多份站点许可证,是非常具有知名度的版本。到了19866月,4.3BSD发布,而到了1988年,CSRG发布了4.3BSD-Tahoe,这是第一个把BSD内核分解为依赖于机器和独立于机器的两部分的版本,这是非常有价值的,它使BSD得以移植到众多不同的体系结构中。

       由于BSD使用了AT&T Unix的部分源代码,当AT&T源代码许可证费用不断增加的时候,一些希望能够使用BSD代码为PC生产基于TCP/IP联网产品的厂商要求BerkelyAT&T代码从BSD发行版中分离出来,并给他们签发单独的许可证条款,而不需要AT&T的源代码许可证。因此,到了19896月,一个完全没有AT&T Unix代码的BSD版本诞生了,称之为"Networking Release 1"。这是第一套由Berkely发布的自由可再发行(freely-redistributable)的代码,,它允许被授权的用户以源代码或者二进制的形式发布修改过的或为修改过的代码,并且可以不向Berkely申报版税,唯一要求是在源代码文件中原封不动的保留Berkely的版权声明,并且在含有以上代码的其他产品文档中声明其产品包括来自于加州大学和其他贡献者的代码。这就是著名的BSD许可证的起源。

GPL

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

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

        LGPLGPL的派生,它是微软件库尔设计的。与GPL不同,LGPL化的程序可以合并到专有版权程序中。与LINUX以其提供的C语言库就是LGPL许可的实例。

 NPL

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

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

猜你喜欢

转载自it-justin.iteye.com/blog/1847528