君子性非异也,善假于物也。

如有恒,何须三更起,半夜眠;最怕莫,三天打鱼两天晒网,竹篮打水一场空!
posts - 31, comments - 23, trackbacks - 0, articles - 30
  C++博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

自由软件定义

Posted on 2006-08-03 14:48 neter 阅读(286) 评论(0)  编辑 收藏 引用 所属分类: 狂人日记

 [image of a Philosophical Gnu]

我们维护本文来彰显自由软件定义,说明什么软件才合适被称为「自由软件」。

「自由软件」关於「自由」而不是价格,「自由 (Free) 」这个概念并不是指「免费的啤酒」,而是指「言论自由」【因为英文的自由和免费视同一个字: free】。

自由软件所指称的软件,其使用者有使用、复制、散布、研究、改写、再利用该软件的自由。更精确地说,自由软件赋予使用者四种自由:

  • 不论目的为何,有使用该软件的自由(自由之零)。
  • 有研究该软件如何运作的自由,并且得以改写该软件来符合使用者自身的需求(自由之一)。取得该软件之源码为达成此目的之前提。
  • 有重新散布该软件的自由,所以每个人都可以藉由散布自由软件来敦亲睦邻(自由之二)。
  • 有改善再利用该软件的自由,并且可以发表改写版供公众使用,如此一来,整个社群都可以受惠。如前项,取得该软件之源码为达成此目的之前提(自由之三)。

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

使用者也应该有自由改写软件的权利,并且可以将这些软件再利用在工作上或是娱乐上。

使用软件的这份自由权适用於任何人、任何组织、任何电脑系统、任何工作性质,不用特别和软件作者或是其他特别的人或单位报备。

再散布软件的自由必须同时适用於原版和改写版软件的二进制码和源码上,如果无法制作二进制码的版本,则此动作可以略过,但是如果后来的使用者找到其它可以制作二进制码的方式,她们必须有再散布二进制码的自由。

为了成就改写并发表改写版的自由,使用者必须有取得该软件源码的管道,所以,取得源码为自由软件之本。

为了使这些自由成真,只要使用者没犯下滔天大罪,这些自由权利不能被改变。如果使用者并未做错事,而该软件的作者却拥有取消或撤回其许可方式的权力,那么该软件不是自由软件。

但是,如果额外的规定不和上述四项主要的自由权利相冲的话,这些有关散布自由软件的额外规定是可被接受的。例如,另类版权 copyleft 规定说,当重新散布该软件时,作者不能加限制拒绝其他人主要的自由权利,这个规定并不和上述的主要自由相冲,反而更进一步保障了使用者的自由软件权益。

使用者可以付费取得 GNU 的软件,或者,使用者也可以免费取得这些软件,但是,不管使用者是如何取得这些软件的,她/他们必须永远有权利复制或是改写这些软件,甚至 贩售 这些软件。

自由软件因此并不是「非商业软件」。自由软件必须适用於商业用途。自由软件的商业开发模式已很常见;这样的自由商业软件相当重要。

如果不影响到后来的使用者发行改写的权利规定,则额外加入的规范如何将一个改写后的自由软件制作为套件的相关规定亦可行。同理,像这类「如果你用这种方式发行软件,你必须让这个软件也能在这种情况下可得」的措辞也是在许可之下的(这类规定也让使用者有该不该发行该软件的选择)。如果许可证要求「在当你发行修订版时,若先前的开发者要求一份拷贝,则你必须提供」的条件,它也是符合自由的。


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理