Licenses

Licenses

2017-07-24. Category & Tags: Default License, Apache, MIT, BSD, GPL, AGPL

授权协议之间的关系 (@Sunny) #

不严格的(商业友好的) #

  • MIT(Massachusetts Institute of Technology)许可:几乎没有限制,可以修改和闭源然后商用,只要程序的开发者在修改后的源代码中保留原作者信息和许可协议即可,因此普遍被商用
  • BSD(Berkeley Software Distribution,伯克利软件发行版)许可:≈ MIT + 不得使用原上游开源项目作为自己的广告,也普遍被商业软件所使用。
  • Apache2 许可证(Apache License)许可协议:≈ BSD + 所有的文件加声明。现在热门的 Apache Hadoop、Apache HTTP Server 等项目都是基于该许可协议研发的。也被商业软件所使用。
  • Apache2 modified with Common Clauses(Apache2 CC,增加通用条款的 Apache2 许可):≈ Apache2 + 禁止 Service ≈ SSPL,禁止作为服务进行商业使用。

严格的 #

  • GPL(GNU General Public License,GNU 通用公共许可):软件中哪怕只有一点使用/链接(link)了遵循 GPL 协议的产品或代码,分发时就必须也遵循 GPL 许可协议,完全开源、免费(即“强传染性*”),因此这个协议并不适合商用软件。遵循该协议的开源软件数量极其庞大,包括 Linux 系统在内的大多数的开源软件都是基于这个协议的。
  • 注意:GPL 没有禁止商用/收费,但要求开源。GPL 的边界,一般以进程为准,同一个进程内会受到 GPL 传染。
  • LGPL(Lesser General Public License)许可:≈ GPL-link。修改的文件需要开源,但是调用 GPL 的自己创建的新文件不用开源。
  • AGPL(Affero-GPL)许可:≈ GPL + 普通用户和服务器端的 AGPL 许可的新软件进行了交互(直接/间接?不清),则新软件需要完全开源。
  • SSPL(Server Side Public License,服务器端公共许可): ≈ AGPL + 明确但凡服务用到了SSPL 的软件,就必须完全开源或者付费购买商业许可。

How to Choose a License #

ref-cn: 一张图弄懂开源协议-GPL、BSD、MIT、Mozilla、Apache 和 LGPL 之间的差别ref-cn-ref

ref-en-pic

Proprietary #

TODO.?

GPL-Family (Non-Commercial) V3 #

GPL #

If a new software is distributed and used any GPL code (inc. linking), the entire source code of the new software should be released, but there is NO need to release if the new software is only running on the server to provide a service.

LGPL #

≈ GPL - only the modified GPL code part should be released, other parts NON-GPL code but only linked to GPL lib.

AGPL #

≈ GPL + an interactive service (however, this is not clear, legal-wise).

SSPL #

≈ AGPL + clear statement of releasing the whole source code or get a commercial license.

ref

Apache #

Apache 2 (Commercial-Firendly) #

≈ BSD + all files should contain the license.

Apache 2 with common clauses #

≈ AGPL/SSPL.

It is considered as “proprietary” but “source available”.
This prevents the software to be provided as a service, for example, it forbids Amazon to provide Redis as a service.

BSD (Commercial-Firendly) #

≈ MIT + do NOT mention/use up-stream software to advertise the new software.

BSD-family licenses are messily named and messily used. Many programs modify BSD licenses a little and use as their licenses.
Commonly used BSD licenses are:

  • Prior BSD License
  • 4-clause license (“original BSD”)
  • 3-clause license (“BSD 2.0”, “Revised BSD”, “New BSD”, or “Modified BSD”)
  • 2-clause license (“Simplified BSD” or “FreeBSD”)

3-clause BSD removed the “advertising clause”, i.e. the mandatory requirement of mentioning the develop-org/auth in advertising materials (instead, they need to ask for permission if want to mention).

2-clause BSD allows to mention the develop-org/auth without asking.

Ref.

MIT (Commercial-Firendly) #

Keep license & author information.