GNU GPL的销售例外

销售例外意味着代码的版权所有者根据有效的自由软件许可向公众发布,然后分别为用户提供支付许可费的选项在不同的术语下使用相同的代码,例如允许它包含在专有应用程序中。

我们必须区分出售例外情况的做法关键不同:纯粹的专有扩展或版本免费程序。这两项活动,即使练习过同时由一家公司负责,是不同的问题。在销售中异常,应用该异常的代码可用作为自由软件向公众开放。扩展或修改只有在专有许可证下才可用的版本是专有软件,纯粹而简单,与其他软件一样错误专有软件。本文涉及以下情况严格且仅涉及例外销售。

我们还必须区分销售例外和双重许可,这意味着在选择许可证的情况下发布程序。使用双重授权,每个用户都可以选择在以下任一项下使用程序其中一个许可证,或在两个许可证下并行进行适合的活动两者兼而有之。(因此,再分配器通常沿着许可证。)例如,Perl在一个双重许可,其替代品是GNU GPL和Artistic许可证。这不再是必需的,因为Artistic License与GNU GPL兼容。

在销售特例中,特例的条款不是第二个程序发布所依据的许可证。相反,他们是仅适用于购买例外的用户。唯一的许可证发行版携带的是GNU GPL,所以这不是双重的许可。

我们必须区分例外销售和普通销售“GPL例外”,它只给所有用户允许以某种特定方式超越GPL的条件。这些例外受GNU GPL第7节管辖。销售例外在法律上独立于GNU GPL。为了避免混淆最好不要提及作为“GPL例外。”

自20世纪90年代以来,我一直认为销售例外情况是可以接受的有时我向公司建议过。有时这种方法使重要程序成为自由软件成为可能。

KDE桌面是在90年代基于Qt库开发的。Qt(数量)是专有软件,TrollTech收取许可费将其嵌入专有应用程序中。TrollTech允许免费使用Qt在免费应用程序中,但这并没有使其成为免费/libre软件。因此,完全免费的操作系统不能包含Qt,所以他们也不能使用KDE。

1998年,TrollTech的管理层认识到他们可以使Qt免费软件并继续对嵌入许可收费在专有软件中。我想不起来这个建议是不是来了但我当然很高兴看到这一变化,这使我可以在自由软件世界中使用Qt和KDE。

最初,他们使用自己的许可证,即Q公共许可证(QPL)-随着自由软件许可的发展,限制性很强,以及与GNU GPL不兼容。后来他们切换到GNU GPL;我想我已经向他们解释过了,这会达到目的。

销售例外基本上取决于使用copyleft免费软件版本的许可证,如GNU GPL。A类copyleft许可证仅允许在整个组合程序在该许可证下发布;这就是为什么确保扩展版本也是免费的。因此,希望使组合程序专有需要特殊许可。仅限版权持有人可以同意,销售例外情况之一这样做的风格。在GNU下接收代码的其他人GPL或其他版权许可证不能授予例外。

当我第一次听说销售例外情况时,我问我自己的做法是否合乎道德。如果有人购买例外为了将一个程序嵌入到一个更大的专有程序中,他正在做错误的东西(即制作专有软件)。它跟上去了吗出售异常的开发人员做错了什么也是吗?

如果这种暗示是有效的,那么它也适用于发布非版权自由软件许可下的相同程序,例如X11许可证。这也允许这种嵌入。所以要么我们必须得出结论,在X11下发布任何内容都是错误的许可——一个我认为无法接受的极端或拒绝的结论含义。使用非版权许可证很弱,通常是劣等选择,但这并没有错。

换句话说,销售例外允许有限嵌入专有软件中的代码,但X11许可证更进一步,允许在专有软件。如果这不构成X11许可证不可接受,这并不意味着销售例外是不可接受的。

FSF不进行销售有三个原因例外情况。其一是,这并没有实现FSF的目标:确保我们软件的每个用户都可以自由使用。这就是我们写的GNUGPL,而最彻底地实现这一点的方法是发布在GPL版本3-or-later下,不允许嵌入专有软件。销售例外无法实现这一点,就像发布一样X11许可证下不会。所以通常我们不会这些东西:我们只根据GPL发布。

我们仅根据GPL发布的另一个原因是为了不允许专有扩展将比我们的免费节目。自由不是其价值的用户可以选择那些非免费版本,而不是它们所基于的免费程序然后失去自由。我们不想鼓励这样做。

偶尔会出现以下情况:策略,我们决定对某个计划更有利于自由事业。在这种情况下,我们根据许可证向所有人发布程序。

这是因为FSF遵循的另一个道德原则:对所有用户一视同仁。理想主义的自由运动不应歧视,因此FSF承诺提供相同的向所有用户授予许可证。FSF从不出售例外情况;无论什么我们发布程序的许可证,可用于每个人。

但我们不必坚持要求公司遵循这一原则。将销售例外视为公司可以接受的事情,我会在适当的时候建议它作为获取程序的一种方式释放。