出售 GNU GPL 的例外情况
作者:Richard Stallman出售例外情况是指代码的版权持有者根据有效的自由软件许可将其发布给公众,然后单独向用户提供付费许可,允许用户根据不同的条款使用相同的代码,例如允许将其包含在专有应用程序中的条款。
我们必须区分出售例外情况的做法与完全不同的东西:自由程序的纯专有扩展或版本。这两种活动,即使由一家公司同时进行,也是不同的问题。在出售例外情况时,例外情况所适用的相同代码可作为自由软件提供给公众。仅在专有许可下提供的扩展或修改版本是纯粹的专有软件,并且与任何其他专有软件一样是错误的。本文关注的案例严格且仅涉及出售例外情况。
我们还必须区分出售例外情况与双重许可,双重许可意味着根据多种许可选择发布程序。通过双重许可,每个用户可以选择根据其中一个许可或两个许可并行使用该程序,以进行适合这两个许可的活动。(因此,重新分发者通常会传递这两个许可。)例如,Perl 多年来以双重许可形式分发,其替代方案是 GNU GPL 和 Artistic License。现在不再需要这样,因为 Artistic License 的版本 2 与 GNU GPL 兼容。
在出售例外情况时,例外情况的条款不是该程序发布的第二个许可。相反,它们仅适用于购买例外情况的用户。该版本携带的唯一许可是 GNU GPL,因此这不是双重许可。
我们必须区分出售例外情况与通常的“GPL 例外情况”,后者只是允许所有用户以某种特定方式超越 GPL 的条件。这些例外情况受 GNU GPL 第 7 节管辖。出售例外情况在法律上独立于 GNU GPL。为避免混淆,最好不要将出售的例外情况称为“GPL 例外情况”。
自 20 世纪 90 年代以来,我认为出售例外情况是可以接受的,有时我会向公司建议这样做。有时,这种方法使得重要程序成为自由软件成为可能。
KDE 桌面是在 90 年代基于 Qt 库开发的。Qt 是专有软件,TrollTech 对将其嵌入专有应用程序的许可收费。TrollTech 允许在免费应用程序中免费使用 Qt,但这并没有使其成为自由/自由软件。因此,完全免费的操作系统不能包含 Qt,因此它们也不能使用 KDE。
1998 年,TrollTech 的管理层认识到,他们可以使 Qt 成为自由软件,并继续为将其嵌入专有软件的许可收费。我不记得这个建议是否来自我,但我当然很高兴看到这一变化,这使得在自由软件世界中使用 Qt 和 KDE 成为可能。
最初,他们使用自己的许可,即 Q Public License (QPL)——作为自由软件许可来说相当严格,并且与 GNU GPL 不兼容。后来他们切换到 GNU GPL;我想我已经向他们解释过这将适用于该目的。
出售例外情况从根本上依赖于对自由软件版本使用 copyleft 许可,例如 GNU GPL。copyleft 许可仅当整个组合程序以该许可发布时才允许嵌入到更大的程序中;这就是它如何确保扩展版本也将是免费的。因此,想要使组合程序成为专有的用户需要特殊许可。只有版权持有者才能授予该许可,而出售例外情况就是一种这样做的方式。根据 GNU GPL 或其他 copyleft 许可收到代码的其他人不能授予例外情况。
当我第一次听说出售例外情况的做法时,我问自己这种做法是否符合道德。如果有人购买例外情况以将程序嵌入到更大的专有程序中,那么他正在做一些错误的事情(即,制作专有软件)。这是否意味着出售例外情况的开发人员也在做一些错误的事情?
如果这种含义有效,它也适用于在非 copyleft 自由软件许可(例如 X11 许可)下发布相同的程序。这也允许这种嵌入。因此,我们要么得出结论,在 X11 许可下发布任何东西都是错误的——我发现这个结论是不可接受的极端——要么拒绝这种含义。使用非 copyleft 许可很弱,并且通常是较差的选择,但这不是错误的。
换句话说,出售例外情况允许在专有软件中有限地嵌入代码,但 X11 许可更进一步,允许在专有软件中无限地使用代码(及其修改版本)。如果这不会使 X11 许可不可接受,那么它也不会使出售例外情况不可接受。
FSF 不出售例外情况有三个原因。一个原因是它不符合 FSF 的目标:确保我们软件的每个用户的自由。这就是我们编写 GNU GPL 的原因,而实现这一目标的最好方法是在 GPL 版本 3 或更高版本下发布,并且不允许嵌入专有软件。出售例外情况不会实现这一点,就像在 X11 许可下发布不会实现一样。因此,通常我们不会做这两件事中的任何一件:我们仅在 GPL 下发布。
我们仅在 GPL 下发布的另一个原因是,以免允许专有扩展,这将比我们的免费程序具有实际优势。那些不把自由当做价值的用户可能会选择那些基于免费程序的非免费版本,从而失去他们的自由。我们不想鼓励这样做。
在某些情况下,出于特定的战略原因,我们认为在某些程序上使用更宽松的许可对自由事业更有利。在这些情况下,我们根据该宽松许可将程序发布给所有人。
这是因为 FSF 遵循的另一个道德原则:公平对待所有用户。一个追求自由的理想主义运动不应歧视,因此 FSF 致力于向所有用户提供相同的许可。FSF 从不出售例外情况;无论我们根据何种许可或哪些许可发布程序,所有用户都可以使用该许可。
但我们不必坚持要求公司遵循该原则。我认为出售例外情况是公司可以接受的做法,并且我会适当地建议这样做,以此作为使程序获得自由的一种方式。