我正在开始一个软件项目,我最终希望以免费,开源和免费的形式发布。
我的软件使用其他免费/开源软件,如Markdown(在BSD许可下发布),Blueprint CSS(在MIT许可下发布)以及其他使用各种许可(GPL等)的软件。有些是copyleft,有些则不是。
我也会为自己选择一个许可证。 (还没有决定,但我确实有足够的资源来比较它们。)
我想知道是否有任何资源可用于导航许可兼容性这一令人困惑的世界。我用谷歌搜索,但没有找到太多。我知道有些许可证是“GPL兼容的”,但我想知道:
1)哪些许可证要求衍生作品在同一许可下发布?
2)哪些流行的许可证彼此不兼容?
3)除了放弃你的希望和梦想或重新发明轮子之外,你能做些什么吗?
4)我读过在多个许可下发布软件允许用户选择他们喜欢的许可条款。一定是那样吗?如果我有两个兼容的许可证但我需要在两个版本下发布我的软件怎么办?因为我使用的某些代码要求基于其许可证?
如果它发生任何变化,该软件适用于学术项目。
我是程序员,而不是律师!我很感激你的帮助。
答案 0 :(得分:4)
1)哪些许可证需要衍生产品 工作在同一个下发布 许可?
GPL。没有其他常用的许可证(我知道)需要这个。
2)哪些受欢迎的许可证 彼此不相容?
当您使用GPL代码时,您只需担心与GPL许可证兼容的内容(因为您的代码也必须是GPL) - 有a list here。
3)你能做些什么吗? 那个案子除了放弃你的 希望和梦想或重塑 轮?
您不应该遇到任何问题,只需使用GPL许可即可。
4)我读过发布软件 根据多个许可证允许 用户选择那些许可条款 他们更喜欢。一定是那样吗?什么 如果我有两个兼容的许可证但是 我需要发布我的软件 这两个因为我的一些代码 使用要求基于它 许可证?
你不会遇到这个问题 - 只需使用GPL。
如果它改变了什么,这个软件 是一个学术项目。
没有。
答案 1 :(得分:1)
我认为上述答案略显过分简化。一些开源许可证彼此不兼容,即使它们可能非常宽松。
例如,我认为GPL与Apache 1.1版许可证或原始BSD许可证(不再存在很多)不兼容。
XFree86 1.1许可证与GPL的第2版不兼容,因为它的要求适用于包含确认的分发中的所有文档。
GPL并不是唯一的“病毒”(俗称copyleft)许可证,尽管它是迄今为止最常见的许可证。有很多不同的许可证,需要律师 - 或者至少是专家 - 如果您需要将其中许多项目合并为一个非常繁重的项目,那么这一点并不是不可能的,但一般来说,流行的开源许可证都是很自由。
答案 2 :(得分:0)
我也不是律师。但是:
我的理解是,如果您的代码使用GPL代码,则您的项目需要作为GPL发布。
GPL要求衍生作品在同一许可下发布。
您应该毫不费力地包括来自GPL项目的(更宽松的)MIT / BSD许可代码。
答案 3 :(得分:0)
我可以回答你的第一个问题。
据我所知,唯一的'病毒'许可是GPL。 还有带有SA条款的CreativeCommons许可证,但我不认为软件是根据该许可证发布的。