本页使用了标题或全文手工转换

自由软件

维基百科,自由的百科全书
跳转至: 导航搜索
GNU计划的自由软件之标志。
自由软件心智图

自由软件英语:free software),根据自由软件基金会对其的定义,是一类可以不受限制地自由使用、复制、研究、修改和分发的,尊重用户自由的软件。这方面的不受限制正是自由软件最重要的本质,与自由软件相对的是专有软件(proprietary software)非自由软件,或被称为私有软件、封闭软件(其定义与是否收取费用无关──自由软件不一定是免费软件)。自由软件受到选定的“自由软件许可协议协议”保护而发布(或是放置在公有领域),其发布以原始码为主,二进制文件可有可无。自由软件许可证的类型主要有GPL许可证BSD许可证两种。[1]

用户[编辑]

自由软件对全世界的商业发展特别是硬件有巨大的贡献,多数嵌入式设备系统基于BSD开发[来源请求]而无授权费用。世界上多数计算机包含自由软件成分(特别是从宽松的类BSD协议中分离的部分),直接使用但不出售软件本身获取利益的Google可以算作最大受益者。自由软件使成千上万的人的日常工作更加便利,为了满足用户的各种应用需要。

以往,真正的自由软件直接用户往往是开发者,或者有能力改变原始码。但是这种趋势随着Ubuntu等较易用的GNU/Linux操作系统的普及而改变着。

意义与历史[编辑]

自由软件的英文为“free software”。在英文里“free”一词有“自由”、“免费”的双重含意,对于如何区分自由软件(libre)和免费软件(gratis),自由软件运动社区的创始人——理查德·斯托曼做出了以下的定义:“自由软件的重点在于自由权,而非价格。要了解其所代表的概念,你应该将“自由”想成是“言论自由”,而不是“免费啤酒”。”[2]更精确地说,自由软件代表电脑用户拥有选择和任何人合作之自由、拥有掌控他们所用的软件之自由。在GNU宣言(GNU Manifesto)中包含了斯托曼在一开始对自由软件使用定义的混淆。

大部分的自由软件都是在互联网发布,不收任何费用。一些或是以离线实体的方式发行,有时会酌情收取的费用(例如:工本费和运输费),而人们可用任何价格来贩售这些软件。所以,自由软件也可以是商业软件:因为贩卖软件没有违反自由软件的定义。

最早的开放源代码定义是在1998年创建,来自Debian的自由软件指引[来源请求]。当时大多数的开放源代码软件同时也是自由软件。然而,后来“开源”的意义异化,并没有抓住自由软件的真正涵义。开源着重软件的质量,而后者是一种精神,力主开放源代码是道德问题。[3]

基于新BSD许可证的操作系统都是使用自由软件的授权协议,FreeBSDOpenBSD以及NetBSD,不同的是它们对于“Copyleft”的阐述,他们常认为“Copyleft”是一种对自由的过度限制,是一种自由的侵害。

免费软件(freeware)”是一种不须付费就可获取的软件,但是通常有其他的限制,用户并没有使用、复制、研究、修改和分发的自由。该软件的原始码不一定会公开,开放的源代码会限制重制及再发行的自由。

自由软件的定义[编辑]

自由软件基金会(FSF)对自由软件的定义首次于1989年发表。[4]这份定义后来被布鲁斯·裴伦斯(Bruce Perens)改写为《Debian自由软件指导方针(DFSG)》[5]

根据斯托曼和自由软件基金会(FSF)的定义,自由软件赋予用户四种自由:[6]

  • 自由之零:不论目的为何,有使用该软件的自由。
  • 自由之一:有研究该软件如何运作的自由,并且得以修改该软件来匹配用户自身的需求。获取该软件之源码为达成此目的之前提。
  • 自由之二:有重新散布该软件的自由,所以每个人都可以借由散布自由软件来敦亲睦邻。
  • 自由之三:有改善再利用该软件的自由,并且可以发表修订后的版本供公众使用,如此一来,整个社区都可以受惠。如前项,获取该软件之源码为达成此目的之前提。

如果一软件的用户具有上述四种权利,则该软件得以被称之为“自由软件”。也就是说,用户必须能够自由地、以不收费或是收取合理的散布费用的方式、在任何时间再散布该软件的原版或是改写版,在任何地方给任何人使用。如果用户不必问任何人或是支付任何的许可费用从事这些行为,就表示她/他拥有自由软件所赋予的自由权利。

自由软件不是没有著作权[编辑]

大部分的自由软件可以免费获取,并且它的原始码可以自由修改并散布,但它并不是没有著作权。著作权是当某项作品完成时就自然产生了,不需申请或注册,在自由软件的场合,仍然经常要求署名或维持相同授权。以本文为例,本文在写作的同时,作者即拥有著作权,任何人皆无法剥夺。而当用户花钱购买某套软件时,所购买的只是“使用权”,用户必须接受该软件的“软件授权”,才能使用这个软件;而软件的原作者则仍然保有其“著作权”。

自由软件不使用封闭格式[编辑]

封闭软件通常会使用专属的封闭格式,并且不允许用户分发,这极大地限制了用户的自由。而自由软件则完全不同,由于自由软件的原始码是公开的,所以它所使用的任何格式都是透明的。自由软件永远不会只发布专属的封闭格式软件来限制用户修改的自由。

常见自由软件协议[编辑]

GPL[编辑]

用户必须接受软件的‘软件授权’,才能使用该软件,而在自由软件中,最常见的授权方式就是GPL - GNU General Public License了。[7]

因为用户是免费获取了自由软件的原始码,那么如果用户修改了它的原始码,基于公平互惠的原则,用户也必须公开其修改的成果。而这就是自由软件的精神──自由、分享、互惠。

BSD许可证[编辑]

BSD许可证(Berkeley Software Distribution license),是自由软件中使用最广泛的许可证之一。BSD软件就是遵照这个许可证来发布,该许可证也因此而得名。

BSD包最初所有者是加州大学董事会,这是由于BSD源自柏克莱加州大学。BSD开始后,BSD许可证得以修正,使得以后许多BSD变种,都采用类似风格的许可证。

跟其他许可证相比,从GNU通用公共许可证(GPL)到限制重重的著作权(Copyright),BSD许可证比较宽松,甚至跟公有领域更为接近。事实上,BSD许可证被认为是copycenter(中间版权),界乎标准的copyright与GPL的copyleft之间。"Take it down to the copy center and make as many copies as you want"。[8]

自由软件的精神领袖[编辑]

自由软件的精神领袖是理查德·马修·斯托曼。他被人称为‘最后的真正黑客’,他认为一个好的软件,应该自由自在地让人取用。软件不应该拿来做为相互倾轧、剥削的工具。所以他起草GNU通用公共许可证来保障自由软件的自由,并创办了自由软件基金会来贯彻他的理念。领袖们有时被称作“Benevolent Dictators”。

开源软件与自由软件[编辑]

形式上的差异[编辑]

开源软件与自由软件是两个不同的概念,只要匹配开源软件定义英语the Open Source Definition的软件就能被称为开源软件。而自由软件有比开源软件更严格的概念,因此所有自由软件都是开放源代码的,但不是所有的开源软件都能被称为“自由”。但一般,绝大多数开源软件也都匹配自由软件的定义。

开放源代码的规定较宽松,而自由软件的规定较严苛。很多的开放源代码所认可的授权根本不算是自由软件,所以自由软件不得不和开放源代码划清界线。

两者内涵的差异[编辑]

  1. 开放源代码作用是,使用开放的开发方式,尽可能的使软件最优化,而自由软件则将尊重用户自由作为道德标准。
  2. 如果说“自由软件”会引起误解,(因为英文“Free”一词有“自由”、“免费”的双重含意),那么“开放源代码”的名字则会引起的误解则更多。“开源”很容易让人认为是只要把原始码“公开”出来就算是开源了,即“你可以看到原始码”。但是如果用户的自由仍然得不到尊重,那么即使公开原始码也没有意义。有的软件公司只是为了想找用户帮它除错、吸收社区贡献的功能,这样子会破坏了自由软件的原意。一个例子是Tivo公司生产的机顶盒。虽然它基于GNU/Linux,TiVo公司也按照许可证发布了原始码,但是却禁止用户在机顶盒上运行自己的程序,或重新安装系统。[9]
  3. 自由软件的原意就是要给予用户运用软件的自由,这个‘自由’就是自由软件的精神所在。但是一些商业化开放的原始码却故意忽略了这个最重要的精神,反而无法让用户体认到‘自由’的真意,那么开源这一个替代自由软件的辞句反而把自由的原意除去了。

自由软件的精神领袖理查德·马修·斯托曼很反对人们把开放源代码和自由软件混为一谈。[10]

参考文献[编辑]

  1. ^ What is free software and why is it so important for society?. Free Software Foundation, Inc. [2011-10-05] (英语). 
  2. ^ 原文如下:Free software is a matter of liberty, not price. To understand the concept, you should think of 'free' as in "free speech", not as in "free beer"
  3. ^ GNU 工程的哲学. 
  4. ^ GNU's Bulletin, vol. 1 no. 6
  5. ^ Debian Free Software Guidelines(DFSG,内有各种语言版本)
  6. ^ The Free Software Definition. Gnu.org. [2010-11-12]. 
  7. ^ GNU General Public License
  8. ^ 引用自:copycenter
  9. ^ GNU 工程的哲学. 
  10. ^ Why“Open Source”misses the point of Free Software

外部链接[编辑]

参见[编辑]