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

相关推荐
Qres8212 小时前
Git基础命令学习笔记
笔记·git·学习
程序员柒叔3 小时前
Graphify——理念不错、社区火但有硬伤的工具
人工智能·大模型·github·知识库
REDcker3 小时前
Git分支与版本管理实践
git
Goodbye8 小时前
Git 开发必备性能
git
Wils0nEdwards8 小时前
Windows本地 git 版本管理
windows·git·elasticsearch
劉三岁8 小时前
Git 给 main 分支打 Tag(版本标记)完整教程
vue.js·github
Niliuershangba9 小时前
ChestnutCMS 栗子内容管理系统:从入门到模板开发实战
java·git·开源·gitlab·github·开源软件·gitcode
专注VB编程开发20年9 小时前
安桌15系统文件直接存到其他目录要权限吗?/storage/emulated/0/Downloa
git
Spider_Man10 小时前
卧槽!Claude Code 官方插件市场,这波直接让 AI 辅助开发起飞了!
前端·github·claude
darkb1rd10 小时前
9arm-skills: 打造模块化 AI 技能实战指南
开源·github·好物分享