Mozilla公共许可证
条款
MPL既是得到自由软件基金会承认的自由软件许可证 ,也是得到开放源代码促进会承认的开源软件许可证 。MPL允许在其授权下的源代码与其他授权的文件进行混合,包括私有许可证。但在MPL授权下的代码文件必须保持MPL授权,并且保持开源。 这样的条款让MPL既不像MIT和BSD那样允许派生作品完全转化为私有,也不像GPL那样要求所有的派生作品,包括新的组件在内,全部必须保持GPL。通过允许在派生项目中存在私有模块,同时保证核心文件的开源,MPL同时激励了商业及开源社区来参与帮助开发核心软件。
使用MPL授权的软件并不受专利的限制,其可以自由使用,出售,并可自由的重新发布。带有专利代码的版本仍然可以使用,转让,甚至出售,但未经许可则不能修改代码。此外,MPL并不授予用户对于开发者商标的使用权 。
为了满足MPL的条款限制,用户必须负担一些“责任”,主要是关于散发使用MPL授权的软件。用户必须确保重新散发的软件所有源代码均以MPL授权,即使是以可执行文件的方式提供或是与其他使用专有软件授权的源代码结合也一样。但若跟以GNU通用公共许可协议、GNU宽通用公共许可证、Affero通用公共许可证授权的源代码结合则是例外。此时开发者则可选用以上三种更加严格的条款来授权 。
历史
1.0版的MPL是由米切尔·贝克在1998年所编写,当时她在网景公司担任律师。网景希望其开放源代码的策略能让网景浏览器可以与微软的Internet Explorer竞争 。为了隐藏浏览器真正的源代码,网景公司编写了一份知名的 Netscape公共许可证 ( 英语 : Netscape Public License ) ,其中的一个条款允许在这个授权方式下发行的源代码以专有软件的方式重新授权。网景公司只接受可以改变授权方式的第三方源代码,导致当时许多开放源代码社区的批评。
然而,同一时间,贝克正撰写着一份类似Netsape公共许可证的许可协议,但包含了一些Copyleft的特性,从而使得其他人的贡献能保持开源。它以网景公司新的开放源代码代码库为名,称之为“Mozilla公共许可证”,虽然它最初只是为了补足一些使用L授权的核心模块的不足而撰写,但它很快的就变得比L还流行,最后甚至被开放源代码促进会所认可 。
不到一年之后,贝克及Mozilla基金会对MPL作了一些更动,因为只是一些小变动,所以只将版本号码微调至1.1 。这个修改版本是经由开放的过程所完成,其同时考虑到了团体及个人贡献者的意见。其主要更动是厘清关于专利部分的条款,以及允许多许可的共存。最后这一个特性旨在鼓励与偏好使用GPL授权的开发者合作 。除了很多项目都以此派生出他们自己的许可协议,这个版本的结构,法律切合度,以及其对专利权的明确态度都深深的影响了后来流行的许可协议,像是第三版的GPL等 。
2010年初,因为经过了十几年的时间都没有对其进行调整以匹配随时在变动的法律以及价值观,所以创造MPL第二版的的开放过程便开始进行 。大约21个月后,新版的MPL不仅使许可协议更加清晰,更加方便应用,同时也兼容于GPL及Apache许可证 。修订小组由米切尔·贝克监督, 路易斯·维拉 ( 英语 : Luis Villa ) 领导,并获得Gervase Markham及Harvey Anderson的支持 。他们发布了三个Alpha版本,两个Beta版本,以及两个发行候选版本在2012年1月3日最终发布前供大众查看并提出修改意见 。
与其他协议的兼容性
不像那些较严格的Copyleft许可证,使用MPL授权的源代码可以在一个复杂的软件中与任何其他的许可协议相结合,只要仍满足MPL许可协议中3.3节的规定即可 。这意味着在一份给定的源文件里面,必须全部的源代码都以MPL授权,否则就所有源代码均以其他方式授权 。
MPL第二版与Apache许可证 以及GPL第二版或更新、LGPL2.1版或更新,及AGPL第三版或更新兼容 。而1.1版因为有“一些复杂的限制”造成与GPL的不兼容(从而阻止升级到MPL 2.0)。MPL 1.1版虽然也包含了一个可以让开发者在第二个授权(包含GPL及与GPL兼容的许可证)下撰写代码的条款,但MPL 1.1与GPL却无法“合法的链接”,导致自由软件基金会不鼓励开发者使用MPL 1.1进行授权 。因为这个理由,早期的Firefox采用了三重授权:MPL 1.1、GPL 2.0、LGPL 2.1 。Mozilla Application Suite仍采用三重授权。
基于MPL的协议
AROS公共许可证 ( 英语 : AROS Public License ) 1.1(基于MPL 1.1)
Celtx公共许可证
通用开发与散布许可证
Common Public Attribution License ( 英语 : Common Public Attribution License )
Erlang公共许可证1.1 ( 英语 : Erlang Public License ) (MPL v1.0) (经过修改的MPL 1.0, 其中“根据瑞典法律以英文解决争议” )
gSOAP ( 英语 : gSOAP ) 公共许可证
OpenMRS ( 英语 : OpenMRS ) 公共许可证
OpenELIS ( 英语 : OpenELIS ) 公共许可证
SugarCRM公共许可证
Firebird的初始开发者公共许可证(基于MPL v1.1)
MonetDB ( 英语 : MonetDB ) 公共许可证(基于MPL 1.1)
Sun公共许可证 ( 英语 : Sun Public License )
雅虎公共许可证 ( 英语 : Yahoo! Public License )
免责声明:以上内容版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。感谢每一位辛勤著写的作者,感谢每一位的分享。
- 有价值
- 一般般
- 没价值