在GPL许可的项目中使用MIT许可的代码该怎么办?


9

我正在做一个个人项目,我正在计划根据GNU Affero GPL进行许可。但是,我发现确实想利用MIT许可的一些代码,但是我不确定该如何处理许可。

其余代码将在GNU Affero下获得,只是我使用的源文件和头文件,这些文件是MIT许可的。

我在这里已在程序员上阅读了有关MIT / GPL代码协同工作的Q,以及关于MIT下使用GPL库以及其他几种软件的SO的Q,但我仍不清楚我应该如何处理许可。

据我所知,我所要做的就是将MIT许可证留在库中,并在许可证文件中包含有关两个不同许可证及其适用于什么代码的注释,对吗?



4
呵呵,具有讽刺意味的是,使用限制性最强的copyleft许可证,同时从限制性最小的一项中分配代码。
罗伯特·哈维

2
一种选择是在MIT下许可您的代码,这将简化一切。您是否真的需要使用限制性许可证来保护您的代码?并且,如果您对GPL的目标有强烈的信心,为什么要在项目中使用非GPL代码?
Bryan Oakley

4
@DavidArno:对我来说,免费是免费的。当我使用MIT时,欢迎您随意使用我的代码,包括将其与GPL代码一起使用。如果您从我的代码中受益,我将为您的成功而鼓掌。
Bryan Oakley

2
@DavidArno:是的。我不理解整个“我想开放我的代码,但我想限制您使用它的方式”的想法。我的看法是“要么打开它要么不打开它”。无论如何,浩如烟海的代码都不值得保护,所以我不明白为什么要投入如此多的精力来保护它。
Bryan Oakley

Answers:


6

AFAIK,典型的GPL变体仅“整体”适用于您的工作,而MIT许可证与GPL“兼容”。这意味着,如果您的程序的某些部分已获得MIT许可,那么只要您遵守该部分的MIT许可条款即可(这就是您的想法)。许可证规定的唯一要求是

...“上述版权声明和本许可声明应包含在本软件的所有副本或重要部分中。” ...

大多数Linux系统都包含MIT许可的MIT许可部件(例如X Window系统)。GPL仅适用于Linux的“整体”,不适用于MIT许可的各个部分。如果您以类似方式合并这两个许可证,则对您的程序也是如此。


1
因此,除了在许可证文件中包括项目使用MIT许可证的注释之外,我没有其他特别的要求吗?
RPiAwesomeness '16

@RPiAwesomeness:要么,要么您将版权和许可声明作为标头和源文件的一部分。
布朗
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.