使用非GPL许可证的GPL代码的许可软件

假设我编写了一些代码,我们将其称为X.它使用一些GPL代码,我们称之为库Y.显然,我将不得不通过GPL许可证发布X. 没关系。 我的问题是,我是否可以在麻省理工学院等许可证下另外发布X,这样如果有人只需要X而不是Y,那么他们不需要将它用于GPL?


是的,您可以根据您希望的任何许可证发布您的源代码。 根据美国版权法,您有此权利。

但是,如果您在源代码中包含任何GPL源代码(或使用任何GPL代码分发),则必须在整个工作中使用GPL许可证。 这是因为你必须同意他们使用他们的代码的许可。

BTW。 我不是律师。


MIT许可证也是GPL兼容的,这意味着GPL允许与使用MIT许可证的软件进行组合和再分发。 此链接应为您提供全面的分析。 围绕库,插件和模块等有很多ifs和buts以及定义需要熟悉。


这里的关键问题是:如果您只根据MIT许可证(或其他一些非常宽松的开放源代码许可证)许可X,您的软件X是否可以分发?

这个问题的答案是:

  • 否,如果X对GPL许可库Y的依赖性是强制性的,并且不能避免构建/使用X.
  • 是,如果X对GPL许可的库的依赖性是可选Y,并且默认情况下是禁用的。
  • 如果无法避免对Y的依赖,那么在MIT下发布X将基本上阻止任何人(例如Linux发行版,商业厂商或提供预构建软件的网站)分发您的软件,同时启用GPL许可的库建立。

    因此,尽管您可以根据MIT许可证决定授权您自己的软件,但通过在此许可证下发布软件,您可能会为所有用户头痛不已。

    我的猜测是,这不是你正在寻找的。

    我的建议是,你下定决心:

  • 如果此GPL许可证书库Y对您的软件至关重要,则在GPL下发行X. (最简单的,正确的选择)
  • 如果GPL许可证书库Y是可选的,并且如果您确实需要拥有MIT许可证下可用的软件版本,但希望允许(由您或其他人)分发X与Y支持启用。 (只有在真正需要时)
  • 如果GPL许可的库Y是可选的,则在MIT下释放X,但请注意,在启用Y支持的情况下,任何人都无法以任何方式分发软件。 (给用户带来潜在的麻烦,但效果并不明朗)
  • 我希望这有帮助。

    链接地址: http://www.djcxy.com/p/79511.html

    上一篇: Licensing software that uses GPL code with licenses other than GPL

    下一篇: GPL and LGPL open source licensing restrictions