Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Open source 我的开源项目的最佳许可证是什么?_Open Source_Licensing - Fatal编程技术网

Open source 我的开源项目的最佳许可证是什么?

Open source 我的开源项目的最佳许可证是什么?,open-source,licensing,Open Source,Licensing,我是一名网络开发人员,我对软件许可证没有足够的了解。我想出版我的一些作品,我需要为它们选择许可证。我的软件产品是免费的,但我对代码的分发/修改有一些限制。 这是免费的(但捐款是可以接受的) 源代码是免费提供的。您可以使用、自定义或编辑/删除代码(只要软件的基本性质不变) 您没有更改产品名称的任何权限 有一些库和类位于名为“myname”的文件夹中。您没有重命名“myname”的权限 您可以将我的项目的任何添加或修改添加到原始源存储库(参与者的姓名/电子邮件/站点链接将列在信用文件中) 您不能从许

我是一名网络开发人员,我对软件许可证没有足够的了解。我想出版我的一些作品,我需要为它们选择许可证。我的软件产品是免费的,但我对代码的分发/修改有一些限制。

  • 这是免费的(但捐款是可以接受的)
  • 源代码是免费提供的。您可以使用、自定义或编辑/删除代码(只要软件的基本性质不变)
  • 您没有更改产品名称的任何权限
  • 有一些库和类位于名为“myname”的文件夹中。您没有重命名“myname”的权限
  • 您可以将我的项目的任何添加或修改添加到原始源存储库(参与者的姓名/电子邮件/站点链接将列在信用文件中)
  • 您不能从许可证中删除原始作者的姓名
  • 您可以将许可证文件或许可证代码放在项目文件或文件夹中的任何位置
  • 您可以将此代码作为免费或商业软件重新发布
  • 所有这些限制都有效吗鉴于这些限制,我应该使用哪个许可证?

    我的主要意图是使产品更受欢迎,同时确保原作者不被忽视。产品是开放的

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

    BSD许可证应该涵盖这一点。我选择它也是为了我的开源产品。

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

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

    如书面所述,您的要求不适合任何特定的许可证(据我所知),而且由于您不想赚钱,因此让律师起草一份许可证将相当昂贵,而且从根本上说会适得其反


    我建议您查看不同开放源码项目的许可证,看看哪一个与您想要的非常匹配,然后使用它。

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

    • 如果您使用已建立的许可证,您的作品将有非常广泛的受众,这将有机会成为流行

    • 如果你坚持某些限制(名称不能更改),你将保持更大的控制权,但你将失去潜在用户;因为很多组织不会考虑使用非标准许可证的软件

    您的需求与BSD非常接近,与MIT没有太大区别。我建议你浏览网站,选择一个你觉得最符合你愿望的。我已经检查了您的编辑,如果您坚持要我推荐,出于您的意愿,我推荐简化BSD许可证。这是一个很好的、流行的许可证,开发人员经常使用它,他们希望自己的工作能够得到广泛的部署


    如果您要求自述文件中的人不要放弃您的软件并更改其名称,这是出于个人偏好而非许可条款,大多数人都会尊重您的意愿。

    正如其他人所指出的,您有一些相当奇怪的要求:

    • “不要偏离软件的基本性质。”(您是否在程序本身中指定了“软件的基本性质”,您是否打算在法庭上就如此模糊的内容进行辩论?)

    • “您没有更改产品名称的任何权限。”(通常,如果有任何更改,则要求相反:如果您更改产品名称,则必须更改名称,因此人们不会认为这些更改代表您的工作。)

    • “在名为‘myname’的文件夹中有一些库和类:您没有重命名‘myname’的权限。”(与第一个类似,但更具体,但我不确定这是什么意思。)

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

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


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

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

    通过保留版权,没有人可以从你的代码中“去掉你的名字”,因为他们没有版权,但是不能重命名项目,或者更改文件夹的名称,这是非常极端的


    因此,我建议您仔细考虑一下发布代码背后的动机以及这些限制的来源。

    我认为您将很难找到一个现有的许可证来满足您的需要,因为您似乎需要两套独立的权限:一套类似麻省理工学院的源代码权限,除了锁定的“myname”文件夹。