Loading AI tools
由謀智組織開發的許可免費軟件許可 来自维基百科,自由的百科全书
Mozilla公共许可证(英語:Mozilla Public License,简称MPL)是个自由、开源、详细的软件许可证,由Mozilla基金会开发并维护。该條款融合了BSD许可证和GNU通用公共许可证的特性,追求平衡专有软件和开源软件开发者之间的顾虑。[6]
此條款已有两个版本,[7]最新发布的2.0版以更简潔和更好的兼容其他條款为目标。[8]
MPL用于Mozilla Firefox、Mozilla Thunderbird及其他Mozilla软件的许可,[9]但也被其他产品所用,如Adobe以此为Flex产品线许可,[10]还有LibreOffice 4.0(同时使用LGPL 3+)。[11][12]1.1版还被一些公司特意改编成衍生许可证,如Sun Microsystems的通用开发与散布许可证。[13]
MPL既是得到自由软件基金会承认的自由软件许可证[3],也是得到开放源代码促进会承认的开源软件许可证[4]。MPL允许在其授权下的源代码与其他授权的文件进行混合,包括私有许可证。但在MPL授权下的程式碼文件必须保持MPL授权,并且保持开源。[5]这样的条款让MPL既不像MIT和BSD那样允许衍生作品完全转化为私有,也不像GPL那样要求所有的衍生作品,包括新的组件在内,全部必须保持GPL。通过允许在衍生项目中存在私有模块,同时保证核心文件的开源,MPL同时激励了商业及开源社区来参与帮助开发核心软件。[14]
使用MPL授權的軟體不受專利的限制,其可以自由使用、出售,亦可自由的重新發佈。帶有專利程式碼的版本仍然可以使用,轉讓,甚至出售,但未經許可則不能修改程式碼。此外,MPL不授予使用者對於開發者商標的使用權[5]。
為了滿足MPL的條款限制,使用者必須負擔一些「責任」,主要是關於散發使用MPL授權的軟體。使用者必須確保重新散發的軟體所有原始碼均以MPL授權,即使是以執行檔的方式提供或是與其他使用專有軟體授權的原始碼結合也一樣。但若跟以GNU通用公眾授權條款、GNU較寬鬆通用公眾授權條款、Affero通用公眾授權條款授權的原始碼結合則是例外。此時開發者則可選用以上三種更加嚴格的條款來授權[5]。
1.0版的MPL是由米切爾·貝克在1998年所編寫,當時她在網景公司擔任律師。網景希望其開放原始碼的策略能讓網景瀏覽器可以與微軟的Internet Explorer競爭[15]。為了隱藏瀏覽器真正的原始碼,網景公司編寫了一份知名的Netscape公共许可证,其中的一個條款允許在這個授權方式下發行的原始碼以專有軟體的方式重新授權。網景公司只接受可以改變授權方式的第三方原始碼,導致當時許多開放原始碼社群的批評。
然而,同一時間,貝克正撰寫著一份類似Netsape公眾授權條款的授權條款,但包含了一些Copyleft的特性,從而使得其他人的貢獻能保持開源。它以網景公司新的開放原始碼代碼庫為名,稱之為「Mozilla公共授權條款」,雖然它最初只是為了補足一些使用NPL授權的核心模組的不足而撰寫,但它很快的就變得比NPL還流行,最後甚至被開放原始碼促進會所認可[16]。
不到一年之後,貝克及Mozilla基金會對MPL作了一些更動,因為只是一些小變動,所以只將版本號碼微調至1.1[17]。這個修改版本是經由開放的過程所完成,其同時考慮到了團體及個人貢獻者的意見。其主要更動是釐清關於專利部份的條款,以及允許多許可的共存。最後這一個特性旨在鼓勵與偏好使用GPL授權的開發者合作[18]。除了很多計畫都以此衍生出他們自己的授權條款,這個版本的結構,法律切合度,以及其對專利權的明確態度都深深的影響了後來流行的授權條款,像是第三版的GPL等[13]。
2010年初,因為經過了十幾年的時間都沒有對其進行調整以符合隨時在變動的法律以及價值觀,所以創造MPL第二版的的開放過程便開始進行[19]。大約21個月後,新版的MPL不僅使授權條款更加清晰,更加方便應用,同時也相容於GPL及Apache授權條款[8]。修訂小組由米切爾·貝克監督,路易斯·維拉領導,並獲得Gervase Markham及Harvey Anderson的支援[20]。他們發佈了三個Alpha版本,兩個Beta版本,以及兩個發行候選版本在2012年1月3日最終釋出前供大眾檢視並提出修改意見[1]。
不像那些較嚴格的Copyleft授權條款,使用MPL授權的原始碼可以在一個複雜的軟體中與任何其他的授權條款相結合,只要仍滿足MPL授權條款中3.3節的規定即可[5]。這意味著在一份給定的原始檔裡面,必須全部的原始碼都以MPL授權,否則就所有原始碼均以其他方式授權[5]。
MPL第二版與Apache授權條款[8]以及GPL第二版或更新、LGPL2.1版或更新,及AGPL第三版或更新相容[3]。而1.1版因為有「一些複雜的限制」造成與GPL的不相容(從而阻止升級到MPL 2.0)。MPL 1.1版雖然也包含了一個可以讓開發者在第二個授權(包含GPL及與GPL相容的授權條款)下撰寫程式碼的條款,但MPL 1.1與GPL卻無法「合法的連結」,導致自由軟體基金會不鼓勵開發者使用MPL 1.1進行授權[21]。因為這個理由,早期的Firefox採用了三重授權:MPL 1.1、GPL 2.0、LGPL 2.1[22]。 Mozilla Application Suite仍採用三重授權。