我想为我的项目选择一个好的开源许可证。我有一些要求,但我很难选择许可证,因为他们会阅读一些不同的东西。
该项目是一个Java项目,可以计算水肺潜水的减压方案。我希望这个项目是开源的,因为错误的解压缩方案可能是致命的。因此,对算法和源代码的反馈对我很重要。我没有制作自己的算法,但是我使用了在1个Java库中实现的各种开源算法。
我的要求是:
我希望有更多知识的人可以帮助我。
答案 0 :(得分:3)
嗯,这里有一些我注意到的事情。
首先,您谈到需要能够使用您自己的代码执行操作。如果您是版权所有者,您可以使用自己的代码做任何你该死的事。许可证适用于其他人,不适合您。
此外,对于代码可能对其他人做什么不承担任何责任,这几乎是许可证的标准。
话虽这么说,我在工作中发现,根据我的需要,我只能使用3种不同的许可证。
作用:
缺点:
我通常将此用于独立应用。
这基本上就是它所说的; GPL与异常链接(或#including)代码不会呈现整个结果GPL。这是an example from the Classpath library。
作用:
缺点:
我通常将它用于帮助设施和API。
这意味着任何人都可以使用此代码执行任何他们喜欢的操作,包括进行微小的调整,将自己的版权置于其上并将其称为自己的版权。
作用:
缺点:
当我发布一些我不希望别人接管的东西,或者发布一些应该是标准库的参考实现的东西时,我会使用它。
现在在像你这样的情况下,我会做的是:
最近我注意到Bruce Perens(OSI的创始人之一)实际上在一年前写了一篇博客文章,the exact same point。他选择了两个不同于我后两个版本的许可证。他选择LGPL作为中间许可证,我认为这是他的错误。但是,他为后一个许可选择了Apache License 2.0,我认为他可能对此有一点意见。通过直接公共域使用Apache获得的好处是您可以更好地保护自己免受专利诉讼。这不是我真正需要担心的可怜的事情,但你的公司完全是另一回事。
答案 1 :(得分:0)
这不可能。你说你想要一个禁止赚钱的开源许可证。但是,作为开源许可证的关键要求之一是对商业化没有任何限制。
Ergo,你所描述的许可证不可能存在。
这里标准答案:StackOverflow是一个编程问题的网站。我们是程序员。你的问题是一个法律问题。这意味着所有答案(包括我的答案)根据定义都是废话,因为我们不知道我们正在讨论的WTF。
对于法律问题,请咨询律师。