哪个是我的开源项目的最佳许可证?

时间:2010-04-23 16:02:51

标签: open-source licensing

我是网站开发人员,我对软件许可证的了解不足。我希望发布我的一些作品,我需要为它们选择许可证。我的软件产品是免费的,但我对代码的分发/修改有一些限制。

  1. 免费(但捐款是可以接受的)。
  2. 源代码免费提供。您可以使用,自定义或编辑/删除代码(只要不更改软件的基本属性)。
  3. 您无权更改产品名称。
  4. 有些库和类位于名为“myname”的文件夹中。您无权重命名“myname”。
  5. 您可以向我的项目添加或修改任何添加或修改到原始源存储库(贡献者的名称/电子邮件/站点链接将列在信用文件中)。
  6. 您无法从许可证中删除原作者的姓名。
  7. 您可以将许可证文件或许可证代码放在项目文件或文件夹中的任何位置。
  8. 您可以将此代码重新分发为免费或商业软件。
  9. 所有这些限制都有效吗? 鉴于这些限制,我应该使用哪种许可?

    我的主要目的是使产品在免费源代码中更受欢迎,同时确保不会忽略原作者。该产品是开放的。

    谢谢大家;以上几点是因为我对许可条款缺乏了解。 您可以帮我纠正或删除以上几点。我基本上要找的是上面的段落。

7 个答案:

答案 0 :(得分:2)

我不认为我熟悉的任何许可证目前都包含以下内容:

  • 不要偏离软件的基本性质。
  • 您可以将/ customize / redistribute用作免费或商业用途,但不能更改名称。

答案 1 :(得分:2)

正如其他人所说,你有一些相当奇怪的要求:

  • “不要偏离软件的基本性质。”(您是否在程序本身中指定了“软件的基本性质”,并且您是否会在法庭上就某些模糊的东西进行辩论?)

  • “您无权更改产品名称。”(通常,如果有的话,则需要相反:如果您更改了它,则 更改名称,所以人们不认为这些修改代表了你的工作。)

  • “有些库和类位于名为'myname'的文件夹中:您无权重命名'myname'。”(与第一个类似,但更具体 - 尽管我是不确定这是什么意思。)

根据这些要求,我认为最符合您所述愿望的许可证是GNU Free Documentation License。正如标题所示,它几乎从未用于程序的源代码。

这是我所知道的唯一许可,允许您禁止用户更改或改进工作的特定部分。例如,我想你可以说文件夹“myname”是一个“不变的部分”(注意我不是律师,这不是法律建议)。

它与GPL不兼容,并且(你使用它的方式)它不是DFSG免费的。它很少用于软件,因此分销商和贡献者可能无法理解如何应用它。简而言之,你可能不会与这条路线交朋友。

答案 2 :(得分:2)

我认为虽然产品可能是免费的并且“源代码可用”,但您所描述的并非“开源”。值得注意的是,您不会让人们分叉和/或重新调整代码,这两者都是开源代码库的主要功能。

通过保留版权,没有人可以“取消你的名字”,因为他们没有版权,但无法重命名项目,或更改文件夹的名称,这是非常极端的。

所以,我建议你考虑发布代码背后的动机,以及这些限制的来源。

答案 3 :(得分:0)

BSD许可证应涵盖此内容。我也选择它作为我的开源软件。

答案 4 :(得分:0)

根据书面说明,您的要求不符合任何特定许可证(我知道),并且由于您不打算赚钱,让律师起草一个会相当昂贵,从根本上会适得其反

我建议您查看不同开源项目的许可证,看看哪个与您想要的密切相关,并使用它。

答案 5 :(得分:0)

要获得您想要的一切,您可能需要编写自己的许可证。这不一定符合您的最佳利益。您将不得不在流行度控制之间做出选择:

  • 如果您使用已建立的许可证,您的工作人员将非常广泛,这将有机会受到欢迎。

  • 如果您坚持某些限制(名称无法更改),您将获得更大的控制权,但您将失去潜在用户;因为许多组织不会使用非标准许可证来查看软件。

您的要求与BSD非常接近,与麻省理工学院没有什么不同。我建议您浏览popular licenses blessed by the Open Source Initiative,然后选择您认为最符合您需求的那个。我已经检查了你的编辑,如果你坚持我的建议,为了你的意愿,我推荐简化的BSD许可证。这是一个很好的,流行的许可证,通常用于希望他们的工作得到广泛部署的开发人员。

如果您要求README文件中的人员不分叉您的软件并更改名称,作为个人偏好而非许可条款,大多数人都会尊重您的意愿。

答案 6 :(得分:0)

我认为您很难找到适合您需求的现有许可证,因为您似乎需要两组不同的权限:一般来说,类似于MIT的一组权限,但锁定的除外 - 下来“myname”文件夹。您可能最好将代码分成两个独立的部分,每个部分都有不同的许可证。 MIT license似乎符合您的大部分代码条件(除了“软件的基本性质”声明,我不确定您的意思)。 MIT许可证要求带有您姓名的版权声明保留在源代码的所有副本中,因此这将解决您在第一次编辑时提出的问题。根据您需要为“myname”文件夹添加特殊限制的特定原因,您可能必须编写一个自定义许可证(您可以使用现有的许可证,只需调整它),该许可证仅管理该文件夹。您的整个项目不必属于单一许可。

  

3)您没有任何许可   更改产品名称。

你可能会问这个问题。如果有人拿走你的代码,增强它,并使用相同的名称发布它,那么你将有两个非常不同的程序使用相同的名称。这对潜在用户来说非常混乱。是原始版本吗?使用德语界面修改的版本?修复特定错误的版本?当它们都具有相同的名称时,很难确定。如果用户对特别错误(或更糟,受病毒感染)的衍生作品有不良体验,他们就不太可能使用任何版本的软件,因为它看起来与错误版本的程序相同。

我的印象是,您大部分都希望避免将您的作品复制并完全重新打上品牌而不承认您的参与。我可能会建议不要禁止更改名称,而是要求衍生作品引用您的原始产品名称(例如,“ShinyNewProgram - Powered by YourOriginalName”)。许多开源项目对其产品名称进行商标注册,而像#3这样的条款将违反商标法;更常见的解决方案是要求一个新名称(以区别于原始名称)并要求明确归属原始作品。