自由软件和开源软件之间有区别吗?

我对这两个术语有点困惑。 他们之间有区别吗?

术语自由软件开源软件确实意味着不同的东西,尽管它们所指的软件类别几乎完全相同。

什么是免费软件?

自由软件是根据自由 (而非价格 )定义的,与免费软件不同 。 这个想法是,用户方面有一些自由软件尊重的自由(但是哪些非自由软件,也称为专有软件 ,不尊重)。 这包括自由使用和研究软件,以及分发和改进软件。

自由软件基金会是一个自由软件,基金的倡导和活动组织,并支持GNU项目 (它开发了大量的软件,进入GNU / Linux发行版 ,如Ubuntu),并且是许多公司的组织作者。最流行的免费软件许可证,包括GNU通用公共许可证 。 FSF 将自由软件定义为尊重四种自由的软件,我在这里引用[linkifications mine]:

(0)出于任何目的(自由0)自由运行程序。

(1)自由学习程序如何工作,并根据自己的意愿对其进行更改(自由1)。 访问源代码是此的前提​​条件。

(2) 重新分配副本的自由,以便您可以帮助您的邻居(自由2)。

(3)将修改版本的副本分发给他人的自由(自由3)。 通过这样做,您可以让整个社区有机会从您的变化中受益。 访问源代码是此的前提​​条件。

关于什么和不构成自由软件的另一个有用且重要的来源是Debian自由软件指南 (来自Debian项目, Ubuntu 源自的GNU / Linux发行 版 ,另见本文 )。

人们不需要订阅任何特定的意识形态来使用和倡导自由软件。 但是,自由软件的意识形态基础是这些自由本质上是好的(或至少对于软件质量和盈利能力技术问题之外的重要政治原因有利),人们有义务尊重这些自由,而软件应该在很大程度上取决于它是否尊重这些自由。 并非所有自由软件用户都坚持这些自由,有些人相信它们的重要性,但只是在有限的范围内,但许多用户都致力于它们,并构成了自由软件运动 。

什么是开源?

一些自由软件的支持者认为它有其他原因 – 特别是,由于自由促进协作的方式,自由软件优于专有软件,并且往往在技术上更优越。 有些人认为自由本质上是重要的,但不如开发技术上优秀的软件那么重要,或者自由与开发技术上优秀的软件一样重要或更重要,但是提倡以其他理由采用自由软件以便有效。

因此, 开源运动诞生了。 进入这一运动的一个想法是,针对企业的倡导应该强调开放(免费)发展模式的技术优点和盈利能力,而不是谈论道德或政治问题。 开源计划是作为开源运动的倡导组织而成立的,并确定并正式批准作为开源的许可 。 OSI的开源定义 直接基于Debian自由软件指南,这应该不足为奇,因为被认为是免费的软件的实际类别几乎与被认为是开源的软件类别完全相同。

旧的开源倡议常见问题解答表达了自由软件开源意识形态之间的实质相似性和不同观点:

开源倡议是一个自由软件的营销计划。 这是一个坚实务实的“自由软件”的倾向,而不是意识形态的重击。 胜利的实质没有改变,失败的态度和象征意义。

自由软件和开源的意识形态在实践中如何比较/对比?

虽然自由软件和开源软件背后的意识形态是不同的 – 或至少有不同的说法 – 具体确定这些术语在社区实际使用时的差异有点复杂。 由于它们指的是几乎完全相同的软件类别,人们倾向于选择他们认为最好的术语,无论是出于清晰,意识形态,社会认可,习惯还是其他原因。 此外,虽然自由软件和开源思想是截然不同的,但也有一些观点似乎弥合了两者,或者至少在一端和另一端开始时模糊。 例如,在他撰写Eric S. Raymond的The Cathedral and the Bazaar (ISBN 0-596-00108-8 )平装本纲要的前言中, Bob Young写道:

自由不是商业中的抽象概念。

任何行业的成功几乎与该行业的供应商和客户享有的自由度直接相关。 只是比较美国电话业务的创新,因为AT&T失去了对美国消费者的垄断控制权,而这些客户没有自由选择的创新速度。

这可以说不直接提到道德和政治问题。 但考虑一下秘鲁国会议员埃德加·维拉纽瓦引用的一个类似的考虑因素,解释他推动国家使用免费软件而不是专有软件(Graham Seaman的英文译本 ,也在这里主持 , 原文在这里 ):

对于像我们这样的国家的专有软件产生的工作,这些主要涉及总价值很小的技术任务; 在地方层面,为跨国公司生产的专有软件提供支持的技术人员无法修复错误,不一定是因为缺乏技术能力或人才,而是因为他们无法访问源代码来修复它。 使用自由软件,可以创造更具技术资格的就业机会和自由能力框架,成功只与提供良好技术支持和服务质量的能力相关联,一方面刺激市场,另一方面增加共享知识基金,开辟替代方案为所有参与者:生产者,服务组织和消费者带来更多总价值和更高质量水平的服务。

由于采用自由软件的实际后果包括政治和道德后果(在这种情况下,维拉纽瓦认为,秘鲁人民的智力和经济赋权),自由软件和开源思维中存在一些重叠(以及几乎完全重叠)在软件推荐中)。

正如本文前面所阐述的那样,开源运动最初的明确目标之一是明确地强调支持自由的倡导 :

这个标签的含义是,我们打算说服企业界采取我们的方式,出于经济,自利,非意识形态的原因。

但是采用另一个术语的另一个原始动机是开源这个术语比自由软件这个术语更少混淆,因为英语单词“free”也可以表示“免费”,即“价格为零” 。 看这篇基础论文 。 这吸引了一些人,他们出于道德或政治原因而更多地被自由软件所吸引,而不是认为它是一种更好的发展模式或商业模式,但他们同意“自由软件”一词​​缺乏并且应该被取代。 虽然这个术语已被certificate是令人困惑的,但“开源”这个术语也被certificate是混乱的,而Richard Stallman (自由软件基金会的创始人) 认为 “开源”一词本质上更具有混淆性和描述性较差。

我应该使用什么术语?

正如我(开始)写的那样,这个问题已经发布了五个答案。 其中两个( 这个和这个 )在开源的特征上基本上是正确的, 其中一个在自由软件的表征中基本上是正确的, 另一个几乎是正确的。 (请注意,这些答案可能已被编辑,因此不应将其视为当前状态的判断。)虽然我承认这里的抽样几乎没有定论,但我建议我们每个人都应该使用任何一个术语。 /他更喜欢清晰以外的原因,因为这两个术语都被大量的混淆所包围。

对于需要同时引用自由软件和开源软件(已经重叠)概念的情况,存在F / OSS(免费/开源软件),FOSS(免费[和]开源软件)的同义词和FLOSS(免费/自由/开源软件)。 请参阅有关这些术语的文章 ,以及有关自由软件替代术语的更一般主题的本文 。

有没有开源的免费软件吗?

可能不是。 通过自由软件定义和开源定义 ,自由0可能需要OSD标准5,6,7,8,9和10; 自由1要求OSD标准2(可能是7); 自由2可能需要OSD标准1,7,8和9; 和自由3可能需要OSD标准1,2,3,4,7,8和10。

是否有免费的开源软件?

遵循定义,是的,因为除了提供源代码的要求之外, 开源定义仅关注许cocoa能需要的内容。 相比之下,根据自由软件定义 ,软件是免费的,实际上必须能够实现四种自由。

实际上,绝大多数开源软件也是免费软件。 然而,至少在实践中, tivoization现象使得一些开源软件不是免费的。 当软件被设计为在特定设备上运行,并且该设备旨在防止修改版本实际工作时,用户无法行使自由1。

最近一期运行开源软件的设备实际上并不是免费的,这再次引发了开源自由软件概念的支持者之间的分歧。 开源运动吹捧着FOSS的技术优势。 但是,当软件的function实际上不在其用户的控制之下时呢? Richard Stallman 写道 [省略号]:

在电影和唱片公司的压力下,个人使用的软件越来越多地专门用于限制它们。 这种恶意特征……是自由软件旨在提供的自由精神的对立面。 而且不只是在精神上:由于DRM的目标是践踏您的自由,DRM开发人员试图让您更难实现DRM的软件,甚至是非法的。

然而,一些开源支持者提出了“开源DRM”软件。 他们的想法是,通过发布旨在限制您访问加密媒体的程序的源代码并允许其他人更改它,他们将生成更强大和可靠的软件来限制像您这样的用户。 然后,该软件将在不允许您更改的设备中交付给您。

该软件可能是开源的并且使用开源开发模型,但它不是免费软件,因为它不会尊重实际运行它的用户的自由。

关于自由软件在实践中必须尊重什么才能获得自由,存在着不同的想法。 但是关于tivoization是否使软件不自由的争议仍然是对自由的争议。 例如, Linus Torvalds认为不应该禁止对Linux进行 tivoization(他不喜欢这个术语),但这并不是说它实际上并没有阻止人们自由使用该软件(在另一台设备上)。

自由软件和开源如何应用于Ubuntu?

Ubuntu中的大多数软件都是免费软件和开源软件。 Ubuntu中的一小部分软件都不是。 (没有一个而不是另一个。) Ubuntu项目旨在生成一个尽可能免费的系统,同时尽可能多的用户仍然可以使用。

安装Ubuntu时,您可以选择安装非自由软件来执行播放MP3文件等function。 在Ubuntu中,Additional Drivers建议并促进某些设备(如video和网卡)的非免费驱动程序的安装。 多自由软件和合作伙伴存储库中也提供非自由软件(如Adobe Flash和Skype)。 此外,根据一个人对“包含”的定义,Ubuntu可能被认为包含非自由软件,因为软件中心提供了安装专有付费软件的能力。

虽然这些和其他因素使Ubuntu(以及大多数其他非常受欢迎的GNU / Linux发行版)不完全免费,并且可以说有更完全免费的发行版 ,但Ubuntu及其社区已经将免费软件 – 并支持它 – 带到了成千上万(如果不是数百万)本来可能永远不会使用它的人,并为全世界自由软件的传播做出了积极的贡献,并且使人们能够以自己的语言使用自由软件。 Ubuntu的理念是在自由和用户能力方面表达的:

我们相信每一位电脑用户:

  • 无需支付许可费即可自由下载,运行,复制,分发,研究,共享,更改和改进其软件。
  • 应该能够以他们选择的语言使用他们的软件。
  • 应该能够使用所有软件而不管残疾。

我们的理念体现在我们生产的软件,分发方式和许可条款中 – Ubuntu许可政策。

安装Ubuntu,您可以放心,我们所有的软件都符合这些理想。 此外,我们还在不断努力确保您可能需要的每一件软件都可以通过许可证获得,这些许可证可以为您提供这些自由。

然后继续讨论和赞扬自由软件开源运动,并说:

虽然有些人认为“自由”和“开源”是具有不同目的的竞争运动,但我们不这样做。 Ubuntu自豪地包括与两者都认同的成员。

无论您认为您的目标是与自由软件开源 ,两者,还是两者都不一致,我们都鼓励您使用Ubuntu满足您的需求。 只要您愿意通过遵守行为准则 对他人实践人性 ,您就会被鼓励参与Ubuntu社区!

“免费”可以表示两件事中的一件(或两件):“免费”,如“无成本”(“免费”,“像啤酒一样免费”),或“免费”,如“免费修改”(“自由,“”言论自由“)。

“开源”仅仅意味着开源人员可以获得源代码,并且不一定“像啤酒一样免费”,也不一定“像言论中一样自由”(虽然它可以是其中之一或两者)。

这是一个有用的维恩图: http : //www.gnu.org/philosophy/categories.html

没有权限可以定义单词的含义。 它是由如何使用来定义的,因此一个词的含义可以随着时间的推移而改变,或者一个词可以同时对不同的人群意味着不同的东西。

那说: 维基百科 , 自由软件基金会 , Debian项目 , Ubuntu项目 , GNU都同意一件事: “自由软件”是关于自由,而不是成本。 自由软件可以花钱或不花钱。

“开源软件”一词没有那么多的一致意见。 虽然有人说这意味着源代码可用( 维基百科上的一些句子)和GNU 。 其他人则认为自由软件和开源软件的概念大致相同,例如opensource.org 。 但是,分发修改后的软件的权利不一定是“开源软件”的一部分( 维基百科,但与此相反,又是开源定义 )。

将其他答案中的一些示例放入这些类别中:skype:both; Fedora :免费软件和开源软件; 谷歌浏览器:两者(据我所知),但Chromium是免费软件和开源软件;

结论:

许多团体花费了大量时间和精力让人们对这些术语感到困惑。 特别是自由软件基金会,它似乎有点使用“开源软件”一词​​,而不是开源倡议。 开源计划引入并大力推广了一个新术语(开源软件),基本上与已经建立的术语“自由软件”相同。

您还可以在此处阅读更多内容。

我要说的是,差异的一个例子,表明Shuttleworth比自由软件更开源,可以在以下引用中找到(为了回应与专有公司的合作):

如果你看待这个世界的方式真的更高效,更有效,更有洞察力和更实用,那么你应该相信你会长期获胜

(slashdot采访)

我认为自由软件的意见可能确实不会那么自信,从长远来看,事情会变得自由,而且在合作方面也不会认为它是如此相关。 你可以将它与认为奴隶制必然会消失因为它没有效率的比较:人们在自由,更多创新和没有反抗风险时工作得更好。 这是事实,但你也可以反对奴隶制作为一个更抽象的原则。

Free SoftwareOpen-source Software这个术语来自两个方面: –

  1. 自由软件运动和
  2. 开源运动

定义:-

  • 自由软件定义
  • 开源定义

GNU上有两篇与此相关的文章:

  • http://www.gnu.org/philosophy/open-source-misses-the-point.html (更新更好)

    这两个术语描述了几乎相同类别的软件,但它们代表基于根本不同的值的视图。 开源是一种开发方法; 自由软件是一种社会运动。 对于自由软件运动而言,自由软件是一种道德要求,对用户自由至关重要。 相比之下,开源的哲学只考虑如何使软件“更好” – 仅在实际意义上。 它说非自由软件是解决实际问题的一个较差的解决方案。

  • https://www.gnu.org/philosophy/free-software-for-freedom.html (较旧和已取代)

    两种运动之间的根本区别在于它们的价值观,以及它们看待世界的方式。 对于开源运动而言,软件是否应该是开源的问题是一个实际问题,而不是道德问题。 正如一个人所说, “开源是一种开发方法; 自由软件是一种社会运动。“对于开源运动,非自由软件是一种次优的解决方案。 对于自由软件运动,非自由软件是一个社会问题,自由软件就是解决方案。

关于OSI FAQ: – 什么是“自由软件”,它与“开源”是一样的吗?

在评估许可证时,FSF使用较短的四点软件自由定义,而OSI使用更长的十点定义。 这两个定义在实践中导致相同的结果,但使用表面上不同的语言来达到目的。

我在这里附上详细信息:

自由软件和开源如何与程序类别相关联

        / ---------------------------------------------- \
       / |  |  \
      / |  |  \
     / |  |  \
         |  |
         | 源许可证是GNU * GPL,Apache,|
         | 原BSD,修改BSD,|
免费|  X11,expat,Python,MPL等,|
         | 和可执行文件不是tivoized | 开源
         |  | 
         |  |
     \ |  |
      \ |  |
       \ |  |  /
        \ ---------------------------------------------- /
         |  tivoized(暴君)设备|  O |  /
         ---------------------------------------------- /

值得注意的(引用)注意事项: –

  • 在所有开源程序中,只有极小的部分不是免费的。 如果底行是按比例绘制的,那么它的文本必须是一个很小的字体,可能太小而无法读取。
  • Tivoized或“暴君”设备包含由免费源代码制作的非自由可执行文件。
  • “O”代表“其他”,指的是源代码是开源而非免费的许可证的程序。

  • 自由软件基金会 (为支持自由软件运动而成立)维护自由软件定义和免费软件许可列表 。

  • 开源计划 (致力于推广开源软件)定义并维护已批准的“开源”许可证列表 。