麻省理工学院vs GPL许可

MIT许可证是GPL兼容的。 GPL许可与MIT兼容? 即,我可以在GPL许可的产品中包含MIT许可的代码,但是,我可以将GPL许可的代码包含在MIT许可的产品中吗?

在我看来,MIT许可证和GPL之间的主要区别是,MIT不需要修改,而GPL就是开源的。 那是对的吗? GPL是否比MIT许可更具限制性?

在我看来,MIT许可证和GPL之间的主要区别是,MIT不需要修改,而GPL就是开源的。

诚然 – 一般来说。 如果您使用的是GPL,则无需开放源代码。 只要你不分发它,你可以修改它并将其用于你自己的目的。 但是,如果你分配它,那么你使用GPL代码的整个项目也会自动变成GPL。 这意味着,它必须是开源的,收件人享有与您相同的权利 – 也就是说,他们可以转向,分发,修改,出售等。这将包括您的专有代码,更专有 – 它变成开源。

与麻省理工学院的不同之处在于,即使您实际上分发使用MIT许可代码的专有代码,您也不必将代码设为开源代码。 您可以将其分发为代码被encryption或是二进制文件的封闭应用程序。 包括麻省理工学院许可代码可以encryption,只要它携带MIT许可证通知。

GPL是比MIT许可更严格的吗?

是的,非常非常。

我可以将GPL授权代码包含在麻省理工学院授权产品中吗?

您可以。 GPL是免费软件,也是麻省理工学院,这两个许可证不会限制你把代码放在一起,因为“包含”总是双向的。

在合作作品的版权(即两件以上作品一起构成作品)中,如果一件作品比另一件作品“大”,则没有多大的差别。

因此,如果您将GPL授权代码包含在麻省理工学院授权产品中,那么您同时也将包含一份麻省理工学院授权产品,并使用GPL授权代码。

作为第二个意见, OSI对这两个许可(MIT和GPL) 列出了以下标准(更详细地 ):

  1. 免费再分配
  2. 源代码
  3. 派生作品
  4. 作者源代码的完整性
  5. 不歧视个人或团体
  6. 对“奋进”领域没有歧视
  7. 许可证的分配
  8. 许可证不得特定于产品
  9. 许可证不得限制其他软件
  10. 许可必须是技术中立的

两者都允许创build组合作品,这是你一直在要求的。

如果把两部作品结合起来就是一个衍生物,那么这两个许可证都不会受到限制。

而且这两个许可证都不限制分发软件。

在我看来,MIT许可证和GPL之间的主要区别是,MIT不需要修改,而GPL就是开源的。

GPL并不要求你仅仅因为你做了修改才能发布你的修改。 这并不准确。

你可以把这个与GPL下的软件分布结合起来,这不是你直接询问的。

这是否正确 – GPL是否比MIT许可证更具限制性?

这是我的理解:

就分布而言,您需要将整个软件包放在GPL下。 麻省理工学院的麻省理工学院的代码仍然可以在麻省理工学院获得,但是如果不受更高的权利的限制,GPL适用于整个学院。

“限制”或“更多限制”/“更less限制”在很大程度上取决于观点。 对于一个软件用户来说,麻省理工学院可能会导致比GPL下的软件更受限制的软件,甚至有些人认为GPL现在更受限制。 该用户在具体将调用麻省理工更严格。 这样说只是主观的,不同的人会给你不同的答案。

因为谈论不同许可证的限制只是主观的,所以你应该考虑一下你想达到的目的:

  • 如果你想限制使用你的修改,那么麻省理工学院可以比GPL更具限制性,可能是你要找的。
  • 如果你想确保你的软件的自由不会受到你分发的用户的限制,那么你可能希望在GPL下发布,而不是MIT。

只要你是作者,你可以决定。

所以有史以来限制最多的人是作者,不pipe有人select哪种许可;)

GPL比MIT许可证更具限制性是正确的。

您不能将GPL代码包含在MIT许可的产品中。 如果您分发了结合了GPL和MIT代码的组合工作(除了在某些特定情况下,例如“单纯的聚合”),那么这个分发必须符合GPL。

您可以将MIT许可代码包含在GPL产品中。 整个联合工作必须以符合GPL的方式进行分配。 如果您已经对代码的MIT部分进行了更改,则如果您分发包含GPL和MIT代码的应用程序,则需要为这些更改发布源代码。

如果您是GPL代码的版权所有者,您当然可以select在MIT许可证下发布该代码 – 在这种情况下,这是您的代码,您可以根据您的需要在许可证下发布它。

IANAL,但我看到它….

虽然你可以结合使用GPL和MIT代码,但GPL是污染的。 这意味着整个软件包获得了GPL的限制。 由于这是更严格的,你不能再用于商业(或闭源)软件。 这也意味着如果你有一个MIT / BSD / ASL项目,你不会想要增加对GPL代码的依赖。

添加一个GPL依赖不会改变你的代码的许可证,但它会限制人们可以用你的项目工件做什么。 这也是为什么ASF不允许依赖于他们的项目的GPL代码。

http://www.apache.org/licenses/GPL-compatibility.html