世界上有上百种开源软件协议,除了Apache,MIT,GPL这些已被广泛使用的协议,还有著名的996icu协议,“木兰”宽松许可证等,面对数量庞大的开源协议,开发者在计划开源自己项目的时候,应该如何选择呢?
choosealisence.online网站上给出了27种开源协议,它们都允许分发和修改,也允许私用和商业用途。 但是这些协议都添加了使用的条件,比如源代码的披露,再次分发时协议的要求,声明变更,专利的授权和使用,商标使用权等。
再次分发时,必须提供源代码
使用以下开源软件协议,再次分发时,必须提供源代码
GNU AGPLv3
Eclipse Public License 1.0
EUPL
GNU GPLv2
GNU GPLv3
GNU LGPLv2.1
GNU LGPLv3
LPPL
Mozilla Public License 2.0
Microsoft Reciprocal License
OSL 3.0
再次分发时,必须使用相同协议
使用以下的开源软件协议,再次分发时,使用者必须按照相同的协议提供源代码,在特殊情况下,可以使用类似或者相关的协议
GNU AGPLv3
Creative Commons Attribution Share Alike 4.0
Eclipse Public License 1.0
EUPL
GNU GPLv2
GNU GPLv3
GNU LGPLv2.1
GNU LGPLv3
Mozilla Public License 2.0
Microsoft Reciprocal License
OFL
OSL 3.0
需要添加声明变更
使用以下的开源软件协议,需要对代码修改部分进行声明
Academic Free License v3.0
GNU AGPLv3
Apache License 2.0
Artistic License 2.0
Creative Commons Attribution 4.0
Creative Commons Attribution Share Alike 4.0
EUPL
GNU GPLv2
GNU GPLv3
GNU LGPLv2.1
GNU LGPLv3
LPPL
OSL 3.0
zlib License
专利授权
以下的开源软件协议明确规定,使用者不被授予,属于贡献者专利的任何权利
BSD 3-clause Clear License
Creative Commons Attribution 4.0
Creative Commons Attribution Share Alike 4.0
Creative Commons Zero v1.0 Universal
商标使用权
以下的许可协议明确规定不授予使用者商标使用权,即便没有明确进行说明,也可能不授予使用者任何商标权
Academic Free License v3.0
Apache License 2.0
Artistic License 2.0
Creative Commons Attribution 4.0
Creative Commons Attribution Share Alike 4.0
Creative Commons Zero v1.0 Universal
EUPL
Mozilla Public License 2.0
Microsoft Public License
Microsoft Reciprocal License
OSL 3.0
如果没有放置任何的开源协议,一般来说,没有许可证默认使用版权保护法,这意味着项目方保留所有权力,不允许任何人复制,分发或创建衍生作品。