GitHub 许可证——我们在说什么?为了创建软件,您不仅需要编写它,还需要决定用户或开发人员有权使用它做什么。如果有人为每个人创建了一个免费程序,他就是在做一件好事,但谁使用它就必须证明他如何使用它。例如,如果一家公司在其活动中将与任何免费办公室(例如 LibreOffice)合作,那么对于审计员来说,它必须能够证明它有权这样做。为此,提供适当的许可证就足够了。如果开发商忘记制定它,那么公司可能会发现自己处于困境。 [标题ID =“attachment_11854”对齐=“aligncenter”宽度=“1024”]
许可证分类和许可证类型 [/caption] 在创建应用程序时,开发人员必须决定允许和不允许对他的程序进行哪些操作。例如,我们不仅可以谈论使用,还可以谈论学习程序的文本或对软件产品进行自己的调整。 GitHub 是最大的协作项目开发服务之一。同时,他们不仅可以在这里免费工作,还可以从事商业项目。通过指定合适的许可证,开发人员将消除关于如何使用所创建产品的混淆。问题是存在不同类型的许可证,并且在特定情况下确定应该首选哪个选项并不总是那么容易。某些项目没有许可证的情况并不少见。有必要更多地了解许可,以了解用户在不同情况下的权利和义务。
为什么我需要在 GitHub 上许可开源项目
通过指定所需的许可证,开发者可以提供以下内容:
- 程序的使用条款。他们可能会支付一定的费用,或者在某些或所有情况下允许免费使用。
- 有时,程序是由社区开发的。在这种情况下,重要的是每个人都可以熟悉程序文本。
- 当代码可用时,有些人可能会进行更改以使程序运行起来并尽可能可靠。有时,作者可以允许每个人都这样做,在其他情况下,他提出将更改发送给他,并自行对项目进行调整。
- 您需要决定第三方是否可以对项目进行更改并代表他们提出建议。在这种情况下,有必要指出他们的产品应该使用哪个许可证。
解决这些和类似问题,应用程序的作者实际上在很大程度上决定了他创建的软件产品的未来命运。
有哪些类型的许可证
许可是一种协议,其中一方(许可方)为另一方(被许可方)使用其创建的产品制定规则。在实践中,我们不是在谈论当事人签署的文件,而是在使用文件时自动同意其相应的权利和义务。实际上,对指定权利和义务没有任何限制。唯一的条件是他们必须遵守法律。创建自己的许可证是一项棘手的工作,因为您需要确保它与其他法规兼容。最好的选择是选择和使用此类文档的标准类型之一。在实践中,也习惯于使用多重许可。大多数情况下,在这种情况下,会同时使用两个许可证。虽然程序作者有权独立制定用户必须遵守的规则,但在实践中,已经发展出大量类型的许可,大多数情况下您可以从中选择合适的。以下是大多数情况下 Git Hub 上最常用的选项。 Git Hub 上最常用的许可证是:
程序员必须能够选择一个适合他的计划。要正确执行此操作,您需要了解某些物种固有的特征。
如果作者拒绝制定文件,则在这种情况下将适用版权,这是他所在国家/地区的立法默认提供的。以这种方式没有许可证并不意味着您可以对程序做任何想做的事情。事实上,这种情况也可以被认为是一种许可类型。
如何选择 Github 许可证
在开始寻找合适的选项之前,程序员有必要制定他的要求,他将根据这些要求进行进一步的许可。接下来,您应该熟悉与请求对应的典型选项。之后,您需要仔细研究法律措辞,并就许可证应该是什么做出最终决定。为了做出明智的选择,您需要了解特定类型的许可决定了哪些权利和义务。为了做出正确的选择,您可以使用称为比较器的特殊服务。这里有些例子:
- https://choosealicense.com/。该站点包含选择正确选项的指导性问题和详细建议,以帮助您了解使用细节。
- https://opensource.org/licenses 页面专门用于审查各种免费软件解决方案。
- 网站 https://tldrlegal.com/ 可以被视为各种许可选项的百科全书。它包含精确的法律语言和详细的评论。
在 https://choosealicense.com/ 比较许可证 [[]] 然而,最有效的选择是仔细阅读相关的法律文件。尽管这是一项耗时的活动,但是,研究文本将为开发人员提供他需要的所有答案。
如何向 Github 添加许可证
尽管有大量许可选项可供选择,这些选项在实践中已证明其有效性和可靠性,但开发人员可能对他创建的程序应该使用什么许可有自己的想法。在这种情况下,该服务提供添加您自己的版本或调整现有版本的功能。要将许可证添加到 Github,您需要按照以下步骤操作:
- 您需要转到存储库的主页。
- 您需要单击按钮添加文件,然后选择“创建新文件”。
- 接下来,您需要输入文件名。对于许可证,它可以是以下两个选项之一:LICENSE 或 LICENCE.md。这里大写是强制性的。
- 在文件名输入字段的右侧,单击以选择许可证模板。
- 在页面左侧的菜单中,选择“向项目添加许可证”行。在这种情况下,将从现有文档中选择一个选项。
- 然后单击“查看并提交”行。然后输入他们的协议详细信息。
- 之后,有必要澄清进行了哪些添加或更改。接下来,它们指示所选文档是否已更正,或者我们是否正在讨论创建许可证的另一个版本。
确认更改后,开发人员完成对 Git Hub 服务上的许可证列表进行更改的过程。
选择许可证 Github – Git Hub 上流行的许可证示例
接下来,我们将考虑那些最受欢迎的选项。了解了它们的优点和缺点后,程序员将能够找到正确的选项或了解如何有效地进行搜索。
通用公共许可证
该许可证可以称为最受欢迎的许可证之一。对于那些制作自由软件的人来说,这是经典之作。本文档的主要要求之一是它
允许第三方自由修改程序,但同时他们只有在相同的许可下才有权分发结果。此许可证可能有不同的版本。最新的是第三个。GPL 被 Drupal Web 内容管理系统、MariaDB 数据库管理系统、矢量图形编辑器 InkSkape 等程序的开发人员使用。有趣的是,SQL 不仅使用 GPL,还使用商业许可证。
LGPL
此标题翻译为 GNU 宽松通用公共许可证 GPL。对于某些开发人员来说,GPL 并不合适,因为它使他们有义务在同一许可证下分发修改后的产品。使用此选项的特殊性可以通过对程序员创建的库的使用进行许可的过程来说明。在这种情况下,通常会考虑以下三个选项:
- 当一个库提供新功能,而没有商业库可以执行类似的任务时,使用 GPL 是最佳选择。
- 免费库中的开发人员已经实现了现有标准。在这方面,有类似功能的商业选项。在这种情况下,选择 LGPL 会很方便。
- 当涉及到真正与商业标准竞争的新标准时,Apache 许可证是合适的。
该标准
允许库的商业用途。如果进行修改,必须使用相同的条款和条件进行分发。然而,简单的代码使用允许条件改变。
Eclipse 公共许可证
本文档
允许在其他许可证下分发,包括商业许可证。主要条件是在修改后的作品中,创新将被放置在一个单独的模块中。该许可证在 Java 产品的开发中很受欢迎。一个例子是 Clojure 编程语言,一种用于测试 Java 应用程序的框架。
Mozilla 公共许可证
有些人认为这份文件是 GPL 和商业许可证之间的妥协。MPL 要求
公开访问某些文件。软件产品可能包含本许可下的某些文件,而其他文件则没有。修改后可以放需要的license(比如可以是商用的),但前提是对MPL下发布的文件的访问权限仍然是开放的。在这种情况下,应向最终用户提供有关原始软件作者的信息。LibreOffice office、Mozilla 浏览器等软件产品均按照本文档发布。
Apache 许可证 Github
AL 被称为自由自由许可证。这个特点是因为
没有要求在与以前相同的条件下发布衍生产品。本文档被 Apache 软件基金会积极使用。使用时,允许以下情况:
- 允许软件产品继续用于商业目的。
- 允许对应用程序进行修改。
- 随后的重新分发必须包括原作者的姓名。
创建新变体时,被许可方没有义务提供原始产品代码。该许可证已广受欢迎。这可以通过列出在此类许可下发布的知名软件产品来证明:Android 操作系统、在 Java 中创建企业应用程序的框架、Apache Web 服务器。https://youtu.be/wyZq-EazOmU
麻省理工学院执照
有些人发现这种免费软件许可选项是最受欢迎的。有些人认为它的主要优点是与各种类型的免费或商业许可证的良好兼容性。最重要的功能是修改代码的
能力,以及在做出更改的人的选择下根据其他许可证重新分发的权限。使用本文档的软件产品有:一个叫做 JQuiery 的 JavaScript 库,一个 Atom 文本编辑器,AngularJS——一个用 JavaScript 开发的框架。
Git Hub 的许可证比较 [/ caption]
水下岩石
有时,作者最初选择了一个版本的许可证,后来又想更改它。如果他一个人创建了这个程序,那么这样的改变并不困难。但是,如果开发中有很多参与者,那么未经他们的同意,它就不会工作。例如,Linux 的创造者,虽然他实际上是操作系统的基础,但如果没有所有参与进一步开发的程序员的同意,他将不能更改许可证。在 MPL 下重新分发时,对代码进行更改的人不能在其他许可证下提供 MPL 下的文件。新文件的使用将适用于其他软件模块。