- 中文名
- 自由软件
- 外文名
- Free Software
- 解释权
- 自由软件基金会
- 特 性
- 可以商业性或非商业性地复制修改
- 概念创始人
- 理查德·斯托曼
自由软件的英文为“free software”。“free”在英文中有“自由”(freedom)、“免费”(free of charge)的双重含义,因此要学会分辨“自由软件”(free software)和“免费软件”(freeware)。自由软件运动的创始人——理查德·斯托曼提供了以下的定义:“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”,中文译文:自由软件的重点在于自由,而非价格。要了解其所代表的概念:应该将“free”想成是“free speech”(言论自由)中的“free”(自由),而不是“free beer”(免费啤酒)中的“free”(免费)。更精确的说,自由软件代表电脑使用者拥有选择和任何人合作之自由、拥有掌控他们所用的软件之自由。在GNU宣言(GNU Manifesto)中包含了斯托曼在一开始对自由软件使用定义的混淆。
自由的程序有时是免费发布的,而有时则需要收费。有时同一个程序可以在不同的地方分别以这两种方式发布。无论其价格如何,这种程序都是自由的,因为用户在使用时是自由的。
自由软件基金会(FSF)对自由软件的定义首次于1989年发表。这份定义后来被布鲁斯·裴伦斯(Bruce Perens)制作了一份修改版《Debian Free Software Guidelines》(DFSG,Debian自由软件指引),作为Debian发行版项目的自由判断标准。
- 基于任何目的,按你的意愿运行软件的自由(自由之零)。
- 学习软件如何工作的自由,按你的意愿修改软件以符合你的计算的自由(自由之一)。可访问源代码是此项自由的先决条件。
- 分发软件副本的自由,因此你可以帮助他人(自由之二)。
- 将你修改过的软件版本再分发给其他人的自由(自由之三)。这样可以让整个社区有机会共享你对软件的改动。可访问源代码是此项自由的先决条件。
自由度3允许用户自由地发布软件的修改版。自由软件不一定要求修改版必须继续采用自由软件许可证。换句话说,自由软件许可证可以是一个非copyleft许可证。但是,如果一个软件许可证要求修改后的软件必须以非自由软件的形式发布,那么该许可证则不被视为自由软件许可证。
BSD license(BSD许可证)是“Berkeley Software Distribution license” 的首字母缩写,是自由软件(开源软件的一个子集)中使用使用最广泛的许可证之一。BSD软件就是遵照这个许可证来发布,该许可证也因此而得名。
跟其他许可证相比,从GNU通用公共许可证到限制重重的版权所有,BSD许可证比较宽松,甚至跟公有领域更为接近。事实上,BSD许可证被认为是copy center,介乎copyright(传统意义上的“版权”授权方式)所有与copyleft(GPL的“左版”,也属于版权授权方式的一种)之间。"Take it down to the copy center and make as many copies as you want"。
自由软件可以自由取得,并且它的源代码可以自由修改并散布,但它并不是没有版权。
自由软件是指附带这样许可的软件,它允许任何人使用、复制和/或再分发,不论是逐字再分发还是再分发带有更改的版本,也不论免费还是有偿。特别地,这意味着源代码必须可获得。“如果它不是源代码,它就不是程序。”这是一种简化的描述;您可以在《什么是自由软件?》找到自由软件的完整定义。
专有软件通常会使用专属的封闭格式,但这会极大地限制了使用者的自由度。而自由软件则完全不同,由于自由软件的源代码是公开的,所以它所使用的任何格式都是透明的。自由软件永远不会利用专属的封闭格式来限制使用者分发或修改的自由。
自由软件的精神领袖是理查德·马修·斯托曼(Richard Stallman)。他被人称为‘最后的真正黑客’,他认为一个好的软件,便该自由自在的让人取用。软件不应该拿来做为相互倾轧、剥削的工具。所以他起草GNU通用公共许可证来保障自由软件的自由,并创办了自由软件基金会来贯彻他的理念。
自由软件运动是信息社会下以开放创新、共同创新为特点的创新2.0模式在软件开发与应用领域的典型体现,是由那些支持自由软件的人士所发起的运动。Richard Stallman是该运动的主要发起人以及精神领袖。
自由软件运动人士认为自由软件的精神应当贯彻到所有软件:他们认为禁止计算机用户行使这种自由是不道德的行为。GNU 的目标是给与用户自由,而不仅仅是流行。所以需要使用可以阻止 GNU 软件被转变成私有软件的发行条款。FSF 对 GNU Project 使用的方法叫“左版”。
开源软件
“开源软件”这一短语被某些人用于指代与自由软件或多或少地相同的一类软件。它们并不是与自由软件严格一致的一类软件。然而,两者外延的差别并不大——只有很少的开源软件不是自由软件。理论上也会有个别自由软件不被接受为是开源软件。
被广泛使用的自由软件
GNU/Linux 操作系统
Linux 内核
GCC 编译器
Gnome 桌面
Xed 文本编辑器
实际上,开源的标准比自由软件要弱一些。基本上所有的自由软件都算是开源软件。几乎所有开源软件也都是自由软件,但也有例外。首先是一些开源许可证过于严苛,因此并不能认定为是自由许可证。比如“Open Watcom”的许可证就不是自由的,因为它不允许将修改后的软件私人使用。幸运的是,只有很少一些程序使用这样的许可证。
其次,实践中更重要的一点是,很多产品包含了计算机可以检查可执行程序签名的方法,以便阻止用户安装其它版本的可执行程序。即使可执行文件是从自由的源代码构建出来,用户却无法运行修改版,所以这个可执行文件依然是非自由的。
自由软件运动的发展使得用户的计算机将不再受到过严的版权限制,也会避免侵犯你对自己的文件的控制权的事情——你可以在自由软件世界拥有对计算机处理过程和格式拥有完全的控制权。自由软件使得我们不用再为了软件的bug而焦头烂额,也不必担心软件的可扩展性。每个公司可以为自己的计算机和公司的具体情况定制,也不必担心骇客(Creaker)因为找到一个漏洞就能够对大片服务器实施破坏——由于你有权雇佣自己信赖的程序员来帮你升级和定制你(或者你公司的)内部使用软件版本(自由软件运动并不反对仅供内部使用而不对外发布软件的行为)。
有人认为:由于自由软件的源代码可得,因此没多大可能安全。
一个短而有力的反驳:大部分的服务器都运行自由软件。它们可是持有敏感或机密信息比如你的银行户账细节或贸易机密的联了网的计算机。
一个更确切的回答是源代码可得是安全的保证,而不是隐患。软件的自由确保了它能被广泛的社区察看,测试和改进。一把好锁就算用于设计它的技术是公开的,也是安全的,因为只有钥匙持有者才能打开它。对软件也是同样的道理。