[转帖]GNU, Free Software and Open Source 自由软件与开源软件

我的梦境 提交于 2019-12-03 16:28:12

GNU, Free Software and Open Source 自由软件与开源软件

什么是自由软件 Free software

此处给出自由软件的定义,用以衡量一款软件是否为自由软件。一直以来,我们不断改进这个定义,以此澄清并解决我们遇到的各种问题。参考下方的修改历史,我们详细列出了全部的影响自由软件定义的修改记录。

“自由软件” 尊重用户的自由,并且尊重整个社区。粗略来讲,一个软件如果是自由软件,这意味着用户可以自由地运行,拷贝,分发,学习,修改并改进该软件。因此,“ 自由软件 ” 是关乎自由的问题,与价格无关,软件如何定价并不影响它是否被归类为自由软件。英文中,我们使用Free Software。由于Free一词既有自由,也有免费的意思。而Free Software中的Free是指 “ 自由言论 ” 中的自由,而非 “ 免费 ” 这一意项。为避免歧义,在使用英文时,我们也会借用法语或西班牙语的“Libre Software” 来指自由软件。

我们支持软件用户的自由,因为我们坚信这是每个用户应得的。有了这些自由,软件用户,无论是个人还是集体,都可以掌控所运行的软件,并决定这些程序如何为自己服务。如果一个软件令用户失去了这种控制权,我们则称它为 “ 非自由 ” 的,或 “ 专有 ” 的程序。与自由软件相反,非自由软件会操控它的用户,而软件的开发者则掌控着软件。 这使得非自由软件成为了 非正义力量的帮凶

四项基本自由

如果一个软件是自由软件,那么它必须为用户提供以下四项基本自由:

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

一个软件只有提供了以上所有的自由给它的用户,才可以被成为自由软件。否则,它就是非自由的。尽管我们也可以比较非自由软件为其用户提供的自由度,但是我们认为,无论如何,非自由软件本身是不道德的。

无论在哪种情况下,只有所有用户使用的代码都满足了这四项基本自由,该程序才能被视作自由软件。例如,有两个程序,甲程序运行的时候会自动调用乙程序。发布甲程序意味着用户必须使用到乙程序,那么必须甲乙两个程序都是自由的,甲程序才是自由的。如果通过修改甲程序,使其不再依赖乙程序,那么仅仅以自由软件的形式发布甲程序即可。

“ 自由软件 ” 不等于 “ 非商业软件 ” 。一个自由软件必须允许商业用户,商业开发,和商业发布。商业开发自由软件早就司空见惯了,这样的自由软件非常重要。你可能需要花钱购买自由软件的拷贝,也可能免费拿到。但是无论你如何获得你的拷贝,作为用户,你的四大自由都会被保证,你可以自由地运行,修改,发布甚至出售你拿到的自由软件。

.。。。。。

 

 

 

Categories of free and nonfree software

 

This diagram, originally by Chao-Kuei and updated by several others since, explains the different categories of software. It's available as a Scalable Vector Graphic and as an XFig document, under the terms of any of the GNU GPL v2 or later, the GNU FDL v1.2 or later, or the Creative Commons Attribution-Share Alike v2.0 or later.


 

Commercial software

 

“Commercial” and “proprietary” are not the same! Commercial software is software developed by a business as part of its business. Most commercial software is proprietary, but there is commercial free software, and there is noncommercial nonfree software.

For example, GNU Ada is developed by a company. It is always distributed under the terms of the GNU GPL, and every copy is free software; but its developers sell support contracts. When their salesmen speak to prospective customers, sometimes the customers say, “We would feel safer with a commercial compiler.” The salesmen reply, “GNU Ada is a commercial compiler; it happens to be free software.”

For the GNU Project, the priorities are in the other order: the important thing is that GNU Ada is free software; that it is commercial is just a detail. However, the additional development of GNU Ada that results from its being commercial is definitely beneficial.

Please help spread the awareness that free commercial software is possible. You can do this by making an effort not to say “commercial” when you mean “proprietary.”


 

自由软件与开源软件的区别:为什么开源误导了自由软件的重点

https://www.gnu.org/philosophy/open-source-misses-the-point.zh-cn.html

 

并非全部的自由软件用户和开发者都赞同自由软件运动的目标。1998年,自由软件阵营中的部分成员分裂出来,并以“开源”为名继续开展活动。一开始,由于“自由软件”(free software)一词可能引起歧义,这才提出开源这个说法。但是很快开源这词便开始异化,使得其背后的逻辑与自由软件运动的初衷相去甚远。

 

 

开源软件和自由软件这两个词在很大程度上描述的是同一类软件,但是它们所基于的价值观却有着本质上的区别。开源是指一套开发方法;而自由软件则是一场社会运动。对于自由软件运动而言,自由软件是一个道德底线,是对用户自由的基本尊重。开源软件则与此不同,开源哲学考虑的是怎么做把软件做得“ 更好 ” — 仅仅从实用的角度。开源的哲学里,非自由软件之所以不好,是因为他们采用了一种劣等的开发方式。开源的大多数讨论关注的不是是非,而仅仅是是否流行和是否成功; 就是一个典型的例子

然而,对自由软件运动来说,非自由软件是一个社会问题,其解决方法是停止使用非自由软件并开始使用自由软件。

“自由软件”,“开源软件”,既然都指的是同类软件(或基本是同类软件),那何必在名字上这么较真呢?有这个必要的。因为不同的词汇传递着不同的思维。尽管现在看来,用另一个名字称呼自由软件可以给你同等的自由,但若要长期维护用户的自由,则必须让人们意识到自由的价值。倘若你想帮助人们做到这点,那么使用“自由软件”这一称呼则尤为重要。

作为自由软件运动的成员,我们并不将开源阵营视为敌人。我们的敌人是专有(非自由)软件。但我们希望人们至少应该知道,我们所捍卫的是用户的自由。所以我们不愿被开源支持者们贴错标签。

实践中,开源与自由软件的区别

在实践中,开源的要求比自由软件宽松一些。据我们所知,迄今发布的自由软件源代码都是开源软件。尽管大多数开源软件也同样是自由软件,但会有一些例外。首先,有些开源许可证对用户过于苛刻,它们就没有被列为自由软件。比如,“Open Watcom” 就非自由的,因为其许可证不允许修改该软件和私自使用该软件。幸运的是,很少软件会使用这些许可证。

另外,实际操作时还有更重要的一点。很多产品带有检测可执行文件签名功能的计算机,它会禁止用户安装或运行修改后的可执行文件,而只有一家特权公司才能生产可执行文件或完全控制该产品。我们把这种设备称作“tyrants”,即“专制暴君”;把这种行为称为“tivoization”,该名称来自我们首先看到TiVo公司使用该方法发布产品。在这样的产品上运行的可执行软件,哪怕是以自由软件许可证发布了源代码,但是用户却无法运行修改后的可执行文件,所以其可执行文件不是自由软件。

开源的标准没有意识到这个问题;它们只关心源代码的许可证。这样以来,这些编译自诸如Linux等开源和自由软件的可执行文件,原封未动,是开源的,但不是自由的。许多Android产品就包含这样的非自由Linux可执行文件(tivoization)。


 

 

How Free Software and Open Source Relate as Categories of Programs

https://www.gnu.org/philosophy/free-open-overlap.html

 

 

另外一个关于“开源”的误解是:开源软件意味着“不用 GNU GPL 许可证”。这个误解又常常伴随着另外一个误解:“自由软件就是使用 GPL 许可证的软件”。这显然是扭曲了自由软件和开源软件。GNU GPL 许可证也被认证为开源软件许可证。很多开源软件许可证也同时是自由软件许可证。除了GPL以外,还有很多自由软件许可证

 

Various Licenses and Comments about Them


 

 

 

 

 

 

 

https://www.gnu.org/gnu/why-gnu-linux.html

 

https://www.gnu.org/philosophy/java-trap.html

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!