# 常见开源协议简介

## GPLv3

GNU GPLv3GNU General Public License v3.0

GPLv3 is viral, so it infects any replicating [modified] code with the license, such that the sources for said modifications, if any, must be available.

TL; DR ver.
1. Anyone can copy, modify and distribute this software.
2. You have to include the license and copyright notice with each and every distribution.
3. You can use this software privately.
4. You can use this software for commercial purposes.
5. If you dare build your business solely from this code, you risk open-sourcing the whole code base.
6. If you modify it, you have to indicate changes made to the code.
7. Any modifications of this code base MUST be distributed with the same license, GPLv3.
8. This software is provided without warranty.
9. The software author or license can not be held liable for any damages inflicted by the software.


## AGPLv3

GNU AGPLv3GNU Affero General Public License v3.0

AGPL is like the GPL, but the GPL is only triggered if you distribute your derivative work. AGPL broadens this trigger to activate if you let people use your derivative work over a network.

## LGPLv3

GNU LGPLv3GNU Lesser General Public License v3.0

LGPL 是主要为类库Libraries使用而设计的开源协议LGPL 允许商业软件通过动态链接方式使用 LGPL 类库而不需要开源商业软件的代码这使得采用 LGPL 协议的开源代码可以被商业软件作为类库引用并发布和销售

BSD 开源协议的使用需要满足以下条件

• 如果再分发的产品中包含源代码则必须带有同一份 BSD 协议
• 如果再分发的只是二进制类库/可执行文件则需要在文档 / 版权声明中包含同一份 BSD 协议
• 不可以用开源代码的作者 / 机构名字和原来产品的名字做市场推广

• 如果再分发的产品中包含源代码则必须带有同一份 MIT 协议
• 如果再分发的只是二进制类库/可执行文件则需要在文档 / 版权声明中包含同一份 MIT 协议