帮我选择软件许可证

时间:2010-12-24 14:57:52

标签: open-source licensing software-distribution

我的应用程序达到了相当不错的beta / alpha级别,我可能会在某个时候发布它。我还没有决定在我的应用程序中使用什么软件许可证。该申请正在建设中。我打赌这一定是每个开发人员在某个时候都会想到的问题。

我的软件更像是一个图书馆,这是我个案中的一些关键因素:

  • 必须是开源许可证。
  • 开发人员必须可以免费将其用作应用程序库。
  • 允许开发人员将源代码重新分发为其修改或未修改的应用程序的一部分。
  • 该库可用于闭源软件。
  • 我想要归因/信用。软件“帮助”对话框中的单行信用或其网站的某个部分中的某个信用额度很好。只要第三方很容易找到用于生成软件的库。
  • 不应允许使用现有源代码分割新项目。我希望人们能够使用它甚至修改它,但不要克隆新的类似产品以与我现有的产品竞争。
  • 许可证需要声明我对任何损害不承担任何责任。

有这样的执照吗?这些要求是否适合开源许可证?

4 个答案:

答案 0 :(得分:3)

  

不应允许使用现有源代码分割新项目

以上与开源思想(允许/鼓励分叉)相冲突。更多信息:Which open source license has no forking

如果您认为可以放弃该要求,那么最好的选择是LGPL以及人们必须给您信用的额外要求(您必须根据不同的用途定义您想要的归属/信用类型)

詹姆斯在之前的评论中指出:

  

福克斯很少发生

  1. 分叉(大)项目
  2. 非常困难
  3. 如果有叉子,你可以获得更多好处 - 你可以从叉子中获取好的想法并留下坏处。这样,对功能/代码的更好判断最终将获胜(这是开源思想的一部分)

答案 1 :(得分:2)

您应该能够找到符合您需求的产品:

http://en.wikipedia.org/wiki/Comparison_of_free_software_licenses

更具体地说,我认为GPU Lesser Public License可能适合您图书馆的需求。请记住像(所有?)开源许可证一样,LGPL允许分叉。

http://en.wikipedia.org/wiki/GNU_Lesser_General_Public_License

答案 2 :(得分:2)

  

将一个新项目分配给我的   现有的源代码不应该   允许。我希望人们能够   使用它甚至修改它,但不是   克隆一个新的类似产品来竞争   反对我现有的产品。

嗯......这是我在开源许可证中从未听说过的,我不知道有任何这样的问题。你怎么会这么说呢?确定fork和已经接受了代码并且刚刚添加了补丁的其他人之间的差异真的很难。

你能想到这个吗?福克斯很少发生,当他们这样做时,他们并不总是竞争。人才,想法甚至代码都可以自由地在货叉之间流动。

答案 3 :(得分:2)

您需要咨询律师,我们不是律师,也不了解您的申请。

正如詹姆斯所说,使用开源许可证防止分叉很复杂。

对于商业应用,您可能需要考虑双重许可。

据我所知LGPL允许分叉。