大部分开源项目都拥有开源许可协议,因为这样能规范代码的用途。

发布开源项目或者使用开源项目,一定要注意查看项目所遵循的开源许可协议,
许可协议决定你发布的代码将被如何规范的使用,也决定你要如何规范的使用开源项目的代码。


The Unlicense

完全免费,无约束。出了事情作者免责


None / No License

默认协议,不允许他人复杂、分发、修改、使用,只能供参考使用


Apache License 2.0

允许个人使用、商业使用、复制、修改、分发
出了事作者免责,版权信息要保留,并且修改要说明


MIT License(常见)

允许个人使用、商业使用、复制、修改、分发
但是必须保留作者信息,比较宽松


GNU GPLv3 (General Public License)

它允许个人使用、商业使用、专利授权,允许复制、分发、修改,作者不承担用户使用的一切后果
但是它有很多限制:
你必须开源,无论有没有修改
协议和版权信息要保留说明
协议不能私自更改,与原版本一致
你修改的地方要说清楚


GNU GPLv2 (General Public License)

相比于 GNU GPLv3,不能进行专利授予


Eclipse Public License 2.0

允许个人使用、商业使用、专利授权、复制、分发和修改
作者免责,需要保留版权信息、必须开源、不允许更换协议
特点在于可以对软件进行商业使用,对专利授权免去版税


GNU Affero General Public License v3.0

允许个人使用、商业使用、专利授权、复制、分发和修改
作者免责,贡献者可以快速专利授予,需要保留版权信息、必须开源、不允许更换协议、声明变更
和GPL类似,不同点在于,如果你修改了源码并在放到网上提供服务,那么你必须公开这个修改版本的完整的源代码(强制开源)


Mozilla Public License 2.0

许个人使用、商业使用、专利授权、复制、分发和修改
作者免责,需要保留版权信息、必须开源,不允许更换协议(但允许更换成某些GNU协议),不允许使用商标


来源于互联网收集,如果有误,请联系作者进行修改。
需要更多需要可以查看:Github 许可仓库

最后修改:2022 年 09 月 03 日
如果觉得我的文章对你有用,请给我发电 o((>ω< ))o