在Github中创建项目时,教你如何Choose a license(选择一个许可证),大白话解释许可证

博主在创建一个新的Github项目时,突然发现自己对Github提供的14个许可证选项没有基本的概念,除了None ,于是查阅完资料后就有了这篇记录的文章。


None(无许可证)

这就不用说了吧。Emm,还是说一下吧:
默认的无许可证,保留所有权利。他人无权复制、修改或分发代码,仅可以查看和Fork。
大白话解释:代码是你私藏的宝贝,别人只能看不能碰。想用?得先找你授权,否则违法!
适用:个人项目或不想分享的代码。


​​Apache License 2.0​

宽松许可证,允许商业使用、修改和分发,需保留版权声明和许可证文件。包含明确的专利授权条款,保护用户免受专利诉讼。
大白话解释:随便用!商用、改代码、闭源都行,但得在代码里写上“这玩意儿最初是XXX家的”,而且原作者不背锅(比如代码有bug别找他们)。
附加福利:用了也不会被原作者用专利告你。

适用场景:大厂最爱,因为安全又自由,适用于企业级项目、需专利保护的开源软件(如Android、Kafka)。


GNU General Public License v3.0 (GPLv3)​​

​​具有强传染性(Copyleft),要求派生作品必须以相同许可证开源。禁止硬件限制(如Tivoization),明确专利授权。
大白话解释:用了我的代码,你的代码也得开源!像“病毒”一样传染,防止有人白嫖后闭源赚钱。

适用场景:想强制开源的项目(如Linux)。


MIT License

极宽松,仅需保留版权声明即可自由使用(包括闭源商业项目)。
大白话解释:最佛系协议!随便改随便卖钱,只要保留原作者的署名,其他啥都不管。

​​适用场景​​:个人项目或希望广泛传播的代码(如jQuery、Rails)。


BSD 2-Clause “Simplified” License​

允许自由使用和修改,需保留版权声明和免责声明,无其他限制。
大白话解释:和MIT差不多,但多一句“别用我的名字打广告”。

适用场景:学术或商业项目(如FreeBSD)。


BSD 3-Clause “New” or “Revised” License​

在BSD 2-Clause基础上增加条款,禁止用作者名义推广衍生作品。
大白话解释:在BSD 2-Clause基础上加一条——“别让用户以为我给你的代码代言”。

适用场景:需避免品牌混淆的项目,也就是怕品牌被蹭的项目。


Boost Software License 1.0​

类似MIT,但更简短,允许无条件使用(包括专利授权),仅需保留版权声明。
大白话解释:和MIT一样宽松,但条款更短,连“别告我”都懒得写,全靠自觉。

适用场景:追求极简的软件和库。


Creative Commons Zero v1.0 Universal (CC0)​

放弃版权,将代码置于公共领域,允许任何用途且无需署名。
大白话解释:直接放弃版权!代码白送,爱咋用咋用,连署名都不用。

适用场景:希望完全放弃权利的项目(如部分文档或工具、某些数据集)。


Eclipse Public License 2.0 (EPL-2.0)​

商业友好,允许闭源衍生作品,但修改后的文件需开源。
大白话解释:商用可以,但如果你改了代码,改的部分得开源。

​​适用场景​​:企业级开源工具(如Eclipse IDE)。


​​GNU Affero General Public License v3.0 (AGPLv3)

类似GPLv3,但要求网络服务提供方提供修改后的源代码。
大白话解释:GPLv3的加强版!哪怕你只把代码放网上让人用(比如SaaS),也得开源。

​​适用场景​​:SaaS或云服务项目(如MongoDB)。


GNU General Public License v2.0 (GPLv2)​

与GPLv3类似,但无专利授权条款,传染性稍弱。
大白话解释:和GPLv3类似,但没管“专利问题”,老项目还在用(如Linux旧版本)。


GNU Lesser General Public License v2.1 (LGPLv2.1)​

允许动态链接到闭源软件,但修改库代码需开源。
大白话解释:用我的库可以闭源,但直接改库代码的话,改的部分得开源。

​​适用场景​​:可能被商业软件引用的库或框架(如Open CASCADE、GTK)。


Mozilla Public License 2.0 (MPL-2.0)​

文件级开源,修改的文件需开源,其余可闭源。
大白话解释:改了我的文件?那这些文件得开源,其他随便你。

​​适用场景​​:需混合开源与专有代码的项目(如Firefox)。


14. The Unlicense
完全放弃版权,无任何限制(包括免责声明)。
大白话解释:和CC0一样,放弃一切权利,彻底躺平。

​​适用场景​​:希望彻底放弃控制的代码(如部分小型工具),换句话说就是想进公共领域的代码。


总结对比

从商业友好、修改要求、专利保护、传染性方面对比:

许可证商业友好修改要求专利保护传染性
MIT / BSD / Boost保留声明
Apache 2.0保留声明+修改说明
GPL/AGPL必须开源有(GPLv3+)
MPL-2.0文件级开源

急急国王看这里➡️白话口诀

  • 想闭源赚钱:MIT / BSD / Apache
  • 怕被告:Apache有专利保护
  • 逼人开源:GPL / AGPL
  • 放弃治疗:CC0 / Unlicense
GitHub创建仓库,你可以选择适合你项目许可证许可证决定了其他人在使用你的代码需要遵守的规则。 以下是一些常见的许可证选项: 1. MIT许可证:允许代码的自由使用、修改、复制和分发,同也允许将代码用于商业目的。该许可证要求在代码副本中包含原始许可证和版权声明。 2. GNU通用公共许可证(GPL):该许可证要求任何以GPL许可证发布的衍生作品也必须使用同样的GPL许可证。这意味着任何使用、修改或分发你的代码的人都必须将其衍生作品开源。 3. Apache许可证:允许使用、修改和分发代码,同要求在衍生作品中包含原始许可证和版权声明。与MIT许可证类似,但Apache许可证还提供了对专利权的一些额外保护。 4. GNU较宽松公共许可证(LGPL):类似于GPL,但LGPL允许将代码用于不开源的应用程序。如果你希望其他人可以使用你的代码来开发封闭源码的应用程序,可以考虑选择LGPL。 除了上述常见的许可证外,GitHub还提供了其他许可证选项,如Mozilla公共许可证、GNU较宽松公共许可证(LGPL)等。 选择适合你项目许可证需要考虑你希望他人如何使用你的代码以及对代码的版权保护程度。你可以根据项目的需求和个人偏好选择合适的许可证。请注意,在选择许可证,最好先了解每个许可证的具体规定和限制。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值