常见的自由软件和开源软件许可证介绍

导言

        众所周知,自由软件和开源软件一般都有版权许可证,授予其他人使用,复制,修改,学习的自由,无论是否是商业性质的(除了有些带有附加条款的除外)。现在,许可证分为两种——Copyleft(一般翻译为“左版”或者“版责”)式许可证和pushover(非Copyleft)许可证,两种。现在,我将所有我所熟悉的许可证的介绍写在这里,以供大家查阅。

主要参考资料:

{ 《自由软件,自由社会》简体中文第三版 }

{ https://www.cnblogs.com/Renyi-Fan/p/8148658.html }

其他参考文献在文章中已经标明。

正文

Copyleft 许可证 介绍

Copyleft许可证的特性是,不允许更改或者更换许可证或者增减条款,除非许可证内或者版权声明里面规定可以转换为特定几种许可证或者添加有限的要求。比如一些开发人员/版权持有者会在使用许可证的声明后面添加一句“第xx版,或者由您选择的更高版本”。

        1. GNU GPLv2(1991年)/LGPLv2.1 (1999年2月)系列

        这两个许可证的基本特性是,如果要复制分发原版和修改版,每个复制品或者修改版复制品必须同样使用GPLv2/LGPLv2.1来发布。除非软件的版权声明里面写着:“版本号应为 第2版/2.1 或者(由您选择的)更高版本。”,这时候你可以把GPLv2升级为v3,LGPL 2.1升级为v3,然而就算不允许升级,LGPLv2.1也可以直接去升级到v2,V3或者更高版本的GPL,不低于2即可。对LGPL v3 亦如此。

        当然,如果你私下使用自己修改的版本而不发布,这种行为并不违反许可证;并且这个软件依然是自由软件而不是专有(私有)软件,而是私人软件。

        我来描述下我的观点:有些人认为“反对私有等于XXXX”,这里我来强调一下,私有(专有)软件并不是指它属于某种私有财产,而是权力的私有;“私有财产”这个概念应该对应的是私人软件而非私有(专有)软件。所以,综上所述,真正侵犯用户私有财产权的软件是专有(私有)软件,由于你无法更改你自己财产里的东西。如果真的想把软件某个软件作为私有财产来使用,请把它独占并且不对外发布——甚至提都不用提,而不是把东西给到别人手里,别人需要的权限保留在自己手里。

        GPLv2/LGPLv2.1的一个相对于之前的v1有中有重要的变化:添加了第7节——明确地说如果要添加新的法律许可,比如专利许可,与GPL条款冲突的话,那么这个许可证必须在软件发行的时候完全撤销。结果就是,任何想发布 和/或者 修改软件的人都会获得一份专利许可。

        LGPL以前(2.1之前的2.0,于1991年6月发布)的名字原本不是“GNU 宽通用公共许可证”,而是“GNU 库通用公共许可证”,后来,觉得之前的名字会导致开发者/版权所有者 误以为所有的库原则上都应该用这个许可证,但是这不是LGPL的初衷。后来有了2.1版本。2.1版本改了名字,并且添加了一小段声明和一些前言。

        2.GNU GPLv3/LGPLv3/AGPLv3

        GPLv3和LGPLv3基于之前的v2有大幅度更改,最明显的:

                                1. 禁止发行商限制用户修改硬件 和/或 拒绝用户修改版;

                                2. 允许加入有限的额外条件,这样可以兼容一些流行的自由软件许可证;

                                3. 通过提供清晰的术语加强了对专利的需求来处理跨许可证的专利问题,这在大的专利持有公司是很常见的合约形式。

        同时,这两个许可证还包括了 更好的国际化,更温和的权利终止,对 BitTorrent 的支持,以及对Apache 许可证的兼容。

        还有Affero GPL(AGPLv3),它和GPLv3大部分一样,只是有一点不同——多了一个额外的条款,要求为通过服务器使用这个软件的用户提供源代码。

        3.Mozilla Public License

        它和GNU GPL 系列比较相似,但是也有一定区别。

        现在我引用一部分百度百科的资料来说明:

  • MPL虽然要求对于经MPL许可证发布的源代码的修改也要以MPL许可证的方式再许可出来,以保证其他人可以在MPL的条款下共享源代码。但是,在MPL许可证中对“发布”的定义是“以源代码方式发布的文件”,这就意味着MPL允许一个企业在自己已有的源代码库上加一个接口,除了接口程序的源代码以MPL许可证的形式对外许可外,源代码库中的源代码就可以不用MPL许可证的方式强制对外许可。这些,就为借鉴别人的源代码用做自己商业软件开发的行为留了一个豁口。

  • MPL许可证第三条第7款中允许被许可人将经过MPL许可证获得的源代码同自己其他类型的代码混合得到自己的软件程序。

  • 软件专利的态度,MPL许可证不像GPL许可证那样明确表示反对软件专利,但是却明确要求源代码的提供者不能提供已经受专利保护的源代码(除非他本人是专利权人,并书面向公众免费许可这些源代码),也不能在将这些源代码以开放源代码许可证形式许可后再去申请与这些源代码有关的专利。

  • 对源代码的定义。在MPL(1.1版本)许可证中,对源代码的定义是:“源代码指的是对作品进行修改最优先择取的形式,它包括:所有模块的所有源程序,加上有关的接口的定义,加上控制可执行作品的安装和编译的‘原本’(原文为‘Script’),或者不是与初始源代码显著不同的源代码就是被源代码贡献者选择的从公共领域可以得到的程序代码。”

  • MPL许可证第3条有专门的一款是关于对源代码修改进行描述的规定,就是要求所有再发布者都得有一个专门的文件就对源代码程序修改的时间和修改的方式有描述。

         关于翻译请参见:http://wiki.huihoo.com/wiki/Mozilla_Public_License_v2.   

 

非Copyleft 许可证 介绍

        1. Apache 2.0 许可证

        Apache 2.0 许可证对使用者的要求较少,要求主要有:

  1. 需要给代码的用户一份Apache 许可证的副本。
  2. 如果你修改了代码,需要在被修改的文件中做出修改说明。
  3. 在延伸的代码中(修改和有源代码衍生的代码中)需要带有原来代码中的协议,商标,专利声明和其他原来作者规定需要包含的说明。
  4. 如果再发布的产品中包含一个通知(Notice)文件,则在通知(notice)文件中需要带有Apache 许可证。你可以在通知文件中增加自己的许可条款,但不可以对Apache Licence本体构成更改。

        Apache许可证允许代码用于不同许可证的软件产品,包括专有软件。如果你的代码不很多,或者不需要限制专有软件,可以考虑这个许可证。由于要求必须带一些说明和保留通知,所以它和GNU GPLv2/LGPLv2.1不兼容,由于 它们不允许添加新的附加条款;但是,由于GNU GPLv3/LGPLv3允许作者/版权持有人,复制修改者添加规定的几个附加条款,所以Apache 2.0许可证的代码可以合并入GNU GPLv3/LGPLv3许可证。

        2.BSD

        BSD许可证一共有两种版本,一种是3句话版本,要求不可以用版权持有人/组织/贡献者的名称,名字做任何支持、认可或推广、促销之行为。2句话版本则没有这一条。

        它们的共同点是,要求保留许可证条款,版权声明,作者列表,免责声明。

        因此,BSD的3句话版本不兼容GNU (L)GPLv2(.1)许可证,但是可以兼容GNU (L)GPLv3许可证——允许添加,禁止用贡献者或者版权持有者的名字做宣传,这个额外要求。

        这个许可证很宽松,几乎允许对代码做任何用途。

        3.MIT(X11)

        与BSD许可证的2句话版本相似,使用者需要遵守的只是“在软件和软件的所有副本中都必须包含版权声明和许可声明。”,仅此而已。

        几乎允许做任何用途,同时还和GNU (L)GPLv2和v3兼容。

        4.Beer-ware License(中文名:啤酒软件许可证)

        这个许可证似乎比BSD/MIT许可证还宽松,仅仅要求保留许可证通知在文件里面即可,除此之外做什么都可以的哦。其中还有一个请作者喝一杯啤酒的建议(不强制)。

原文:

/*
 * ----------------------------------------------------------------------------
 * "THE BEER-WARE LICENSE" (Revision 42):
 * <[email protected]> wrote this file. As long as you retain this notice you
 * can do whatever you want with this stuff. If we meet some day, and you think
 * this stuff is worth it, you can buy me a beer in return Poul-Henning Kamp
 * ----------------------------------------------------------------------------
 */

译文:

/*
 * --------------------------------------------------------------
 * “啤酒软件协议”(第四十二版):
 * <[email protected]>编写了此文件。只要你还保留本协议文本,你可以
 * 以使用此软件做任何事。如果我们在某一天相遇了,而且你认为此软件
 * 很有价值,你可以为我买一瓶啤酒来答谢保罗-恒宁·坎瀑。
 * --------------------------------------------------------------
 */

         4.WTFPL License

        这是我见过的最放任的License,名义上有版权,但是实际上跟没有一样——全文只有一句话:“You just DO WHAT THE FUCK YOU WANT TO. ”。对许可证本身,可以做修改,但是修改后的许可证必须改名字。

        应用实例:著名加密算法库TomCrypt.

=========全文完===========

结尾总结

        以上是我熟悉的所有许可证,以及解析,希望对大家有帮助哦!如果还有,请告诉我,我可能会更新。如果有好的建议或者需要指出本文不完善之处,欢迎留言。: )

By: IFRFSX

 
 
G
M
T
 
 
Detect languageAfrikaansAlbanianArabicArmenianAzerbaijaniBasqueBelarusianBengaliBosnianBulgarianCatalanCebuanoChichewaChinese (Simplified)Chinese (Traditional)CroatianCzechDanishDutchEnglishEsperantoEstonianFilipinoFinnishFrenchGalicianGeorgianGermanGreekGujaratiHaitian CreoleHausaHebrewHindiHmongHungarianIcelandicIgboIndonesianIrishItalianJapaneseJavaneseKannadaKazakhKhmerKoreanLaoLatinLatvianLithuanianMacedonianMalagasyMalayMalayalamMalteseMaoriMarathiMongolianMyanmar (Burmese)NepaliNorwegianPersianPolishPortuguesePunjabiRomanianRussianSerbianSesothoSinhalaSlovakSlovenianSomaliSpanishSundaneseSwahiliSwedishTajikTamilTeluguThaiTurkishUkrainianUrduUzbekVietnameseWelshYiddishYorubaZulu
 
AfrikaansAlbanianArabicArmenianAzerbaijaniBasqueBelarusianBengaliBosnianBulgarianCatalanCebuanoChichewaChinese (Simplified)Chinese (Traditional)CroatianCzechDanishDutchEnglishEsperantoEstonianFilipinoFinnishFrenchGalicianGeorgianGermanGreekGujaratiHaitian CreoleHausaHebrewHindiHmongHungarianIcelandicIgboIndonesianIrishItalianJapaneseJavaneseKannadaKazakhKhmerKoreanLaoLatinLatvianLithuanianMacedonianMalagasyMalayMalayalamMalteseMaoriMarathiMongolianMyanmar (Burmese)NepaliNorwegianPersianPolishPortuguesePunjabiRomanianRussianSerbianSesothoSinhalaSlovakSlovenianSomaliSpanishSundaneseSwahiliSwedishTajikTamilTeluguThaiTurkishUkrainianUrduUzbekVietnameseWelshYiddishYorubaZulu
 
 
 
 
 
 
 
 
 
Text-to-speech function is limited to 200 characters
 
 
Options : History : Feedback : Donate Close

猜你喜欢

转载自my.oschina.net/u/3312265/blog/1818938