Open source 为库选择开源许可证

Open source 为库选择开源许可证,open-source,licensing,Open Source,Licensing,我想为我的项目选择一个好的开源许可证。我有一些要求,但我很难选择一个许可证,因为我读了一些不同的东西 该项目是一个Java项目,可以计算潜水减压方案。我希望这个项目是开源的,因为一个错误的解压缩方案可能是致命的。因此,对算法和源代码的反馈对我来说很重要。我不做自己的算法,但我使用我在1个Java库中实现的各种开源算法 我的要求是: 我和项目的其他贡献者不想对由于代码中的错误、未使用代码或导致错误解压缩方案的任何其他方式而导致的错误计算的解压缩方案负责 该库应该能够在我计划构建的网站上使用,而无

我想为我的项目选择一个好的开源许可证。我有一些要求,但我很难选择一个许可证,因为我读了一些不同的东西

该项目是一个Java项目,可以计算潜水减压方案。我希望这个项目是开源的,因为一个错误的解压缩方案可能是致命的。因此,对算法和源代码的反馈对我来说很重要。我不做自己的算法,但我使用我在1个Java库中实现的各种开源算法

我的要求是:

  • 我和项目的其他贡献者不想对由于代码中的错误、未使用代码或导致错误解压缩方案的任何其他方式而导致的错误计算的解压缩方案负责
  • 该库应该能够在我计划构建的网站上使用,而无需发布网站的服务器端代码
  • 图书馆本身是不允许盈利的。甚至图书馆也没有被更改和重新发布。然而,我不介意人们出售利用图书馆的程序
  • 如果用户更改代码,则应强制他们使用开源许可证重新发布库(可选要求)

我希望对许可证有更多了解的人能帮助我。

嗯,这里有几件事我马上就注意到了

首先,您谈到需要能够使用自己的代码来做事情。如果你是版权所有者,你可以用自己的代码做任何你想做的事情。许可证是给别人的,不是给你的

此外,对于代码可能对其他人造成的影响,不承担任何责任几乎是任何许可证的样板

也就是说,我发现在我的工作中,根据我的需要,我只能使用3种不同的许可证

完全基于GPL 好处:

  • 任何人都不能接受任何代码专有(如果不来找我重新授权)。他们仍然可以使用它并向用户收费,但由于他们必须对结果GPL进行许可,因此这并不特别实用。原因是他们的任何用户都可以免费赠送他们喜欢的所有拷贝
  • 源代码可以供任何人提供,因此我可能不必找到并修复每一个该死的bug,也不必自己编写每一个新特性
缺点:

  • 所有代码都不可在Property应用程序中使用
我通常将其用于独立应用程序

带链接异常的GPL 这基本上就是它所说的;GPL例外,meerly针对(或#包括)代码链接不会呈现整个结果GPL。给你

好处:

  • 没有人能将代码本身视为专有
  • 该代码可以在专有产品中使用,而无需使整个封闭源代码产品开源。只有GPL许可的东西必须保持GPL
缺点:

  • 设施本身永远不能扩展为专有设施。在我的书中,这通常是一个加号,但它确实阻止了一些人使用它
我通常将其用于辅助工具和API

公共领域 这意味着任何人都可以用这段代码做任何他们喜欢的事情,包括做一个小小的调整,在上面贴上他们自己的版权并称之为他们的

好处:

  • 任何人都可以随心所欲地使用它
缺点:

  • 没有保护代码不被专有软件销售商“窃取”
  • 在五月份的司法管辖区内不可能做到(据我所知,允许的BSD是一个很好的替代方案)
当我发布一些我真的希望其他人接管的不完整的东西,或者发布一些应该作为标准库的参考实现的东西时,我会使用它

现在,在像你这样的情况下,我要做的是:

  • 将GPL与库的链接异常一起使用。这将允许每个人(包括您)在专有应用程序中使用库,但库本身将始终保持免费
  • 使用GPL,并坚持其他人的贡献将其版权分配给您。这允许您完全有权使用他人的贡献制作自己的专有应用程序,并且不允许其他任何人(包括那些贡献者)拥有相同的权利。在我的书中有点俗气,可能会让外界的贡献者感到泄气。然而,无论如何,只有最成功的自由软件项目才能获得任何外部贡献者。因此,这可能没有那么大的损失


最近我注意到Bruce Perens(OSI的创始人之一)实际上在一年前发表了一篇博文,这篇博文让我感到惊讶。他选择了两个不同的许可证,而我选择了后两个。他选择LGPL作为中间许可证,我认为这是他自己的错误。然而,他选择了后一个许可证,我认为他可能有一个观点。在纯公共领域上使用Apache的好处是,您可以更好地避免专利诉讼。这不是可怜的小我真正需要担心的事情,但你们公司完全是另一回事。

这是不可能的。你说你想要一个禁止赚钱的开源许可证。然而,作为一个开放源码许可证的关键要求之一是不限制商业化

因此,像你描述的那样的许可证是不可能存在的


这里是标准答案:StackOverflow是一个编程问题的网站。我们是程序员。你的问题是一个法律问题。这意味着所有的答案(包括我的答案)都是废话,因为我们不知道我们正在谈论的WTF

关于法律问题,请咨询律师。