自由软件
自由软件
根据自由软件基金会的定义,自由软件是一种可以不受限制地自由使用、复制、研究、修改和分发但必须公开源代码的软件。可以买卖。这方面的不受限制正是自由软件最重要的本质。要将软件以自由软件的形式发表,通常是让软件以“自由软件授权协议”的方式被分配发布,以及公开的软件原始码。自由软件对全世界的商业发展有巨大的贡献。自由软件使成千上万的人的日常工作更加便利,为了满足用户的各种应用需要,它以一种不可思议的速度发展。自由软件是信息社会下以开放创新、共同创新为特点的创新2.0模式在软件开发与应用领域的典型体现。主要分类有Copyleft(左版/版责)许可证和非Copyleft许可证两种。
使用定义
自由软件的英文为“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)中包含了理查德·斯托曼在一开始对自由软件使用定义的混淆。
大部分的自由软件都是在在线(online)发布,并且不收任何费用;或是以离线(off-line)实体的方式发行,有时会酌收最低限度的费用(例如:工本费),而人们可用任何价格来贩售这些软件。然而,自由软件与商业软件是可以共同并立存在的︰因为禁止贩卖软件是违反了自由软件的定义。
最早的开放源代码(open source)定义是在1998年创建,来自Debian的自由软件指引。当时大多数的开放源代码软件同时也是自由软件,反之亦然。
基于自由BSD的操作系统都是使用类似自由软件的授权协议,FreeBSDOpenBSD以及netbsd,不同的是它们对于“Copyleft”的阐述。这些操作系统的使用者常认为“copyleft”是一种对自由的过度限制,是一种自由的侵害。
“免费软件”(freeware)是一种不需付费就可取得的软件,但是通常有其他的 限制,使用者并没有使用、复制、研究、修改和分发的自由。该软件的源代码不一定会公开,也有可能会限制重制及发再行的自由,所以免费软件的重点是不需要花钱,而不是自由的软件。
自由软件基金会(FSF)对自由软件的定义首次于1989年发表。这份定义后来被布鲁斯·裴伦斯(Bruce Perens)改写为《Debian Free Software Guidelines》(DFSG,Debian自由软件指引)。
授权
根据理查德·斯托曼和自由软件基金会(FSF)的定义,自由软件赋予使用者四种自由:
· 基于任何目的,按你的意愿运行软件的自由(自由之零)。
· 学习软件如何工作的自由,按你的意愿修改软件以符合你的计算的自由(自由之一)。可访问源代码是此项自由的先决条件。
· 分发软件副本的自由,因此你可以帮助你的邻居(自由之二)。
· 将你修改过的软件版本再分发给其他人的自由(自由之三)。这样可以让整个社区有机会共享你对软件的改动。可访问源代码是此项自由的先决条件。
自由度3允许用户自由地发布软件的修改版。自由软件不一定要求修改版必须继续采用自由软件许可证。换句话说,自由软件许可证可以不必是copyleft许可证。但是,如果一个软件许可证要求修改后的软件必须以非自由软件的形式发布,那么该许可证则不被视为自由软件许可证。
许可证
GPL
GNU通用公共许可证
使用者必须接受软件的‘License’,才能复制和修改该软件,而在自由软件中,最常见的授权方式就是全球扑克联赛- GNU General Public License 了。
因为使用者是取得了自由软件的源代码,那么如果使用者修改了它的源代码,基于公平互惠的原则,使用者也必须对接收者提供其修改的源代码成果。而这就是 GPL 的精神 - 自由、分享、互惠。
BSD
BSD license(BSD许可证)是"Berkeley Software Distribution license 的首字母缩写,是自由软件(开源软件的一个子集)中使用使用最广泛的许可证之一。BSD软件就是遵照这个许可证来发布,该许可证也因此而得名。
BSD套件最初所有者是加州大学的董事会,这是由于BSD源自伯克利加州大学。BSD开始后,BSD许可证得以修正,使得以后许多BSD变种,都采用类似风格的许可证。
跟其他许可证相比,从GNU通用公共许可证到限制重重的版权所有,BSD许可证比较宽松,甚至跟公有领域更为接近。事实上,BSD许可证被认为是copy center,介乎copyright(传统意义上的“版权”授权方式)所有与copyleft(GPL的“版责”,也属于版权授权方式的一种)之间。"Take it down to the copy center and make as many copies as you want"。
版权
自由软件可以自由取得,并且它的源代码可以自由修改并散布但它并不是没有版权。
自由软件里的版权非常重要。它正是GNU通用公共许可协议,这一确保自由软件保持自由,作者的工作得到肯定的核心机制所在。程序都是受版权保护的,不管是自由的还是专有的。
自由软件是指附带这样许可的软件,它允许任何人使用、复制和/或再分发,不论是逐字再分发还是再分发带有更改的版本,也不论免费还是有偿。特别地,这意味着源代码必须可获得。“如果它不是源代码,它就不是程序。”这是一种简化的描述;您可以在《什么是自由软件?》找到自由软件的完整定义。
如果一个程序是自由的,它可以潜在地被包含在一种自由的操作系统中,例如 GNU,或者 GNU/Linux 操作系统的 100% 使用自由软件构建的版本。
不用封闭格式
专有软件通常会使用专属的封闭格式,但这会极大地限制了使用者的自由度。而自由软件则完全不同,由于自由软件的源代码是公开的,所以它所使用的任何格式都是透明的。自由软件永远不会利用专属的封闭格式来限制使用者分发或修改的自由。
精神领袖
自由软件的精神领袖是理查德·斯托曼(Richard Stallman)。他被人称为‘最后的真正黑客’,他认为一个好的软件,便该自由自在地让人取用。软件不应该拿来作为相互倾轧、剥削的工具。所以他起草GNU通用公共许可证来保障自由软件的自由,并创办了自由软件基金会来贯彻他的理念。
运动
自由软件运动是信息社会下以开放创新、共同创新为特点的创新2.0模式在软件开发与应用领域的典型体现,是由那些支持自由软件的人士所发起的运动。Richard Stallman是该运动的主要发起人以及精神领袖。
自由软件运动人士认为自由软件的精神应当贯彻到所有软件:他们认为禁止计算机用户行使这种自由是不道德的行为。GNU 的目标是给予用户自由,而不仅仅是流行。所以需要使用可以阻止 GNU 软件被转变成私有软件的发行条款。FSF 对 GNU Project 使用的方法叫“左版”。
和开源的区别
开源软件运动的支持者更注重软件的质量和开发效率,而不是它的自由问题。开源软件支持者与自由软件支持者的最大不同在于,开源支持者不反对专有软件。支持开源软件的许多软件公司将不是左版(版责,Copyleft)的自由/开源 软件合并到限制性的专有软件里面。
被广泛用的软件
GNU/Linux 操作系统
Linux 内核
BSD
GCC 编译器
GNU Emacs 文本编辑器
GIMP 图像处理软件
Gnome 桌面
Python 编程语言
Qt 程序库
OBS 屏幕录制软件
VLC Media Player 媒体播放器
Xed 文本编辑器
LibreOffice 办公软件
开源软件区别
开源的标准比自由软件要弱一些。几乎所有的自由软件都算是开源软件,几乎所有开源软件也都是自由软件,但也有例外。首先是一些开源许可证过于严苛,因此并不能认定为是自由许可证。幸运的是,只有很少一些程序使用这样的许可证。
其次,实践中更重要的一点是,很多产品包含了计算机可以检查可执行程序签名的方法,以便阻止用户安装其它版本的可执行程序。即使可执行文件是从自由的源代码构建出来,用户却无法运行修改版,所以这个可执行文件也是非自由的。
FOSS和FLOSS
为了在自由软件和开源之间保持中立,常用“FLOSS”和“FOSS”(可参见《应避免或慎用的词》或文章“FLOSS 和 FOSS”)这种说法。如果你的目标是中立性,那么“FLOSS”更好,因为这真的很中立。如果你更想表达自由,那么用中立的说法并不好。站在自由的一边,让人们看到你对自由的支持。
意义及发展
意义
自由软件运动的发展使得用户的计算机将摆脱各种限制——你应该并且可以在自由软件世界拥有对计算机处理数据的控制权。自由软件使得我们不用再为了软件的bug而焦头烂额,也不必担心软件的可扩展性。每个公司可以为自己的计算机和公司情况定制,也不必担心骇客(Creaker)因为找到一个漏洞就能够对大片服务器实施破坏——由于你有权雇佣自己信赖的程序员来帮你升级和定制你(或者你公司的)内部使用软件版本(自由软件运动并不反对仅供内部使用而不对外发布的软件)。
安全性
有人认为:由于自由软件的源代码可得,因此没多大可能安全。
一个短而有力的反驳:大部分的服务器都运行自由软件。它们可是持有敏感或机密信息比如你的银行帐户细节或贸易机密的联了网的计算机
一个更确切的回答是源代码可得是安全的保证,而不是隐患。软件的自由确保了它能被广泛的社区察看,测试和改进。一把好锁就算用于设计它的技术是公开的,也是安全的,因为只有钥匙持有者才能打开它。对软件也是同样的道理。
商业化
自由软件的哲学拒绝一类特定的广为人知的商业实践,但是它并不反对商业。当商业尊重用户的自由时,我们祝愿它们成功。
目录
概述
使用定义
授权
许可证
GPL
BSD
版权
不用封闭格式
精神领袖
运动
和开源的区别
被广泛用的软件
开源软件区别
意义及发展
意义
安全性
商业化
参考资料