开源项目的多许可证和许可证兼容性?

12

我正在开始一个软件项目,最终希望以免费、开源和免费的形式发布。

我的软件利用了其他自由/开源软件,如Markdown(根据BSD许可证发布)、Blueprint CSS(根据MIT许可证发布)以及使用各种许可证(GPL等)的其他软件。有些是copyleft,而有些则不是。

我也会为自己选择许可证。 (还没有决定,但我确实有很多资源可以进行比较。)

我想知道是否有任何资源可以在混乱的许可证兼容世界中进行导航。 我已经谷歌过了,但并没有找到太多信息。 我知道一些许可证是“GPL兼容的”,但我想知道:

1)哪些许可证要求派生作品必须在相同的许可证下发布?

2)哪些流行的许可证彼此不兼容?

3)除了放弃希望和梦想或重新发明轮子之外,您还能做什么?

4)我已经阅读过,以多个许可证发布软件允许用户选择他们喜欢的许可证条款。 必须这样吗? 如果我有两个兼容的许可证,但根据其许可证,我需要同时在两个许可证下发布我的软件,该怎么办?

如果有任何变化,这个软件是为学术项目而开发的。

我是一个程序员,不是律师! 感谢您的帮助。


4
我投票关闭此问题,因为它涉及许可证或法律问题,而不是编程本身。请参见此处了解详情,以及帮助中心获取更多信息。 - Sam
4个回答

5

1) 哪些许可证要求派生作品使用相同的许可证发布?

GPL。我所知道的其他常用许可证都不需要这样做。

2) 哪些流行的许可证是不兼容的?

由于您正在使用GPL代码,因此您只需要担心与GPL许可证兼容的内容(因为您的代码也必须遵循GPL)。这里有一个列表

3) 在这种情况下,除了放弃希望和梦想或重新发明轮子之外,还有什么可以做的吗?

您不应该遇到任何问题,只需使用GPL许可证即可。

4) 我已经阅读过,以多个许可证发布软件允许用户选择他们喜欢的许可条款。一定要这样吗?如果我有两个兼容的许可证,但我需要在两个许可证下发布我的软件,因为我使用的某些代码要求基于其许可证这样做怎么办?

您不会遇到这个问题-只需使用GPL。

如果有所改变,此软件是用于学术项目。

这没有关系。


谢谢!由于我熟悉GPL和创意共享-相同方式共享许可协议,我认为软件许可证要求在相同许可下发布更为普遍。这使得事情变得简单了很多! - Ellie P.
问题是:“如果我使用两个许可证,这两个许可证是否同时适用于最终用户,还是他可以选择适合自己的哪一个?” - soshial

2
我认为以上答案略微过于简单。尽管某些开源许可证非常宽松,但有些许可证之间是不兼容的。
例如,我相信 GPL 与 Apache 版本 1.1 许可证或原始的 BSD 许可证(已经不再存在)不兼容。
XFree86 1.1 许可证与 GPL 版本 2 不兼容,因为其要求适用于分发中包含致谢的所有文档。
GPL 不是唯一的“病毒式”(正确称为 copyleft)许可证,尽管它远远是最常见的。有很多不同的许可证,如果您需要将许多许可证组合用于严肃的项目,则需要律师或至少是专家,但总的来说,流行的开源许可证都非常自由。

0

我也不是律师。但是:

我的理解是,如果你的代码使用了GPL代码,你的项目需要以GPL方式发布。

GPL要求衍生作品必须在相同许可证下发布。

你应该没有问题将来自GPL项目的(更宽松的)MIT / BSD许可证代码包含在内。


0
我可以回答您的第一个问题。
据我所知,唯一的“病毒式”许可证是GPL。还有带有SA条款的CreativeCommons许可证,但我认为该许可证不适用于软件发布。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接