大部分开源项目都拥有开源许可协议,因为这样能规范代码的用途。
发布开源项目或者使用开源项目,一定要注意查看项目所遵循的开源许可协议,
许可协议决定你发布的代码将被如何规范的使用,也决定你要如何规范的使用开源项目的代码。
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 许可仓库