github开源协议选择

文章目录

怎么选协议

  • 希望代码被广泛使用,允许闭源 MIT、Apache 2.0、BSD
  • 需要专利保护 Apache 2.0
  • 强制开源衍生作品 GPL、AGPL
  • 开发库,允许闭源调用 LGPL
  • 云服务项目,防止白嫖 AGPL
  • 企业级项目,平衡开源与商业 Apache 2.0、MIT

宽松型协议 Permissive Licenses

MIT License:

核心保留原始版权声明和许可声明。可商用闭源,修改后也无需开源,适合个人项目,非常宽松

如:React、Vue.js、jQuery

Apache License 2.0:

核心保留版权声明、许可证文件,明确包含专利授权条款。允许商用,闭源,修改

明确包含专利授权条款

如:Android、Kubernetes、Apache Kafka

BSD 3-Clause License:

保留版权声明和免责声明,禁止用作者名义推广衍生作品。允许商业用途、闭源、修改、分发

如:FreeBSD、Nginx

传染型协议

GNU General Public License (GPL):

修改后的代码必须开源,商业用途、修改、分发,衍生作品必须使用 GPL 协议,强调开源精神的项目

如:Linux、GCC、Git

GNU Affero General Public License (AGPL):

即使通过 SaaS(云服务)使用,也必须开源,商业用途、修改、分发,防止云服务公司闭源使用代码

如:MongoDB(早期版本)、Nextcloud

GNU Lesser General Public License (LGPL):

仅直接修改的代码需开源,动态链接库可闭源。商业用途、闭源调用库

如:FFmpeg、GTK

相关推荐
高山莫衣28 分钟前
git rebase多次触发冲突
大数据·git·elasticsearch
码农藏经阁29 分钟前
工作中常用的Git操作命令(一)
git
kobe_OKOK_1 小时前
【团队开发】git 操作流程
git·elasticsearch·团队开发
码农垦荒笔记1 小时前
Git 安装闭坑指南(仅 Windows 环境)
windows·git
不午睡的探索者5 小时前
告别性能瓶颈!Python 量化工程师,进击 C++ 高性能量化交易的“必修课”!
c++·github
光溯星河6 小时前
【实践手记】Git重写已提交代码历史信息
后端·github
独立开阀者_FwtCoder6 小时前
URL地址末尾加不加 "/" 有什么区别
前端·javascript·github
独立开阀者_FwtCoder6 小时前
Vue3 新特性:原来watch 也能“暂停”和“恢复”了!
前端·javascript·github
寻月隐君6 小时前
告别 Vec!掌握 Rust bytes 库,解锁零拷贝的真正威力
后端·rust·github
inhere10 小时前
gookit/goutil v0.7.0 新版本发布:模块调整与功能增强
开源·go·github