【许可证】Open Source Licenses

长期更新


扩展:shield.io装饰

开源许可证(Open Source Licenses)有很多种,每种都有不同的授权和限制,适用于不同目的。

默认的ISC🟰MIT

License 是否可商用 是否要求开源衍生项目 是否必须署名 是否有专利授权 特点
MIT ✅ 是 ❌ 否 ✅ 是 ❌ 否 非常宽松,适合最大范围使用
Apache 2.0 ✅ 是 ❌ 否 ✅ 是 ✅ 有 类似 MIT,但有专利保护
GPLv3 ✅ 是 ✅ 是(强制) ✅ 是 ✅ 有 Copyleft 强制开源,适合理想主义者
LGPLv3 ✅ 是 部分要求 ✅ 是 ✅ 有 更宽松的 GPL,可用于商业库
BSD 2-Clause / 3-Clause ✅ 是 ❌ 否 ✅ 是 ❌ 否 和 MIT 类似,更简洁
MPL 2.0 ✅ 是 ✅ 是(仅修改部分) ✅ 是 ✅ 有 文件级别开源,适合公司使用
Unlicense ✅ 是 ❌ 否 ❌ 否 ❌ 否 完全放弃版权,相当于公共领域
  • 使用场景
    MIT:适合个人项目、工具库、想让别人随便用【常用】
    Apache 2.0:适合商业公司,希望有专利保护
    GPL:适合你坚持"开源必须回馈开源"的理念
    LGPL:适合你写的是第三方依赖库,希望商用项目也能用
    BSD:MIT 的替代品,少数企业偏好
    MPL:适合大型项目,比如浏览器,要求不太严格
    Unlicense / CC0:你不在乎版权,想让代码彻底归公用领域

使用

  • 其他人使用时需要注意
  1. 保留原始的版权声明
    无论是源代码文件、构建后的文件,还是其他分发版本,别人必须保留你原始代码中的 版权声明。这通常在代码文件的顶部或者 LICENSE 文件中。
js 复制代码
/*
 * Copyright (c) [年份] [你的名字或组织]
 * Licensed under the ISC License. See LICENSE file for details.
 */
  1. 如果修改了代码,必须注明修改
    如果其他人在你的代码上做了修改,他们通常需要按照许可证的要求,在其修改的代码中注明是基于你的代码做的修改,并且保留原始的版权声明。
    这可能会出现在修改过的代码文件顶部,通常会写成类似以下内容:
js 复制代码
/*
 * Copyright (c) [年份] [原作者的名字或组织]
 * Modified by [修改者的名字]
 * Licensed under the ISC License. See LICENSE file for details.
 */
  1. 在文档或 README 文件中注明
    如果他们在自己的项目中使用你的开源包,可以在项目的 README.md 文件或相关文档中提到你的版权信息和许可证声明。尤其是当项目涉及多个依赖时,很多开发者会在 README.md 文件中列出依赖的开源项目和它们的许可证类型。
  2. 对于 GPL 许可证的要求
    如果你使用的是 GPL 许可证,要求会更严格。除了在代码中保留版权声明,如果代码被修改并发布,修改后的源代码必须公开,并附带原始的版权声明和许可证信息。这意味着,用户必须在自己的分发版本中附上原始的许可证、版权声明,并且提供源代码。

ISC

虽然默认,但是也要加上LICENSE文件

txt 复制代码
ISC License

Copyright (c) [年份] [你的名字或组织]

Permission to use, copy, modify, and/or distribute this software for any
purpose with or without fee is hereby granted, provided that the above
copyright notice and this permission notice appear in all copies.

THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.

MIT

通常放在你项目的根目录,文件名叫 LICENSE(无扩展名)

在 package.json 中加 "license": "MIT"

在 GitHub 上建仓库时选择「MIT License」,GitHub 会自动帮你加上

把下面的[年份] [你的名字或组织名]整个替换掉

txt 复制代码
MIT License

Copyright (c) [年份] [你的名字或组织名]

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
相关推荐
是代码侠呀8 分钟前
让Promise飞,让github star 飞
python·开源·github·github star·github 加星
DisonTangor3 小时前
【字节拥抱开源】字节豆包团队开源首发 Seed-Coder 大模型
人工智能·开源·aigc
zhz521412 小时前
开源数字人框架 AWESOME-DIGITAL-HUMAN 技术解析与应用指南
人工智能·ai·机器人·开源·ai编程·ai数字人·智能体
揣晓丹14 小时前
JAVA实战开源项目:健身房管理系统 (Vue+SpringBoot) 附源码
java·vue.js·spring boot·后端·开源
时序数据说21 小时前
通过Linux系统服务管理IoTDB集群的高效方法
大数据·linux·运维·数据库·开源·时序数据库·iotdb
opentrending1 天前
Github 热点项目 Cursor开源代替,AI代理+可视化编程!支持本地部署的隐私友好型开发神器。
人工智能·开源·github
攻城狮7号2 天前
小米 MiMo 开源:7B 参数凭什么 “叫板” AI行业巨头?
人工智能·ai·开源·mimo·小米ai
编程乐趣2 天前
推荐一组WPF自定义控件开源项目
开源
程序员小杰@2 天前
✨WordToCard使用分享✨
前端·人工智能·开源·云计算