主流开源许可证辨析

简明一图流

下图出自:如何选择开源许可证? —— 阮一峰 2011.5.2

主流开源许可证辨析_第1张图片

主要特点概括

仅为个人见解

  • MIT(The MIT License)/X License/X11 License —— 商业友好,要求最少
    随便去捣鼓,开不开源都行,只要求包含原作者版权与许可,若拿去搞事不背锅。
    代表作品:jQuery、Node.js

  • BSD(Berkeley Software Distribution) —— 商业友好
    在MIT基础上加一条:不能拿作者名字给作品打广告!(最新版本貌似解除该限制)
    代表作品:nginx、CruiseControl、Redis

  • APL(Apache License)—— 商业友好
    在BSD基础上加两条:说明被修改部分和专利保护。
    代表作品:Apache、SVN、Hadoop


遵循以下三类协议的代码自身必须开源。

  • GPL(GNU General Public License)—— 商业软件不可用,开源大法好
    用了此类作品你还得继续全部开源哦。(将GPL协议传递,"开源传染")
    代表作品:Linux、Git

  • LGPL(GNU Lesser General Public License)—— 商业软件可用,但不能修改
    GPL商业没法用啊,那就上LGPL,以动态链接库等方式放置所引用LGPL代码并开源该库,保护自身代码,无需传递LGPL。
    代表作品:JBoss、Hibernate、FCKeditor

  • MPL(The Mozilla Public License)—— 商业软件可用且可修改,但版权归发起者
    与LGPL相似,MPL允许企业以接口等方式只开源接口程序,保护自身代码。另外要说明被修改部分,无需传递MPL。
    代表作品:TogetherJS

两种特殊情况

  • 未添加协议(None)—— 完全Private
    默认作者保留所有权利,不过得遵循发布作品所在平台的协议,如GitHub上要让别人查看代码和Fork作品等。

  • The Unlicense —— 完全Public
    大公无私,慈悲济世,放弃版权,当然出事了锅也同样不能甩给作者。

参考资料:常用开源协议简要介绍

你可能感兴趣的:(主流开源许可证辨析)