跳转到内容

自由软件

本页使用了标题或全文手工转换
维基百科,自由的百科全书
GNU计划的自由软件之标志。
自由软件思维导图

自由软件(英语:free software)是允许用户自由地使用、复制、研究、修改和分发的软件

概念的来源

[编辑]

1983年9月,理查德·斯托曼在net.unix-wizards和net.usoft新闻组上公布了GNU计划。因为先前在MIT经历了施乐打印机故障,惟软件原理不开放导致斯托曼无法把编写好的卡纸提醒程序上载至打印机,专有软件日渐强大的势头让斯托曼感到他有义务去保护和传承他曾经在MIT所感受到的黑客文化。斯托曼又不断在此新闻组上更新自己的论述,最终,在 《Dr. Dobb’s Journal of Software Tools》这本杂志的 1985 年 3 月期上,他把之前在新闻组上的论述汇编成为了第一版的GNU 宣言[1]。GNU宣言在行文中提到了freeware,但是与今天广为流传的免费软件[2]不同,这里的freeware是指一种能够分享软件代码原理的,允许大众买卖,自由分发的特殊软件类型。后来GNU计划的参与者为了避免歧义就使用了Free Software(中文:自由软件)这一词组[3]

定义

[编辑]

在英文里“free”一词有“自由”、“免费”[4]的双重含意。为了避免歧义,斯托曼对 Free Software 中 free 的含义做出了如下解释[5][6]

“自由软件的重点在于自由权,而非价格。要了解其所代表的概念,你应该将“free”想成是“言论自由”(英语:free speech)一词中的含义,而不是“免费啤酒”(英语:free beer)一词中的含义。”

自由软件允许商业行为

[编辑]

符合自由软件定义的许可证不会限制对于软件二进制文件的贩卖[5][7],一些许可证如GNU通用公共许可证第三版甚至允许使用物理介质分发源代码的时候收取一定量的工本费[8]。但是,对于GNU通用公共许可证第三版来说,其条款要求著作权所有者不可索要向用户授权费或版税,或就用户行使其所授任意权利时征收额外费用[8]

根据SPDX的网站记录[9]自由软件基金会定义的自由软件受到该组织认可的自由软件许可证保护而发布(或是放置在公有领域)。

自由软件基金会的自由软件定义

[编辑]

自由软件基金会(FSF)对自由软件的定义并非一步到位,于1986年发表的GNU's Bulletin, vol. 1 no. 1定义了两种软件上的自由[10]

根据FSF如今的定义,自由软件能赋予用户四种自由:[11][注 1]

  • 自由度0:无论用户出于何种目的,必须可以按照用户意愿,自由地运行该软件。
  • 自由度1:用户可以自由地学习并修改该软件,以此来帮助用户完成用户自己的计算。作为前提,用户必须可以访问到该软件的源代码。
  • 自由度2:用户可以自由地分发该软件的拷贝,这样就可以助人。
  • 自由度3:用户可以自由地分发该软件修改后的拷贝。借此,用户可以把改进后的软件分享给整个社区令他人也从中受益。作为前提,用户必须可以访问到该软件的源代码。

分歧

[编辑]

开源软件概念的出现

[编辑]

根据开放源代码促进会(OSI)的历史记录,在帕洛阿尔托的一次自由软件峰会上,因为部分参会者想避免Free Software这个标签所带来的哲学和政治含义,他们就提出使用Open Source(中文:开源)这一词组代指自由软件[12]。gnu.org的论述则认为在早期,部分人使用“Open Source”是为了避免“Free”所带来的歧义[13]。如今,自由软件基金会与开放源代码促进会分别认可的自由软件许可证与开源软件许可证已经不完全重叠[9]

最早的开源定义参考了Debian 自由软件指导方针,并于1998年首次发布[14]。从OSI的创始人之一ESR看来,开放源代码运动的哲学是使用开放的开发方式,尽可能的使软件优化[15]。而OSI的另一位创始人布鲁斯·佩伦斯则在Debian的官方邮件列表里公开表示:[16]

It's Time to Talk About Free Software Again[注 2]

虽然大多数的开放源代码软件同时也是自由软件,但是,gnu.org认为“开源”这个词并没有抓住自由软件的真正涵义,容易让人过于着重软件的质量、流行与成功而忽视或抛弃自由软件哲学的道德观和价值取向,力主使用“自由软件”这一概念。[17]

对于许可证类型的偏好

[编辑]

根据gnu.org的记载,宽松许可证的支持者中有人认为使用这样的许可证是一种谦逊的行为[18],也有这类许可证的支持者则认为不应该对下游软件开发者说不[19],因此他们倾向于使用较为宽松的,类似BSD这样的许可证。不过,BSD,MIT这类许可证因为缺少相关的说明并不能避免其成果被专利流氓利用[20][21]。同样是宽松许可证的Apache 2.0在许可证文本中则明确提到专利权,正确运用的情况下能保护著作权所有者的相关权利[22]TechCrunch的一篇文章举例,若开发者研发出了一种已经自行申请了专利的新图像处理算法,并将其加入了某使用Apache 2.0许可证的软件之后,该算法的专利保护效应能通过该许可证传播到所有该软件用户的软件上[注 3][20][21]

对于宽松[23]的自由软件许可证,gnu.org认为,如果允许自由软件的派生作品成为专有软件,那么你就无法捍卫他人的自由了[18][19]。例如FreeBSD项目的软件被集成进专有的PlayStation 4系统[24],以及BSD系列许可证的TCP/IP协议栈在专有软件Microsoft Windows中的使用等[25]

开发自由软件的动机

[编辑]

部分经济学论文指出:软件市场中,软件分发的边际成本可以忽略不计[26]Ghosh (1998) 在其论文中把网络上流通的免费的财货比作“大汤锅”(cooking pot);自由或开源软件的开发者把他们的软件倒入一口公共的“汤锅”,汤锅里的混合物可以被任何人自由的获取。ESR 认为激励人们编写软件并捐赠的动机是:开发并分发对于特定领域的软件解决方案所带来的荣誉感和自我实现[26]

根据来自麻省理工斯隆管理学院的研究者在2003年发表的一篇论文,他们透过网络问卷的方式统计到了软件开发者开发自由或开源软件的几种动机:

  • 内在动机:
  • 外在动机:

对自由软件的批评

[编辑]

Debian项目与OSI的前领导人布鲁斯·佩伦斯认为:尽管自由软件与开源软件对社会作出了诸多贡献,但是现存的自由软件和开源软件定义及其许可证并不能真正保护开发者的利益。因此他提出了Post Open英语Post Open Source这一概念。在他的设想中,Post Open的法律条款将明确开发者与使用其产品的公司之间的财务关系[27]。他也致力于减少新FOSS许可证的产生[27]

Ruby开源社区的Coraline Ada Ehmke认为现有的自由/开源软件许可证并不能限制政府、大公司、群体甚至个人作恶。所以,她主持起草了一个新的许可证:Hippocratic许可证。据Wired的报道,这个新的许可证允许任意用途的修改和分发,但有一个重大例外:以这个许可证约束的软件不能用于对个体或者集体的灭绝,伤害;不能威胁到个体或集体的物理,精神,经济状况或者总体福祉[28]

影响

[编辑]
这是一个运行着 KDE Plasma 6的 Guix System 的截图。图中打开的窗口有Okular文档阅读器、KDE分区管理器、系统设置的关于此系统页面,以及一个Falkon浏览器窗口正在显示CPU微码的运作原理。
这是一个运行着KDE Plasma 6Guix System的截图。

根据所有使用W3Counter技术的网页所收集的数据[29],搭载 Linux 内核[注 4]的计算设备(包括并主要是Android OS)在2025年二月已经占全球计算设备份额的 46.64%,居操作系统市场份额的第一位。根据 w3techs 收集到的数据[30],在他们能识别操作系统类型的服务器中,56.1%的网页服务器使用Linux操作系统。GCC作为最早的自由软件编译器套装之一,许多自由软件或专有软件——包括操作系统都是使用这一编译器套装进行编译的,其技术规范甚至成为了开源软件社区的事实标准[31]自由软件目录曾经由FSF与联合国教科文组织共同运营[32]

维基媒体基金会旗下的许多项目都使用了MediaWiki这一自由的Wiki引擎。根据新浪科技2021年的转载,维基百科作为自由内容的网络在线百科全书之一每日有接近 30 万名的“维基人”参与编辑[33]。在浏览器组件中,KDE项目的网页渲染引擎KHTMLApple Inc.分叉出了WebKit,并作为Safari的渲染内核;而WebKit中的WebCore组件又被分叉成为了Chromium系浏览器的排版引擎Blink[34]

一些有名的编程语言及其实现使用宽松自由软件许可证,如PythonGo[35]

参见

[编辑]

注释

[编辑]
  1. ^ 如下是其在 gnu.org 官网上的中文翻译,可能与原意存在些许偏差
  2. ^ 中文:是时候重新开始谈论自由软件了
  3. ^ 显然包括该软件的各种下游修改
  4. ^ Linux内核使用GPLv2-only自由软件协议。

参考文献

[编辑]
  1. ^ Bustillos, Maria. The GNU Manifesto Turns Thirty The GNU Manifesto Turns Thirty. 2015-03-17 [2025-03-29] –通过Condé Nast. (英语). 
  2. ^ Definition of FREEWARE. www.merriam-webster.com. [2025-03-30] (英语). 
  3. ^ Stallman, Richard. The GNU Manifesto. gnu.org. 2021-11-02 (英语). 
  4. ^ Definition of FREE. www.merriam-webster.com. 2025-03-18 [2025-03-29] (英语). 
  5. ^ 5.0 5.1 什么是自由软件?. www.gnu.org. [2022-08-07]. (原始内容存档于2021-04-28) (中文(中国大陆)). 
  6. ^ Second sight. theguardian.com. Guardian News & Media Limited. [2025-03-28] (英语). 
  7. ^ Why Making Money from Free Software Matters - The H Open: News and Features. www.h-online.com. [2019-04-16]. (原始内容存档于2021-03-02). As companies like Red Hat have grown in size and profitability, so has the credibility of free software options among larger enterprises. 
  8. ^ 8.0 8.1 GNU General Public License. www.gnu.org. [2019-04-16]. (原始内容存档于2021-05-08) (英语). 'b) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by a written offer, valid for at least three years and valid for as long as you offer spare parts or customer support for that product model, to give anyone who possesses the object code either (1) a copy of the Corresponding Source for all the software in the product that is covered by this License, on a durable physical medium customarily used for software interchange, for a price no more than your reasonable cost of physically performing this conveying of source, or (2) access to copy the Corresponding Source from a network server at no charge.'; 'For example, if you distribute copies of such a program, whether gratis or for a fee, you must pass on to the recipients the same freedoms that you received. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights.'; 'You may not impose any further restrictions on the exercise of the rights granted or affirmed under this License. For example, you may not impose a license fee, royalty, or other charge for exercise of rights granted under this License, and you may not initiate litigation (including a cross-claim or counterclaim in a lawsuit) alleging that any patent claim is infringed by making, using, selling, offering for sale, or importing the Program or any portion of it.' 
  9. ^ 9.0 9.1 SPDX Workgroup. SPDX License List. spdx.org. 2024-12-30 [2025-04-13] (英语). 
  10. ^ Stallman, Richard Matthew. GNU's Bulletin, vol. 1 no. 1. [2025-04-13] (英语). 
  11. ^ The Free Software Definition. Gnu.org. [2010-11-12]. (原始内容存档于1998-01-26). 
  12. ^ History of the OSI. Open Source Initiative. [2025-04-12] (美国英语). 
  13. ^ 理查德・斯托曼. 为什么开源错失了自由软件的重点. 2024-01-01 [2025-04-13] (中文(中国大陆)). 
  14. ^ The Open Source Definition (Annotated) | Open Source Initiative. opensource.org. [2019-04-16]. (原始内容存档于2021-05-05). The Open Source Definition was originally derived from the Debian Free Software Guidelines (DFSG). 
  15. ^ open source. 大英百科. 2025-02-27 [2025-04-01] (英语). 
  16. ^ Perens, Bruce. It's Time to Talk About Free Software Again. 1999-02-17 [2025-04-11] –通过lists.debian.org (英语). 
  17. ^ GNU 工程的哲学. www.gnu.org. [2015-03-05]. (原始内容存档于2021-01-12) (中文(中国大陆)). 
  18. ^ 18.0 18.1 自由软件基金会. 为什么选择 Copyleft?. gnu.org. 2022-04-27 [2025-04-30] (中文(中国大陆)). 其中一种论点声称他使用 BSD 许可证的一种是“谦逊的行为”:“除了要写上我的贡献外,我没有要求使用我的程序代码的人任何其他事情。”将这种提及其贡献的法律要求描述为“谦逊”是十分牵强的,但这里有一个更深层次的问题需要考虑。谦逊是不在意自己的利益,但是当你不对代码使用 Copyleft 许可证时,你所放弃的远不止是你自己的利益。一些在非自由软件中使用你的代码的人正在剥夺他人的自由,所以如果你允许这样的事情发生,那么你就无法捍卫那些人的自由。当涉及到捍卫每个人的自由时,躺平无所作为是一种懦弱而非谦逊的行为。在 BSD 许可证的一种,或一些其他的松散、纵容型许可证下发布你的代码并没有错;这个程序仍然是自由软件,它也仍然对我们的社区有所贡献。但这种贡献微乎其微,在大多数情况下,这并不是促进用户分享和修改软件之自由的最佳方式。 
  19. ^ 19.0 19.1 gnu.org. www.gnu.org. [2019-04-16]. (原始内容存档于2021-04-12) (英语). Some free software developers prefer noncopyleft distribution. Noncopyleft licenses such as the XFree86 and BSD licenses are based on the idea of never saying no to anyone—not even to someone who seeks to use your work as the basis for restricting other people. Noncopyleft licensing does nothing wrong, but it misses the opportunity to actively protect our freedom to change and redistribute software. For that, we need copyleft. 
  20. ^ 20.0 20.1 Sawers, Paul. Open source licenses: Everything you need to know. TechCrunch. 2025-01-12 [2025-04-30] (英语). 
  21. ^ 21.0 21.1 Stallman, Richard. The BSD License Problem. gnu.org. 2021-12-25 [2025-04-30] (英语). 
  22. ^ 葛冬梅,林诚夏. 利用 Apache-2.0 程式所應遵守的義務規定. 自由軟體鑄造場. 2013-03-26 (中文(台湾)). 
  23. ^ gnu.org. www.gnu.org. [2019-04-16]. (原始内容存档于2010-07-24) (英语). 
  24. ^ Larabel, Michael. Sony's PlayStation 4 Is Running Modified FreeBSD 9. Phoronix. 2013-06-23 [2025-04-01] (英语). 
  25. ^ stp. Microsoft: We Use FreeBSD. betanews. 2001-06-18 [2025-04-01] (英语). 
  26. ^ 26.0 26.1 Khalak, Asif. Economic Model for Impact of Open Source Software. Cambridge MA 02139: Massachusetts Insitute of Technology. 2001: 2. 
  27. ^ 27.0 27.1 开源计划联合创始人畅想“后开源世界”:废除GPL. The Register. 2023-12-31 [2025-04-11]. (原始内容存档于2024-01-18) (中文(中国大陆)). 
  28. ^ Klint Finley. An Open Source License That Requires Users to Do No Harm. WIRED. 2019-10-04 [2025-04-13] (英语). 
  29. ^ W3Counter: Global Web Stats - February 2025. www.w3counter.com. [2025-04-10]. 
  30. ^ Usage Statistics and Market Share of Linux for Websites, April 2025. w3techs.com. [2025-04-10]. 
  31. ^ GCC: A World-Class Compiler Optimizing Linux and More - Linux Foundation. www.linuxfoundation.org. [2025-04-10] (英语). 
  32. ^ Open source and proprietary software. unesdoc.unesco.org. [2025-04-10] (英语). 
  33. ^ biu. 维基20周年,为什么它是“互联网奇迹”?. 极客公园. 2021-01-19 [2025-04-11] (中文(中国大陆)). 
  34. ^ Willis, Nathan. WebKit, Blink, and the big split [LWN.net]. lwn.net. 2013-09-18 [2025-04-13] (英语). 
  35. ^ 中关村在线. TIOBE发布2025年4月编程语言排行榜:Python第一,Kotlin等边缘化. 中关村在线. 2025-04-11 [2025-04-13] (中文(中国大陆)). 

外部链接

[编辑]