浅谈开源软件与自由软件的目标及区别

互联网 | 编辑: 江海明 2007-05-31 00:30:00转载

Linux社区中存在着两种意识形态的运动。自由软件运动(后面我们详细介绍)的目标是使所有软件摆脱知识产权的约束。这项运动的信徒们坚信这些约束会妨碍技术的进步并且对社区无益。开源运动的目标与自由软件运动基本一样,但采取了一种更加务实的方式。这些信徒们依据经济与技术的价值主张源代码可以自由的获得,而自由软件运动是由道德与伦理驱使的。

在这个领域另一端的人们希望对他们的软件维持更加严格的控制。

自由软件运动由自由软件基金会(FSF - Free Software Foundation),一个为GNU项目募集资金的组织,领导。自由软件更可以看作是一种意识形态。一个常用的表达方法是“像言论的自由,而不是免费的啤酒”(译者注:英语中自由与免费是一个词。)。本质上,自由软件试图保证软件的开发者与软件的使用者具有某些相同的权利。这些权利包括出于任何理由运行程序的自由,学习与修改源代码的自由,重新分发源代码的自由以及分享你对源代码所做的修改的自由。为了保证这些自由,GNU通用公共许可证(GPL - General Public License)诞生了。简单的说,GPL规定任何人在GPL下发布的编译程序必须提供该程序的源代码,而且这些程序可以被自由的修改,只要这些修改是以源代码形式可以获得的。这样保证了一旦某一程序对社区“开源”,那么除非该程序的所有作者(包括被修改的部分)达成一致,否则该程序将不能可被“闭源”。大多数Linux程序是在GPL下发布的。

有一点十分重要,需要注意的是GPL并没有涉及任何关于价格的内容。正如它的名字听起来一样古怪,你可以向自由软件收取费用。所谓的free是指你对源代码的自由权利,而不是你使用软件要付的钱。(然而,一旦有人买给你或者给你一个在GPL下发布的编译好的程序,那么他们有义务同样提供改程序的源代码。)

另外一个流行的许可证是BSD许可证。与GPL相反,BSD许可证没有对程序源代码的发布做任何要求。只要满足很少的几个条件,在BSD许可证下发布的软件就允许以源代码或者二进制的形式进行再次发布。软件作者的信誉不能用来作为程序的广告。它同时保证作者免责由于使用软件带来的赔偿责任。在 Slackware Linux中的大多数软件是BSD许可证的。

在还处于起步阶段开源运动的最前线,开放源码倡议(OSI - Open Source Initiative)只是一个为了开放源代码软件,即既有可运行程序也有源代码的软件,获得支持的一个组织。他们不提供一个具体的许可证,但取而代之的是他们支持各种各样类型可用的开源许可证。

OSI的目的是,通过让各个公司撰写自己的开放源代码许可证并得到OSI的认证,使开源得到更多公司的支持。很多公司想发布源代码,但不想使用GPL许可证。由于这些公司无法修改GPL,因此他们允许提供自己的许可证并使其得到OSI的认证。

虽然自由软件基金会和开放源代码倡议相互帮助,但他们却不完全是一回事。自由软件基金会使用一个特定的许可证,并在该许可证下发布软件。开放源代码倡议是为所有的开发源代码许可证寻求支持,包括自由软件基金会的许可证。两个组织对于使源代码自由可用的基本出发点有时区分了这两项运动,但事实上,这两个意识形态不同的组织借助相互的信任向着同一个目标努力。

相关阅读

网友评论

每日精选

首页 手机 数码相机 笔记本 游戏 DIY硬件 硬件外设 办公中心 数字家电 平板电脑