自由软件基金会对“自由软件”的定义:
“免费软件重在自由,而非价格。要理解这个概念,您应该将“自由”视为“言论自由”,而不是“免费啤酒”。
自由软件是用户自由运行,复制,分发,学习,更改和改进软件的问题。更准确地说,这意味着程序的用户拥有四个基本自由:
- 出于任何目的运行程序的自由度(自由度0)。
- 自由学习程序的工作原理,并对其进行更改以使其按您的意愿进行操作(自由1)。前提条件是访问源代码。
- 重新分发副本的自由,以便您可以帮助邻居(自由2)。
- 将修改版本的副本分发给他人的自由(自由3)。通过这样做,您可以使整个社区都有机会从您的更改中受益。前提条件是访问源代码。
如果用户拥有所有这些自由,则该程序是免费软件。因此,无论有无修改,您都可以自由地将副本重新分发给任何地方的任何人,既可以免费获得,也可以收取发行费用。自由地做这些事情意味着(其中包括)您不必征求这样做的许可或同意。
来自开源计划的“开源软件”的定义:
开源不仅意味着可以访问源代码。开源软件的发行条款必须符合以下条件:
免费重新分发许可证不得限制任何一方出售或赠送软件,该软件是包含多个不同来源程序的总体软件分发的一部分。许可证不要求此类销售的特许权使用费或其他费用。
源代码该程序必须包括源代码,并且必须允许以源代码和编译形式进行分发。在某种形式的产品未附带源代码的情况下,必须有一种广为人知的获取源代码的方法,价格最好不超过合理的复制成本,最好是通过Internet免费下载。源代码必须是程序员用来修改程序的首选形式。不允许故意混淆的源代码。不允许使用中间形式,例如预处理器或翻译器的输出。
衍生作品许可必须允许修改和衍生作品,并且必须允许它们按照与原始软件许可相同的条款进行分发。
作者源代码的完整性仅当许可证允许分发带有源代码的“补丁文件”以便在构建时修改程序时,许可证才可以限制源代码以修改形式分发。该许可证必须明确允许分发由修改后的源代码构建的软件。许可证可能要求衍生作品带有与原始软件不同的名称或版本号。
不得歧视个人或团体许可证不得歧视任何个人或团体。
不得歧视任何领域许可证不得限制任何人在特定领域内使用该程序。例如,它可能不会限制该程序在企业中使用或在遗传研究中使用。
许可证的分发程序附带的权利必须适用于向其重新分发了程序的所有人员,而无需那些当事方执行其他许可证。
许可证不得特定于产品程序附带的权利不得取决于程序是否属于特定软件发行版。如果从该发行版本中提取程序,并在该程序的许可范围内使用或分发该程序,则重新发行该程序的所有各方均应具有与原始软件发行版本一起授予的权利。
许可证不得限制其他软件许可证不得限制与许可软件一起分发的其他软件。例如,许可证不得坚持要求在同一介质上分发的所有其他程序都必须是开源软件。
许可证必须是技术中立的。不得以任何单独的技术或界面风格为依据提供许可证。
这些定义尽管来自不同的意识形态,但具有广泛的兼容性,并且大多数自由软件也是开源软件,反之亦然。但是,我相信情况并非如此:软件有可能在没有免费的情况下成为开源,或者有可能在没有开源的情况下成为自由。
问题
- 我的信念正确吗?软件是否有可能陷入一个阵营,而不是另一个阵营?
- 真的有这样的软件吗?请举例子。
澄清度
我现在已经接受了答案,但是我似乎使很多人感到困惑,所以也许有必要进行澄清。我不是在问copyleft(或“病毒”,尽管我不喜欢该术语)与非copyleft(“许可”)许可证之间的区别。我也没有问过您对“免费”和“开放”的个性化定义。我在问“ FSF定义的自由软件”和“ OSI定义的开源软件”。两者总是一样吗?有可能没有一个就成为一个?
答案似乎是,没有开放就不可能免费,但是没有自由就可能开放。谢谢所有实际回答问题的人。