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

自由软件

维基百科,自由的百科全书
跳转至: 导航搜索
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]

开源软件未必自由[编辑]

开源软件未必自由,自由软件必定满足开源(自由软件更加宽松舒适,开源软件限制较)。GNU project致力于开发hurd(微内核)自由软件。但是hurd开发太烂跟不上计算机发展,紧急情况GNU引入第三方开发的Linux(宏内核),这个第三方就是指Linux之父(Linus torvalds,中文名:林纳斯)。但是Linux是GPL v2许可证,并非v3,所以Linux某部分闭源。GNU一怒之下改造出了Linux-Libre谈判LinuxLinux-Libre真正做到100%自由软件(上文说,自由软件更加宽松舒适)。举个例子,parabola、gnewsense就是100%自由的Linux-Libre发行版

Linux的logo是一只黑白皮毛的企鹅,Linux-Libre却是一只淡蓝色皮毛的企鹅

GNU官方澄清:GNU英文发音其实是“Ge nu”,分为两个音。第一个读音是“咯噔”开头的“ge”短音。再把“loop”读音转化成“noop”,提取出“怒”的长音作为第二个读音

自由软件翻译成英文libre software,自由未必翻译成free。免费的英文翻译成gratis,严禁翻译成free

参考文献[编辑]

  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

外部链接[编辑]

参见[编辑]