自由软件,英文译文为Free Software,以与免费软件(Freeware)相区别。“自由软件”是权利问题,不是价格问题。要理解这个概念,你应该想是“言论自由”中的“自由”,而不是“免费啤酒”中的“免费”。
GNU(GNU’s Not Unix)站点上有自由软件基金会(FSF)的关于自由软件的定义: 自由软件所指称的软件,其使用者有使用、复制、散布、研究、改写、再利用该软件的自由。
更精确地说,自由软件赋予使用者四种自由:
许多人在刚开始接触自由软件时都会很困惑,原因是自由软件中的自由一词并不是他们所期望的那样。对他们而言“自由”意味着“免费”。一本英文字典几乎能列出“Free”的二十种不同含义。其中只有一个是“免费”的意思,其余都与自由和不强制有关。当我们说自由软件的时候,我们想传达的是自由(Freedom),而不是免费。
仅仅意味着您不用付钱就能使用的免费软件根本谈不上自由。它们会禁止您传播,而且几乎可以肯定,它们会阻止您改善它们。软件标榜免费,在市场营销中通常是作为推销相关产品以及打击竞争对手的一种武器,它们没有承诺不会中止免费。
真正的自由软件永远都是自由(Freedom)的。被放在公共领域中的软件可能被引用到一个非自由软件中,此时它的任何改进就不再被公开,无法造福社区。要保持软件自由,必须遵循一定的著作权规定,并受许可证保护。
对于新手来说,一个软件要么自由,要么不自由。现实生活要比那个复杂的多。要理解人们在标榜自由软件时蕴涵了哪些信息,我们必须绕道去软件许可证的世界看一看。
著作权是一种手段,用来保护某些类型工作的作者的权利。在大部分国家,您所写的软件都是自动受著作权保护的。许可证是作者对别人使用他的作品(在这里指软件)的一种许可,是用户可以接受的条款。是否包含一个声明该软件使用方式的许可证,这一点取决于作者。要彻底弄请何谓著作权,请参考 http://www.copyright.gov/ 。
当然,许可证会视不同的情况而有所不同。软件公司为了保护它们的资产,通常只会发行已编译过的程序,让人们无法读取源代码,并且在使用上做出很多限制。相反的,自由软件的作者们通常会提出以下这些要求:
许多人会写他们自定义的许可证。不过要写出一个您真正想表达的许可证是一件很麻烦的事。有太多人写出用词不精确或是内容有矛盾的许可证。要写出一个可以在法庭上有效的许可证就更困难了。所幸的是,有一些已经写好的许可证可能就是您想要的。 目前三种最常使用的许可证是:
这些许可证有以下的共通点:
最后一条,说您可以销售自由软件,听起来似乎跟自由软件的理念有冲突。事实上这是自由软件的一股重要力量。既然许可证允许软件的自由传播,某个人就可以在得到软件之后自行重新传播,甚至是尝试销售它们。实际上,软件的数字拷贝从本质上来说是零成本的。另外供求关系也可以控制成本。为了方便用户,销售商可以把大量软件集中在一种介质上(例如光盘),统一发售并随意定价。如果有人想抬高价格牟取暴利,就会有其他竞争者进来压低价格。因此,您可以只用几块钱的价格买到由多张光盘组成的完整的Debian发行版。
虽然自由软件并非完全没有约束(只有公共领域的软件不受任何约束),它仍然提供给用户很大的弹性完成他们感兴趣的工作。同时,它也保护了作者的权利。这才称得上是真正的自由。
Debian项目是自由软件的鼎力支持者。因为有许多不同的软件许可证,所以用一份Debian自由软件指导方针(DFSG)来定义何谓自由软件。只有遵循这份指导方针的软件才能放在Debian发行版的main软件仓库中。
注:如果你想了解什么是GNU工程: http://www.gnu.org/gnu/thegnuproject.zh-cn.html