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

时间:2021-08-13 21:12:51

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

https://blog.csdn.net/icycolawater/article/details/77921998

什么是*软件 Free software

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

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

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

四项基本*

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

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

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

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

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

.。。。。。

Categories of free and nonfree software

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

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