在Github上许可


13

我是第一次上载到GitHub,并且面临各种有关许可的疑问。我不知道那个话题是在网上发现的!但是即使很复杂,我的情况也是如此典型,以至于我猜大多数使用Github的人都已经知道这一点。

我只想公开上传一个应用程序,该应用程序在我的POM for Maven(打包和构建Java管理器)上引用了第三方库,并显然在代码中调用了它们。其中一些是GPL,其他Apache,其他多个许可...

你们通常都需要担心所有这些东西吗?我没有分发任何二进制库或第三方库,没有修改它们,没有在商业上使用任何东西...我是否必须“明确提及它们”?在什么文件中?我有必要为自己的lib使用GPL许可证吗?

令我感到惊讶的是,互联网上的信息到底是什么,因为我从来没有见过有人注意到使用Spring,JUnit等的通知。


1
tldrlegal非常适合获得有关许可证的简短概述。也许这可以为您提供帮助
Brettetete '16

Answers:


14

如果您要公开源代码,那么可以,您确实需要了解第三方库所发布的许可证。即使您没有将它们放入GitHub存储库中,这些库的许可证也可能仅仅因为您正在使用其他第三方软件,而迫使您根据某些许可证来许可您的项目。确切地,您需要执行的操作具体取决于您所使用的第三方软件的所有许可证以及如何使用它们。

您应该对不同许可证的含义进行一些研究。关于不同的开源许可证,程序员在此处还有很多其他问题,并且还有一个Open Source Stack Exchange网站


我进行了研究,但是有很多ifs使您不得不成为专家,我想大多数github用户都不是,所以他们继续前进。很好的参考,我不知道开源站点!!!
异想天开

1
的确,据我的理解,大多数人似乎会继续前进,而不在乎许可。但是,这并不意味着这样做是正确的,甚至不合法。如果你想腾出的用户库的麻烦,一定要使用通常用于该领域,将是你的用户可能感兴趣的其他库兼容的标准许可证。
5gon12eder

2

您提到您的代码使用了Apache和GPL许可证涵盖的其他库。在Apache和GPL之间,GPL的限制更为严格。一般的经验法则是,如果您的代码使用GPL许可的库,则应使您的代码也获得GPL许可。有很多方法可以避免这种情况,但是您只能共享您的代码,并且如果他们希望分发任何东西,则只需将代码的负担转移给采用GPL的代码使用者。


但是问题是我没有二进制分发任何东西,只是引用了Maven中的库,并且在代码中,Github只公开了源代码。
异想天开

@Whimusical因为您使用了GPL许可的库,所以在此方案中最简单的事情是仅对代码采用GPL。如果您不喜欢GPL,则应该尝试找到一些非GPL的替代方案,或者在下一个项目时要格外小心。避免为您的代码提供GPL许可,仅意味着它将被限制在那些愿意自己组装所有必要前提条件并且不介意使用GPL散布其内容或不打算分发它的人使用。
埃里克

我可以在使用某些非GPL的第三方库时将我的项目许可为GPL吗?我看到了一个GPL库,其中包含GPL和LGPL许可证。这是否意味着我可以选择LGPL,然后将我的项目许可为Apache或MIT?考虑到我的项目是操场上的公共事物,它只是我想学习正确而认真的方法
异想天开

@Whimusical对于具有较高限制许可(例如GPL)的项目,使用具有较少限制许可(LGPL,MIT,BSD等)的库通常是可以的。相反通常是不正确的。您可以搜索GPL兼容许可证,以找到有关此主题的更多深入讨论。
埃里克

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.