自由软件

更新时间:2024-03-17 18:33

根据自由软件基金会的定义,“自由软件”(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)中包含了斯托曼在一开始对自由软件使用定义的混淆。

售卖自由软件

GNU 工程的精神并非是不该对软件发行的副本收费,或者应只收取很少的钱——只要是成本价即可——这是一种误解。

自由的程序有时是免费发布的,而有时则需要收费。有时同一个程序可以在不同的地方分别以这两种方式发布。无论其价格如何,这种程序都是自由的,因为用户在使用时是自由的。

免费软件

Freeware”这一短语没有明确并且公认的定义,但它通常被用于指代那些允许再分发但禁止修改(并且其源代码不可获得)的软件包。这些软件包不是自由软件。

定义的发表

自由软件基金会(FSF)对自由软件的定义首次于1989年发表。这份定义后来被布鲁斯·裴伦斯(Bruce Perens)制作了一份修改版《Debian Free Software Guidelines》(DFSG,Debian自由软件指引),作为Debian发行版项目的自由判断标准

软件授权

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

自由度3允许用户自由地发布软件的修改版。自由软件不一定要求修改版必须继续采用自由软件许可证。换句话说,自由软件许可证可以是一个非copyleft许可证。但是,如果一个软件许可证要求修改后的软件必须以非自由软件的形式发布,那么该许可证则不被视为自由软件许可证。

许可证

GPL

GNU通用公共许可证

使用者必须接受软件的‘License’,才能复制和修改该软件,而在自由软件中,最常见的授权方式就是GPL- GNU General Public License 了。

因为使用者是取得了自由软件的源代码,那么如果使用者修改了它的源代码,基于公平互惠的原则,使用者也必须对接收者提供其修改的源代码成果。而这就是 GPL 的精神 - 自由、分享、互惠。

BSD

BSD license(BSD许可证)是“Berkeley Software Distribution license” 的首字母缩写,是自由软件(开源软件的一个子集)中使用使用最广泛的许可证之一。BSD软件就是遵照这个许可证来发布,该许可证也因此而得名。

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

跟其他许可证相比,从GNU通用公共许可证到限制重重的版权所有,BSD许可证比较宽松,甚至跟公有领域

产品版权

自由软件可以自由取得,并且它的源代码可以自由修改并散布,但它并不是没有版权。

自由软件里的版权非常重要。它正是GNU通用公共许可协议,这一确保自由软件保持自由,作者的工作得到肯定的核心机制所在。程序都是受版权保护的,不管是自由的还是专有的。

自由软件是指附带这样许可的软件,它允许任何人使用、复制和/或再分发,不论是逐字再分发还是再分发带有更改的版本,也不论免费还是有偿。特别地,这意味着源代码必须可获得。“如果它不是源代码,它就不是程序。”这是一种简化的描述;您可以在《什么是自由软件?》找到自由软件的完整定义。

如果一个程序是自由的,它可以潜在地被包含在一种自由的操作系统中,例如 GNU,或者 GNU/Linux 操作系统的 100% 使用自由软件构建的版本。

封闭格式

专有软件通常会使用专属的封闭格式,但这会极大地限制了使用者的自由度。而自由软件则完全不同,由于自由软件的源代码是公开的,所以它所使用的任何格式都是透明的。自由软件永远不会利用专属的封闭格式来限制使用者分发或修改的自由。

精神领袖

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

运动起源

自由软件运动是信息社会下以开放创新、共同创新为特点的创新2.0模式在软件开发与应用领域的典型体现,是由那些支持自由软件的人士所发起的运动。Richard Stallman是该运动的主要发起人以及精神领袖。

自由软件运动人士认为自由软件的精神应当贯彻到所有软件:他们认为禁止计算机用户行使这种自由是不道德的行为。GNU 的目标是给与用户自由,而不仅仅是流行。所以需要使用可以阻止 GNU 软件被转变成私有软件的发行条款。FSF 对 GNU Project 使用的方法叫“左版”。

开源软件

“开源软件”这一短语被某些人用于指代与自由软件或多或少地相同的一类软件。它们并不是与自由软件严格一致的一类软件。然而,两者外延的差别并不大——只有很少的开源软件不是自由软件。理论上也会有个别自由软件不被接受为是开源软件。

被广泛使用的自由软件

GNU/Linux 操作系统

Linux 内核

PHP

MySQL

BSD

GCC 编译器

GNU Emacs 文本编辑器

WordPress

GIMP 图像处理软件

Gnome 桌面

Python 编程语言

Qt 程序库

OBS 屏幕录制软件

VLC 媒体播放器

Xed 文本编辑器

LibreOffice 办公软件

标准区别

实际上,开源的标准比自由软件要弱一些。基本上所有的自由软件都算是开源软件。几乎所有开源软件也都是自由软件,但也有例外。首先是一些开源许可证过于严苛,因此并不能认定为是自由许可证。比如“Open Watcom”的许可证就不是自由的,因为它不允许将修改后的软件私人使用。幸运的是,只有很少一些程序使用这样的许可证。

其次,实践中更重要的一点是,很多产品包含了计算机可以检查可执行程序签名的方法,以便阻止用户安装其它版本的可执行程序。即使可执行文件是从自由的源代码构建出来,用户却无法运行修改版,所以这个可执行文件依然是非自由的。

意义发展

意义

自由软件运动的发展使得用户的计算机将不再受到过严的版权限制,也会避免侵犯你对自己的文件的控制权的事情——你可以在自由软件世界拥有对计算机处理过程和格式拥有完全的控制权。自由软件使得我们不用再为了软件的bug而焦头烂额,也不必担心软件的可扩展性。每个公司可以为自己的计算机和公司的具体情况定制,也不必担心骇客(Creaker)因为找到一个漏洞就能够对大片服务器实施破坏——由于你有权雇佣自己信赖的程序员来帮你升级和定制你(或者你公司的)内部使用软件版本(自由软件运动并不反对仅供内部使用而不对外发布软件的行为)。

安全性

有人认为:由于自由软件的源代码可得,因此没多大可能安全。

一个短而有力的反驳:大部分的服务器都运行自由软件。它们可是持有敏感或机密信息比如你的银行户账细节或贸易机密的联了网的计算机。

一个更确切的回答是源代码可得是安全的保证,而不是隐患。软件的自由确保了它能被广泛的社区察看,测试和改进。一把好锁就算用于设计它的技术是公开的,也是安全的,因为只有钥匙持有者才能打开它。对软件也是同样的道理。

免责声明
隐私政策
用户协议
目录 22
0{{catalogNumber[index]}}. {{item.title}}
{{item.title}}