2 月 14 日,開源促進會(OSI,Open Source Initiative)批準了來自中國的木蘭開源許可證第二版(MulanPSL v2),木蘭許可正式成為一個國際化開源軟件許可證(或稱“協議”)。這意味著中國現在擁有了具有國際通用性、可被任一國際開源基金會或開源社區支持采用,并為任一開源項目提供服務的開源許可證。
OSI 是定義“開源”、制定開源協議標準的組織,符合 OSI 開源定義的許可證被認定為開源許可證,目前其批準的開源軟件協議有 100 多個,比如目前比較流行的 MIT、Apache-2.0 與 BSD 3-Clause 等都在 OSI 認定的開源許可證列表中。而 Mulan PSL 是國內首個被公認的“國產開源軟件協議”。
此次被 OSI 認證的是木蘭的第二個版本,而實際上,去年 8 月份木蘭就發布了第一個版本《木蘭寬松許可證,第 1 版》,當時正值國內與國際社會因“中美貿易戰”影響到開源領域而對開源的“自主把控”能力議論紛紛。
在這樣的大背景下,當前木蘭的第二個版本通過了國際公認的 OSI 認證,成為一個國際性的開源軟件許可,我們覺得有必要對此次事件進行一些深入了解,于是第一時間邀約了木蘭協議幕后的負責人北大教授周明輝,請她分享了相關情況。
從 0 到 1,木蘭協議走向國際
2019 年 12 月 3 日周明輝向 OSI 的 License-Review mailing-list(開源軟件許可審查郵件列表)提交了第一版本木蘭(Mulan PSL v1)的認證申請,隨后 OSI 社區在郵件列表中對木蘭展開了公開討論。
討論主要集中在兩點:
Mulan PSL v1 與現有協議之間的區別,如 BSD+patents;
多語言問題,Mulan PSL 采用中英雙語,但兩種語言的解釋可能沖突從而存在潛在風險。
周明輝對 Mulan PSL 與現有開源協議的相似性做出了詳細解釋,指出 Mulan PSL 的優勢在于更完善的專利授權,雙方之后也針對多語言的解決方案進行了多輪討論。
經過咨詢國內法務專家,30 日周明輝提交了木蘭協議的新版本 Mulan PSL v2,該版本增加了語言條款,聲明中文為規范語言,也就是在與英文版本發生沖突時以中文為準。
此后有人對協議中英文版中的“Software”、“Affiliates”以及專利授權中“agent, patent licensee or assignee”等英文表述提出了建議。采納他們的建議之后,周明輝于今年 1 月 6 日再次向 OSI 提交了更新后的 Mulan PSL v2。此后,郵件列表中對于木蘭協議的特性以及語言問題不再有疑問。
到了 2 月 11 日,OSI 許可證審查委員會發出郵件,建議將 Mulan PSL v2 批準為“國際類別(International)”開源許可證,同時表示“中文版開源許可證可以鼓勵中國社區參與開源,同時也是對已批準許可證列表的寶貴補充”。
最后經過 OSI 董事會的審查,2020 年 2 月 14 日,董事會正式發出郵件,批準 Mulan PSL v2 為國際類別開源軟件許可證。
這是國內首個通過 OSI 認證的開源協議,看似簡單地完成了申請與認證的過程,但是周明輝介紹,這需要有大量的前期準備工作。“Mulan PSL v2 能被 OSI 認證通過取決于幾點。第一,我們在提交申請之前做了非常細致的工作,有大量貢獻者的付出,包括法律專家和技術專家,以及國家電子標準研究院的有力支撐。”
此外開源社區和國家與個人身份在這其中也促成了此次認證。“OSI 社區是開放的,郵件列表中并沒有對 Mulan PSL 的本質(是否滿足開源十條定義)提出質疑,相反,大家對如何完善該許可證給出了很好的建議,我們也正是基于這些建議,對 Mulan PSL v1 進行修訂,以更好符合國際化標準”,周明輝補充到:“此外,我相信中國目前在全球的經濟發展情況及地位讓全世界人民對我們中國的需求有一份尊重。最后我個人北大教授的身份也讓 OSI 社區對協議的質量多了一份信任。”
回答這個問題的時候,周明輝提到,去年在制定木蘭協議的時候面臨的困難最終被一一克服,才能成就今日的進展。
首先,木蘭許可證的制定必須建立在對現有開源許可證的充分理解之上,而對現有開源許可證的準確分析是比較困難且耗時的,北大、西南大學與中科院軟件所等參與協議制定的老師與同學為此貢獻了很多時間和精力。
其次,木蘭許可證制定的初衷是推出一個便于開發者理解、保護開發者利益且廣泛使用的中國本土開源許可證,因此如何充分保護開發者利益以及如何突顯中國特色也是制定木蘭許可證的難點。“國內企業的法務專家為該項目提供了非常好的咨詢”,周明輝解釋:“此外,開發者還普遍關注木蘭許可證與其它知名開源軟件協議的兼容性,而這需要進一步與相關開源軟件基金會溝通確認。”
而另一大挑戰是,制定木蘭協議原本是希望它能服務于廣大開源社區和開源項目,包括國內與國際,這不僅需要首先獲得中文社區的認同,還需要與國際接軌,否則將難以獲得普遍信任。“而這,正是此次進行 OSI 認證的一大動力”,周明輝說到。
為什么能通過 OSI 認證
OSI 創始人 BrucePerens 曾表示,目前只需要 AGPLv3、LGPLv3 與 Apache v2 這三個必要的開源協議就已足夠(雖然 Bruce 已經退出 OSI),那木蘭有哪些優勢,得以通過 OSI 的認證呢?
前邊也有提到,在申請 OSI 認證的時候,郵件列表中周明輝需要先解釋木蘭相比其它知名協議的區別與優勢。
總結起來,與眾多開源協議相比,Mulan PSL 在其它協議的基礎上進行了以下優化:
許可證內容以中英文雙語表述,中英文版本具有同等法律效力,方便更多的開源參與者閱讀使用,簡化了中國使用者進行法律解釋時的復雜度。
明確授予用戶永久性、全球性、免費的、非獨占的、不可撤銷的版權和專利許可,并針對目前專利聯盟存在的互訴漏洞問題,明確規定禁止“貢獻者”或“關聯實體”直接或間接地(通過代理、專利被許可人或受讓人)進行專利訴訟或其它維權行動,否則終止專利授權。
明確不提供對“貢獻者”的商品名稱、商標、服務標志等的商標許可,保護“貢獻者”的切身利益。
木蘭協議經技術專家和法律專家共同修訂,在明確合同雙方行為約束的前提下盡可能地精簡條款、優化表述,降低產生法律糾紛的風險。
正是這些更加明確和精簡的特性以及中文特色,觸動了 OSI,最終將木蘭協議加入認證列表。值得一提的是,在審查委員會發出的郵件中我們也可以看到 OSI 對于中文開源許可的期待,OSI 表示:“中文開源許可證將促進華人社區發布開源軟件,這是對已批準許可證的重要補充。”
而大家會疑惑,MulanPSL v2 版本通過 OSI 認證,是否意味著 v1 本身就不符合開源定義,在開源生態中不具有實際意義?周明輝解釋,Mulan PSL v2 與 Mulan PSL v1 本質上沒有區別,Mulan PSL v2 是在 Mulan PSL v1 基礎上的進一步完善。認證過程中,OSI 及社區其他專家并沒有表示 Mulan PSL v1 不符合開源定義,僅對規范語言和部分英文表述問題給出了相關建議。
周明輝也給出了 MulanPSL v2 對 MulanPSLv1 的具體改進:
增加“語言”條款,聲明了“本許可證”以中英文雙語表述,中英文版本具有同等法律效力。如果中英文版本任何沖突不一致,以中文版為準。
為適應一些國家對擔保免責條款的顯著性要求,MulanPSL v2 在英文版中采用大寫突顯擔保免責條款。
為了減少英文表述產生的歧義問題和語言習慣問題,MulanPSL v2 修訂了“軟件”(Software)和“關聯實體”(Affiliates)的定義,以及“授予專利許可”(Grant of Patent License)條款的相關表述。
關于木蘭特性以及 v2 相比 v1 的改進,因為當前開源與云的爭端不斷,在去年木蘭 v1 出來的時候就有律師建議可以在協議條款中加上針對云的一些內容,我們也拋出了相關問題。
周明輝表示,Mulan PSL 的定位是寬松版許可證,對如何“使用、修改、復制、分發”開源軟件沒有額外限制,僅要求保留各類聲明和許可證副本,因此也并未對“云”做任何限制。同時她也補充到:“今后在制定木蘭系列其它類型的許可證時,我們可能會考慮到‘云’場景。”
有什么意義?
其實國內此前也有一此個人/公司發起自己的“國產開源協議”,但是并沒有像木蘭去年推出時引起的轟動,糾其原因主要有兩點,一是木蘭協議的出身背景,二是國際形勢使然。
木蘭協議作為國家重點研發計劃“云計算和大數據開源社區生態系統”的子任務,由北京大學牽頭,依托全國信標委云計算標準工作組和中國開源云聯盟,聯合國內開源生態圈產學研各界優勢團隊、開源社區以及擁有豐富知識產權相關經驗的眾多律師,共同研制而成。
國際形勢方面,主要關注當時兩大引爆事件:
全球最大的開源軟件基金會 ASF(Apache 軟件基金會)的管理辦法中明確說明其遵循美國出口法律,所以它旗下的所有項目亦受到美國出口法律的管制。而 ASF 旗下開源項目的名單中有許多耳熟能詳的項目,比如 Kafka、Solr、Hadoop 與 Spark 等;
全球最大源碼托管平臺 GitHub 表示:GitHub.com、GitHub Enterprise Server 以及您上傳到任一產品的信息可能受美國出口管制法律的約束,包括美國出口管理條例(EAR)。并且實際上其已經對古巴與朝鮮等地實施限制。
消息一出,國際國內開源界議論紛紛,關于開源生態如何自立,做到在逼不得已無法與國際接軌的情況下能夠健康發展的措施也被提上議程。
于是我們看到華為在加快國產開源操作系統鴻蒙的研發,看到國內第一個開源軟件基金會在緊急籌備,也看到了第一個國產開源協議木蘭的誕生。
而目前來看,木蘭已經被國際開源領域最官方的組織 OSI 認證,周明輝表示,開源是人類在互聯網發展進程中探索出的一種面向全球的大規模協作生產方式,它以開放共享、合作共贏為宗旨,有效地推進了全球化進程。
“政治會有博弈,國家會有沖突,但互聯網承載的開源在各種各樣的利益之外,深刻地體現著人類的善良特性,并不斷構造最先進的生產方式。它深刻地體現著,從互聯網延伸到的每個角落,每個人都可以參與,以自己最喜歡的方式,參與到一個大眾的活動中來,群策群力,能者為王,協作生產一個既服務別人也服務自己然后大眾都能獲利的產品”,她補充到:“另外,我們中國從開源受益良多,目前我們有更多的能力,那我們就可以承擔多一點的責任,讓開源界、讓世界更好。從自己做起。”
具體到木蘭協議此次里程碑的意義,周明輝表示,一方面這意味著木蘭協議(v2)本身正式具有國際通用性,可被任一國際開源基金會與開源社區支持采用,為任一開源項目提供服務,這是中國開源社區對國際開源社區的貢獻。而這也正如 OSI 所言,將會極大地鼓勵華人開發者參與開源。
另一方面,木蘭協議是首個由中國開源產業界聯合編制并通過 OSI 認證的開源軟件許可證,這標志著我國開源界立足中國推進開源取得的進展,加強了我們持續推進開源的信心。
期盼:關山度若飛
“自從木蘭發布以來,我們對于業界采用情況進行了積極的跟蹤與梳理,我們目前可以看到碼云 Gitee 上采用木蘭協議的開源項目已經超過 1000,其中包括華為等知名企業項目”,周明輝向我們介紹了木蘭協議當前的采用情況。
木蘭協議最初版本于2019 年 8 月 5 日發布,發布后為國內眾多開發者陸續采用,碼云 Gitee也已于 8 月率先支持木蘭協議,并于 v2 通過 OSI 認證當天跟進支持該新版協議。目前平臺上已經有不少項目采用該許可,詳情可查看:Gitee 上采用木蘭的開源項目。
Gitee 上的采用反映的是國內對于木蘭協議的支持情況,“而從 OSI 以及認證過程中郵件列表的反映來看,國際上對木蘭協議也是非常支持的”,周明輝解釋,中國有上千萬的程序員,這些人代表了成千上萬的互聯網和軟硬件公司,他們會對互聯網技術和開源世界產生深遠影響,這一點在她與 OSI 的郵件列表中得到了認可。
此外,Linux 基金會在今年 1 月 14 日的開源領導力峰會上也明確表示支持基于木蘭協議的開源項目托管到 Linux 基金會,同時 Tweet 上也有不少評論表明國外個人開發者對木蘭協議的喜愛與支持。
當然,這樣還不夠,“木蘭也只是個開源許可證,核心產出還需要體現在我們將要不斷開源的項目和技術上,以及相關的開源生態上”,周明輝談到了接下來木蘭相關生態的一些規劃:“一方面基于木蘭開源社區,繼續推廣木蘭協議的使用;另一方面加強與其它國際開源社區溝通合作,真正將木蘭協議推向國際化;同時以此為契機,將繼續推進開源開發技術和開源治理策略的發展。”
《木蘭辭》有言:萬里赴戎機,關山度若飛。翱翔著翻越關隘和山嶺,或許這正是木蘭協議團隊當時以“木蘭”為名的原因。在此我們也希望木蘭協議乃至國內的開源生態能夠發展得越來越好。
嘉賓介紹
周明輝,北大計算機科學與技術系教授,主要研究開源開發方法和技術,目前對開源生態的演變過程非常感興趣。主要涉及的領域包括大數據挖掘、軟件工程與開源數字社會學等。