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


65

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


1
进行中的所有辩论都非常好。包含示例将是很棒的
Mysterio

1
哇,我对这个问题的进展感到惊讶。毫无疑问,将会有很好的答案。可能是该网站上最好的问题之一。
Christopher Kyle Horton

1
关于这两个术语的大量信息。来自优秀社区的出色反馈
Mysterio

Answers:


94

尽管自由软件开源软件所指的软件类别几乎完全相同,但它们的含义不同。

什么是自由软件?

自由软件是根据自由(不是价格)定义的,与自由软件不同。这个想法是,用户拥有一定的自由,这些自由是自由软件应遵守的(但非自由软件,也称为专有软件,是不遵守的)。这包括使用和研究软件以及分发和改进软件的自由。

自由软件基金会是免费软件,基金的宣传和维权组织,否则支持GNU项目(其中开发是进入软件的显著部分GNU / Linux发行版,如Ubuntu的),并为许多的组织作者最流行的自由软件许可证,包括GNU通用公共许可证。FSF 将自由软件定义为尊重四个自由的软件,在此我引用[linkifications mine]:

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

(1)自由学习程序的工作原理,并对其进行更改,使其可以按您的意愿进行计算(自由1)。前提条件是访问源代码

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

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

什么什么,不构成自由软件的另一个有用和重要的来源是Debian自由软件指导方针(从Debian的项目,在GNU / Linux发行版Ubuntu的派生,也看到这篇文章)。

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

什么是开源?

一些自由软件的支持者认为这是有好处的,这是出于其他原因-特别是由于自由促进协作的原因,自由软件比专有软件具有优势,并且通常在技术上趋于优越。一些人认为,自由本身是重要的,但不能作为重要的发展在技术上很好的软件,或者说自由是一样重要或比开发技术上良好的软件更重要,但它倡导以采用基于其他理由自由软件是非常重要的有效。

这样,开源运动就诞生了。其中一个是走进了思想这个运动是倡导针对企业应该强调的开放(自由)发展模式的技术优势和盈利能力,而不是谈道德或政治问题的概念。在开放源代码促进会成立作为宣传组织开源运动,并确定和正式批准许可证的开源。在OSI的开放源码定义直接依据 这在Debian Free Software Guidelines上并不奇怪,因为被视为免费的实际软件类别与被视为开源的实际软件类别几乎完全相同。

老开放源代码促进会FAQ表达两个基本相似之间不同的观点自由软件开源的意识形态:

开源计划是一项针对免费软件的营销计划。这是在坚实务实的基础上而不是在意识形态上大肆宣传“自由软件”的契机。胜利的实质没有改变,失败的态度和象征意义已经改变。

自由软件和开放源代码的思想在实践中如何比较/对比?

尽管自由软件和开源软件背后的意识形态是不同的-或至少说的是完全不同的-但要具体确定术语在社区中实际使用时的不同会更加复杂。由于他们指的是几乎完全相同的软件类别,因此人们倾向于选择他们认为最佳的术语,无论是出于清楚,意识形态,社会认可,习惯还是其他原因。此外,尽管自由软件和开源意识形态是截然不同的,但也有一些观点似乎将两者联系起来,或者至少模糊了一端和另一端的起点。例如,在埃里克·雷蒙德Eric S. Raymond)的《大教堂和集市》(ISBN 0-596-00108-8)的平装本简编的前言中,鲍勃·杨写道:

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

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

可以说,这没有直接提及道德和政治问题。但是,请考虑一下秘鲁国会议员埃德加·维拉纽耶娃Edgar Villanueva)在解释其推动该州使用自由而不是专有软件的努力时所引用的某种类似的考虑因素(格雷厄姆·西曼的英语翻译也曾在此托管原文在这里):

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

由于采用自由软件的实际后果包括政治和道德方面的分歧(在这种情况下,维拉纽耶娃认为,这是秘鲁人民的智力和经济权力),因此自由软件和开源思想存在一些重叠(以及几乎完全重叠)在软件建议中)。

开源运动最初的明确目标之一是不强调明确倡导自由主义,正如本文前面所述

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

但是,采用替代术语的另一个最初的动机是,与开源软件相比,术语开源不那么混乱,因为英文单词“免费”也可以表示“免费”,即“价格为零”。 。请看这篇基础文章。这吸引了一些人,他们出于道德或政治原因更倾向于使用自由软件,而不是因为认为这是一种更好的开发模型或业务模型,但他们同意缺乏“自由软件”一词​​,应予以取代。 。尽管该术语令人困惑,但“开源”一词也令人困惑, “开源”一词在本质上更容易混淆,描述性不足。

我应该使用什么术语?

当我写这篇文章时,已经有五个答案发布到这个问题上。其中两个(thisthis)在开源特性上基本上是正确的,其中一个在自由软件特性上基本上是正确的,另一个几乎是正确的。(请注意,这些答案可能已经过编辑,因此不应以它们的当前状态作为判断。)虽然我承认此处的抽样并非最终结论,但我建议我们每个人都应使用s / he出于其他原因(而不是明确性)而倾向于使用,因为这两个术语都充满了实质性的混乱。

对于需要同时参考自由软件和开源软件(已经重叠)的概念的情况,存在同义词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。

是否有不是免费的开源软件?

遵循定义,是的,因为除了提供源代码的要求外,开放源代码定义仅涉及许可可能要求的内容。相反,根据自由软件定义,要使软件自由,则实际上必须有可能行使这四个自由。

实际上,绝大多数开源软件也是自由软件。但是,旋转现象至少在实践中使某些开源软件变得非自由。当软件被设计为在特定设备上运行并且该设备被设计为阻止修改版本实际运行时,用户将无法行使自由1。

运行开源软件的设备(实际上不是免费的)的相对较新的问题重新点燃了开源自由软件概念的支持者之间的分歧。开源运动吹捧FOSS的技术优势。但是,当软件的功能实际上不受用户控制时,该怎么办?理查德·斯托曼 Richard Stallman)写道: [省略号]

在电影和唱片公司的压力下,越来越多的个人使用专用于限制他们使用的软件。这个恶意功能是自由软件旨在提供的自由精神的对立面。不仅是精神上的:由于DRM的目标是践踏您的自由,因此DRM开发人员试图使您更难,不可能甚至什至非法地更改实现DRM的软件。

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

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

关于自由软件在实践中必须尊重哪些方面才有不同的想法。但是,关于旋转是否使软件变得非自由的争议仍然是关于自由的争议。例如,Linus Torvalds认为不应禁止Linux(他不喜欢的术语)进行旋转,但这是因为它实际上并没有阻止人们自由地使用该软件(在另一台设备上)。

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

Ubuntu中的大多数软件是免费软件和开源软件。Ubuntu中的一部分软件都不是。(一个都不是,另一个不是。)Ubuntu项目旨在产生一个尽可能免费的系统,同时仍由尽可能多的用户完全使用。

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

尽管这些因素和其他因素导致Ubuntu(以及大多数其他最受欢迎的GNU / Linux发行版)并非完全免费,并且可以说有些发行版更彻底地免费了,但Ubuntu及其社区已经将免费软件及其支持提供给了用户。成千上万(即使不是数百万)本来可能从未使用过的人,为自由软件在世界范围内的普及以及人们使用自己的语言使用自由软件的能力做出了积极贡献。在Ubuntu的哲学在自由的条款及对用户的能力方面指出:

我们相信每位计算机用户:

  • 应该具有出于任何目的下载,运行,复制,分发,学习,共享,更改和改进其软件的自由,而无需支付许可费用。
  • 应该能够使用他们选择的语言来使用他们的软件。
  • 应当能够使用所有软件,而不管其是否有残障。

我们的理念反映在我们生产的软件,我们的发行方式以及我们的许可条款中-Ubuntu许可政策。

安装Ubuntu,您可以放心,我们所有的软件都符合这些理想。另外,我们一直在努力确保您可能需要的每一款软件都可以在拥有这些自由的许可下使用。

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

尽管有些人将“自由”和“开源”视为具有不同目的的竞争运动,但我们并非如此。Ubuntu自豪地包括两个成员。

无论您认为自己的目标是与自由软件开源,还是两者,甚至都不是一致,我们都鼓励您使用Ubuntu来满足您的需求。只要您愿意遵循行为准则对他人进行人性化,就鼓励您加入Ubuntu社区!


2
所有人都
Mysterio

感谢您提供如此彻底,清晰和平衡的答案
david.libremone 2011年

如果我在FOSS上的博客文章中使用了大部分答案,@ Eliah可以吗?我是问这个问题的人:)
Mysterio'3

4
@Mysterio是的,请这样做!根据常见问题解答,AskUbuntu.com上的所有帖子均根据知识共享署名 -ShareAlike 3.0 Unported许可进行许可,该许可是免费(如自由)内容许可。像GNU GPL一样,CC BY-SA 3.0是一个Copyleft许可证,因此还必须在其下提供已发布的衍生作品(在这种情况下,您的博客文章)。请在这里查看您的权利和责任。(如果您不希望在其中提供权利,请让我知道。)
Eliah Kagan 2012年

好吧,先生,根据相关许可,此职位未提供什么权利
Mysterio'3

15

“免费”可以表示两件事中的一项(或两项):“免费”,如“不花钱”(“免费”,“免费如啤酒”),或“免费”,如“免费修改”(“自由”,“言论自由”)。

“开源”仅表示开发人员可以使用源代码,并且不一定是“像啤酒一样免费”或“像讲话一样免费”(尽管可以是其中之一或全部)。

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


3
“开源” 不仅意味着开发人员可以使用源代码。有关详细信息,请参见opensource.org/docs/osd
伊利亚·卡根

4
此外,在“自由软件”一词​​中,“自由”总是指自由,而不是价格。参见gnu.org/philosophy/free-sw.htmlen.wikipedia.org/wiki/Free_software。专有软件公司偶尔会使用“免费软件”一词​​来指代免费软件,但是这种含义几乎完全被淘汰了,这被认为是对“免费软件”一词​​的错误使用(请参阅上面的链接) )。
伊利亚·卡根

@EliahKagan,您与自己的陈述相矛盾。“'自由'总是指自由……”,然后您说它“偶尔被用来指自由软件”。TBH“免费软件” 通常在版权声明中定义,以说明正在使用的含义。
zzzzBov

1
@EliahKagan,您可能要强调,GNU员工在谈论“自由软件”时总是指自由。
托尔比约恩Ravn的安徒生

@ThorbjørnRavnAndersen不只是GNU乡亲。例如,大量的FreeBSD,NetBSD和OpenBSD开发人员对GNU项目有相当不满意的感觉。但是当他们谈论自由软件时,他们仍然指的是自由(例如,“专有衍生产品的存在并不会使OpenBSD变得更加自由。”)GNU项目和自由软件基金会囊括了坚决的每个人的想法。关于基于自由的自由软件的看法是一种误解。用术语“免费软件”表示“免费”是一种滥用,尤其是在Ubuntu环境中
伊利亚·卡根

4

没有权威可以定义单词的含义。它由使用方式定义,因此,一个单词的含义会随时间变化,或者一个单词可能同时对不同的人群意味着不同的意思。

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

没有对术语,多协议“开源软件”。尽管有人说这只是意味着可以使用源代码(维基百科上的某些句子)和GNU。其他人则认为自由软件和开源软件是关于相同的想法的,例如opensource.org。但是,发行经修改的软件的权利不一定是“开源软件”的一部分(维基百科,但与此相反,还是开源定义)。

将其他答案中的一些示例归入这些类别:Fedora:免费软件和开源软件;Google Chrome:据我所知,都不是,但是Chromium是免费软件和开源软件;

结论:

许多团体已花费时间和精力使人们对这些术语感到困惑。尤其是自由软件基金会(Free Software Foundation),该基金会似乎在目的上与开放源代码计划(Open Source Initiative)不同地使用了“开源软件”一词​​。开放源代码计划(Open Source Initiative)引入并大力推广了一个新术语(开放源代码软件),其含义与已确定的术语“自由软件”相同。

您也可以在这里阅读更多内容。


2

我想说一下区别的一个例子,表明Shuttleworth比自由软件更开放源代码,可以在下面的引用中找到(以回应与专有公司的合作):

如果您看待世界的方式真正提高了生产力,效率,效率,洞察力和实用性,那么您应该相信自己将在长期内赢得胜利

(斜线采访)

我认为,自由软件的观点可能确实没有那么自信,因为从长远来看,一切都会变得自由,并且无论如何在合作方面都没有那么重要。您可以将其与认为奴隶制必定会消失的原因相比较,因为奴隶制效率不高:人们在自由时工作得更好,拥有更多的创新能力,没有叛乱的风险。的确如此,但是您也可以反对奴隶制作为更抽象的原则。


2

术语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常见问题解答:- 什么是“自由软件”,并且与“开源”相同?

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

我在这里附上详细信息:

自由软件和开源作为程序类别的关系

       / ---------------------------------------------- \
      / | | \
     / | | \
    / | | \
        | |
        | 源许可证是GNU * GPL,Apache等。
        | 原始BSD,修改后的BSD |
免费| X11,expat,Python,MPL等,|
        | 和可执行文件未公开 开源
        | |
        | |
    \ | |
     \ | |
      \ | | /
       \ ---------------------------------------------- /
        | 旋转式(暴君)设备| O | /
        ---------------------------------------------- /

引人注目的(引号):

  • 在所有开源程序中,只有很小一部分不是免费的。如果最下面一行按比例绘制,则其文本必须使用小字体,可能太小而无法阅读。
  • 旋转或“暴君”设备包含由免费的源代码制成的非免费可执行文件。
  • “ O”代表“其他”,指的是源已获得开源但非免费的许可的程序。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.