我应该使用哪种许可证?

时间:2009-10-21 15:24:24

标签: open-source licensing

假设我已经制作了一些软件(它既有库形式也可以被最终用户使用) 在发布之前,我正在考虑我可以在哪个许可下发布它 我有以下可以想到的问题(可以添加任何更多的问题):

  1. 开源
  2. 我应该保留作为作者的完整功劳,
    虽然扩展者可以扩展并在其贡献中添加他们的名字
  3. 我应该还能赚钱。
  4. 我可以用软件的普及来换取第3点。
  5. 国际许可证。
  6. 感谢。

4 个答案:

答案 0 :(得分:6)

有许多许可证可以执行此操作。从过滤开始:

条件(1)仅表示选择开源倡议http://www.opensource.org/

批准的任何许可

条件(2)是给定的 - 我知道的每个许可都禁止删除您的版权。

条件(3)也是给定的 - 所有开源许可证都允许商业用途,它们可能不允许在封闭源程序中使用。此外,您拥有版权,因此您可以使用您喜欢的任何其他条款重新授权 - 例如,您可以在GNU GPL下发布它,然后当您想在专有程序中使用它时,在另一个项目下将其重新许可给您自己执照。另一种利用开源赚钱的方法实际上是做这个伎俩,但收费 - 如果有人愿意根据GPL发布他们的代码,他们可以免费使用你的代码,否则他们必须支付商业费用 - 使用许可证。什么许可证最合适取决于您希望如何通过软件赚钱,以及它是独立应用程序还是库。 GPL重新许可技巧的一个缺点是更难以获得贡献 - 因为通常你不能重新授权别人根据GPL为你的商业许可计划写的代码;这只有在你拥有版权的情况下才有效,要么是因为你自己写了所有内容,要么是让人们向你捐赠版权。

条件(4),受欢迎,不是许可证的因素,而是软件的因素。 :)

条件(5)应该由任何常用的开源许可证满足。大多数都没有明确的国际化,但我从来没有听说过共同许可的任何重大问题。

所以我说真正的症结是(3)。如果您希望能够销售软件的专有版本,但不关心其他人是否也可以,请使用BSD,MIT或X许可证。这很简单,您可以毫无困难地接受标准许可下的贡献。如果您想让其他人不在商业上使用它,请使用GPL并重新许可它。

另一种在开源软件上赚钱的方法是咨询,但这更少取决于您选择的特定许可,而更多地取决于您的软件是否受欢迎和广泛使用。

答案 1 :(得分:1)

第2点:我所知道的所有开源许可都符合这一要求。

第3点和第4点:这是问题的症结所在。对您来说最重要的是:广泛分发您的软件,还是能够从中赚钱?还有第三个可能的要求,这对您来说似乎并不重要,因为您没有提到它:保留用户的自由。

如果广泛分发很重要,您可能需要考虑BSD式许可证。

如果钱很重要,你应该考虑双重许可。

如果用户的自由很重要,那么GPL或其中一种变体将是一个不错的选择。

此外,根据您的描述,您有应用程序和库。他们是否需要拥有相同的许可证?

Here是来自开发人员的文章,其中有与您相似的要求。

答案 2 :(得分:0)

答案 3 :(得分:0)

几乎所有开源许可证都将满足(2),因为它们要求作者仍然在所有内容中都有用。

问题(3)更有趣一点,因为如果你使用的是真正的开源许可证,那么你将无法阻止其他人销售该软件 - 许可证阻止人们使用它某种方式(非商业性)不是真正的开源许可证,更好地描述为“源可用”或“共享源”许可证。

您可能需要查看像CC-BY-NCCC-BY-NC-SA这样的Creative-commons许可证,它可以满足您的非商业限制,但作为您自己作品的作者,您仍然可以使用它当然是商业化的。但是,知识共享许可不是为代码设计的,而是为其他创意作品设计的。

当你考虑许可时,(4)和(5)并没有任何意义。