关于Netscape公共许可

这个原始版本这篇文章的作者是1998年3月关于NPL草案的。我们关于这个主题的第一篇文章是Netscape正在考虑Netscape浏览器自由软件.


Netscape公共许可证,或NPL,其最终设计于1998年,是一个自由软件许可证,但它有三个主要缺陷。一个缺陷传递了一个糟糕的哲学信息,另一个缺陷释放了软件社区处于弱势地位,而第三个社区创造了一个主要的自由软件社区中的实际问题。两个这些缺陷也适用于Mozilla公共许可证。因为这些缺陷,我们敦促您不要免费使用NPL或MPL软件。

1.并非所有用户都是平等的

我在NPL中注意到的第一个问题是它没有给出Netscape和我们其他人享有同等权利,就像GNU GPL一样。低于NPL,我们只能使用NPL中指定的Netscape代码,但是Netscape可以以任何方式使用我们的更改软件的专有许可版本。

这里的问题很微妙,因为这并不能使程序不自由。它不会阻止我们重新发布程序,或者改变它;它并没有剥夺我们任何特定的自由。从纯粹务实的角度来看,它可能看起来不像根本没有问题。

问题在于这种情况所包含的深层次信息。否认平等合作的理念并表示,从事免费项目意味着为专有软件产品。接受这个条件的人是可能会被它改变,而这种改变不会加强我们的社区。

针对这种不对称性,一个建议的解决方案是对它可能会持续三到五年。这将是一个很大的进步,因为时间限制会否定有问题的深层次信息。

这种情况的实际影响被另一种情况最小化不良贷款的缺点:它并没有被设计成完全的版权。换言之,它并没有尽力确保修改用户制作的是免费软件。

MPL(Mozilla公共许可证)可以有这个问题。这就是MPL和NPL之间的主要区别。

2.没有版权

不良贷款以版权形式存在;它明确表示用户所做的修改必须根据NPL发布。但是这个仅适用于对现有代码的修改-不添加子程序,如果它们放在单独的文件中。作为一种实践重要的是,这意味着如果您愿意,可以很容易地进行专有更改to:只需将大量代码放到一个单独的文件中,然后调用收集较大的工作。只有添加到旧的文件必须根据NPL发布,而不会他们自己非常有用。

缺乏真正的版权并不是一场灾难;它不会使软件不免费。例如,X.org分发条款没有尽量使用copyleft,但X.org仍然是自由软件。BSD也是非版权自由软件(尽管旧的BSD术语有一个严重缺陷并且应该不要被模仿&如果你想免费发布非copylefted软件,请使用X.org术语)。NPL覆盖的软件也是自由软件而这本身并不会导致不良贷款比其他非版权自由软件许可更糟糕。

然而,虽然这并不是灾难性的,但却是一个缺点。由于NPL看起来像一个版权所有者,一些用户可能会感到困惑并可能采用不良贷款,认为他们正在获得版权保留对他们的软件的好处,当这不是案例。为了避免这种结果,我们需要努力教育人们谈论一个不容易用几句话解释的问题。

3.与GPL不兼容

NPL中最严重的实际问题是与GNU GPL不兼容。不可能合并NPL覆盖代码和GNU GPL覆盖代码一起包含在一个程序中,而不是甚至通过链接单独的目标文件或库;不管怎样完成后,必须违反一个或另一个许可证。

发生此冲突是因为GPL对copyleft很认真:它是旨在确保自由程序的所有更改和扩展必须是免费的。因此,它不会留下进行更改的漏洞通过将它们放在一个单独的文件中来获得专有权。要关闭此漏洞,GPL不允许将copyleft程序与具有其他限制或条件的代码,例如不良贷款。

与GPL不兼容并不意味着程序是非自由的;不会引发根本的道德问题。但很可能会为自由软件社区制造了一个严重的问题代码库分为两个不能混合的集合。作为一种实践重要的是,这个问题非常重要。

通过改变GPL来解决这个问题是可能的,但这需要放弃copyleft,弊大于利。但是它只需对不良贷款进行少量调整,就可以解决这个问题。(请参阅下面的具体方法。)

4.关于姓名的注释

NPL代表Netscape Public License,但GPL不代表GNU公共许可。我们许可证的全名是GNU General公共许可证,缩写为GNU GPL。有时人们会忽略单词“GNU”,只写GPL。

(这不是问题,只是一个你应该知道的事实。)

结论

由于问题3最严重,我希望人们会礼貌地并向Netscape合理解释解决此问题的重要性。解决方案可用;他们只需要决定使用它们。

下面是一种可能的方法,可以将NPL覆盖的代码与GPL一起覆盖了代码。可以通过将这两项相加来实现NPL段落:

A.1、。您可以根据GNU的条款分发受保作品通用公共许可证,版本2或更新版本,由自由软件基金会,当它包含在一个较大的作品中时作为一个整体,根据相同的条款进行分配GNU通用公共许可证的版本。A.2。如果您收到了一份根据版本或GNU General Public的版本选择许可,您可以修改一些NPL覆盖的部分在这个更大的作品中,你可以选择修改这些部分表示其分发条款为该版本或GNU通用公共许可证的版本选择。

这允许人们将NPL覆盖的代码与GPL覆盖的编码结合起来,并根据GNU GPL的条款分发合并的工作。

它允许人们发布对此类组合工程的修改根据GNU GPL的条款,但最简单的发布方式它们属于不良贷款。

当人们利用A.2时,他们的更改将只发布根据GNU GPL的条款;所以这些变化不会可供Netscape在专用版本中使用。这很有道理Netscape会认为这是不幸的。

然而,NPL为专有软件开发人员提供了一种简单的方法通过放置将它们的代码放入单独的文件中,并将组合调用为Larger工作。事实上,这对他们来说比A.2对GPL来说更容易用户。

如果Netscape认为它可以忍受(有效地)专利修改,当然是GPL的麻烦相比之下,修改是很小的。如果Netscape相信实际考虑将鼓励大多数专有软件世界将其更改发布回Netscape被迫这样做,同样的理由也应该适用于自由软件世界也是如此。Netscape应该认识到这一变化是接受并采用它,以避免面对自由软件面临严重困境的开发人员。