如何选择 GitHub 许可证以及为什么不要做出错误选择很重要?GitHub 是最大的 IT 项目联合开发及其后续托管服务。在此网络服务的帮助下,无限数量的人可以同时处理一个项目,也可以来自世界任何地方。在 GitHub 中还有一个管理系统或控件,可以让您随时查看和控制开发人员所做的所有更改,还可以让您返回更改之前发生的状态。
但简单地说,GitHub 是一个所谓的程序员和开发者的社交网络,在那里你可以找到并练习使用其他开发者的代码。您还可以将您的投资组合存储在 GitHub 中。总而言之,GitHub 是一项非常适合新手开发人员和有经验的程序员的服务。但是,此服务的用户有时可能会对选择许可证有一些疑问,因为他们的选择非常多样化。
什么是 GitHub 许可证
许可证是一种由国家形式建立的特殊文件,允许人们从事某种类型的创业活动,这必然需要缔约国的特别关注。但是,在实践中,大多数情况下,只使用简短的许可协议或规定颁发私法许可证的协议。一般来说,许可只追求一个但最重要的目标,它是许可人和被许可人之间关于义务和权利的协议。这些义务和权利绝对可以是任何东西,但只能在法律框架内。一个突出的例子是许可人在被许可人使用作品时可能要求强制注明版权人的姓名。或者,例如,为了允许复制作品,但绝对禁止对其进行任何修改。或者,为了推导出作品必须在与原作完全相同的条件下制作的要求,等等,有很多不同条件被提出的例子。 [标题ID =“attachment_12368”对齐=“aligncenter”宽度=“780”]
Apache 许可证之一的示例 [/ caption]
但是,我们也不能忘记,许可不仅保护许可人的权利,也保护被许可人的权利。由于在其中您可以清楚地看到和阅读作品的所有使用条款,因此他不必担心许可人会突然要求使用其作品的任何版税或任何其他补偿。
如果您选择退出与作品相关的许可,版权仍将根据该国家/地区的现行法律规则适用。简而言之,没有许可证并不意味着其他作者可以随意使用这个项目。一切,绝对,恰恰相反,因为没有任何特定的许可,程序员绝不会放弃法律授予的权利。始终记住许可证管辖所有权利和义务也很重要。这是为了保护作品的所有者不受用户期望和任何保修所暗示的影响。毕竟,没有人希望他的代码以任何方式告上法庭。
什么是版权
只有当一个人通过智力活动创作出独一无二但同时又有用的作品时,版权才会出现,例如,您可以编写同一个程序。完成上述所有操作后,此人将成为作者,现在他绝对拥有此作品的所有版权。还必须指出的是,版权是专有的和非专有的。它们的区别在于,财产权可以转让给任何人,但并非财产权在任何情况下都永远只属于作者。毕竟,成为作者是一项不可剥夺和不可剥夺的权利。
什么是开源许可证?
这也是新手开发人员和程序员之间相当流行的问题,因为他们根本不明白为什么要为他们的项目附加任何许可证,因为没有它,项目也很容易存在。然而,这并不完全正确,因为例如,如果一些新手开发人员编写了一些相当重要和有用的代码,但没有使用许可证对其进行保护,那么其他用户就会有疑问。也正因为如此,当客户来找他,想将这段代码用于商业目的时,他们看到该代码没有任何许可证,干脆拒绝了。这是因为公司在没有许可证的情况下根本不会使用代码,因为他们不需要法律和律师的问题。
这就是为什么,即使是最有用和最方便的项目也永远不会实现。而想要获取这段代码的开发人员将不得不寻找并使用替代方案,或者完全重写之前由新手开发人员编写的代码。这就是为什么最好事先确保程序员使用正确的,最重要的是,合适的许可证。在 15 分钟内通过一个视频教程探索 GitHub:https://youtu.be/JfpCicDUMKc
哪种 GitHub 许可证适用于某些条件 – 如何选择?
这个问题没有确切的答案,因为许可证的选择仅取决于项目的目标以及开发人员自己的个人喜好和愿望。如您所见,GitHub 上有很多各种许可证,最重要的是,它们都是免费且公开可用的,这意味着每个程序员都可以找到
完全适合自己项目的开源许可证。但是,最重要的是,我们不能忘记开源许可证不仅仅是没有许可证的代码。
- 保护性很强。
- 防守不力。
- 宽容。
保护性强
强防御性许可证通常是 GPL 的变体。这些许可证必然需要项目许可,以及源代码的披露,即使任何代码或项目将被使用或已经被使用。
防守弱
弱防御许可证通常是小 GPL 的变体。其中与许可许可的主要区别在于,它只需要在 GPL 许可下许可程序,并且必须提供源代码。而且,如果程序员的项目包含库,即LGPL许可下的静态链接或动态链接,那么它也将兼容任何程序员的项目许可。[caption id = "attachment_12364" align = "aligncenter" width = "698"]
其中GitHub上的许可类型表示
宽容的
有大量的许可许可证,其中最流行的许可证是 MIT、Apache 2.0 和 BSD。稍有变化,这些许可证就能够允许在开源项目以及商业目的和项目中使用代码。但是,在这种情况下,重要的是要记住必须指明原始程序的作者身份。
其他流行的 GitHub 许可证
除了这三组许可证之外,还有其他许可证,例如,另一个最有用的许可证是带有类路径扩展的 GPLv2。此许可证也可用于开源项目和商业项目和目的。它最流行的出现是在 Oracle,该公司使用 GPLv2 和类路径扩展来许可其开源项目和解决方案。这个许可证非常重要和有用,例如,普通的 GPL 许可证永远无法处理字节码。也就是说,它们对编译和链接的过程有特殊的描述,这对于其他解释性编程语言是完全不合适的,此类语言包括最流行的Java语言。正是针对这种情况,发布了带有类路径扩展的特殊 GPLv2 许可证。毕竟,它非常清楚地表明,在此许可下发布的库可以用于商业项目和目的,绝对可以使用任何其他许可。
关于GitHub 许可证,您还需要了解什么
。
添加许可证
最终选择最终许可证后,剩下的就是将其添加到项目根目录本身。要执行此操作,您需要在创建项目本身期间或通常在任何其他时间将所选许可证添加到项目根目录下。但即使在此操作中,GitHub 网络服务也设法照顾其用户,并且即使在项目本身开始时,他们也提供了一种相当方便的方式来添加最终许可证。
然而,不幸的是,这还不是全部,因为开发人员或程序员需要绝对检查他的想法或项目中使用的所有依赖项。也就是说,即使其中一个依赖项是在 GPL 许可下发布的,那么绝对整个开发者的项目必须是 GPL 兼容的。对于此类验证,通常使用预期的较早创建的程序或工具。比如这个 https://github.com/pivotal/LicenseFinder 有一个工具:
我们可以说许可是一项相当耗时的任务,但同时也是项目生命周期或程序员任何想法的必要行动。不幸的是,为了选择正确的许可证,您必须花费大量时间,但是,为了项目成功,这是值得的。最好在编写程序时将许可证的选择放在首位,因为一开始就这样做了,您可以将所有努力都集中在正确的方向上,编写出对大多数人来说都是成功和方便的程序用户。