前言
前一陣子由於Facebook BSD+PATENTS License的原因,Apache專案禁止使用帶該license的程式碼,引人注目的就是Facebook的React前端框架。
後來在知乎上看到百度內部也要求在半年內完成內部產品的轉型,如下圖所示。
最近又看到Facebook 的React框架又重新將Facebook BSD+PATENTS License更新為了MIT協議。
以上這些變化,引起了我的好奇,在接下來的內容中將對以下內容進行闡述。
目錄
- Facebook的BSD+PATENTS License到底說了些什麼,以React為例子。
- 開源協議選擇
- 結尾
BSD+PATENTS License
根據維基百科的定義,License即軟體許可證,含義如下
軟體許可證是一種具有法律性質的合同或指導,目的在規範受著作權保護的軟體的使用或散佈行為。通常的授權方式會允許使用者來使用單一或多份該軟體的複製,因為若無授權而徑予使用該軟體,將違反著作權法給予該軟體開發者的專屬保護。效用上來說,軟體授權是軟體開發者與其使用者之間的一份合約,用來保證在匹配授權範圍的情況下,使用者將不會受到控告。
根據更新前的Facebook React倉庫中的 Readme檔案所示。
React使用的是BSD協議,另外附加了專利許可證。而引起討論的重點則出在PATENTS 專利許可上。
節選PATENTS專利許可證上的一段話
The license granted hereunder will terminate, automatically and without notice, if you (or any of your subsidiaries, corporate affiliates or agents) initiate directly or indirectly, or take a direct financial interest in, any Patent Assertion: (i) against Facebook or any of its subsidiaries or corporate affiliates, (ii) against any party if such Patent Assertion arises in whole or in part from any software, technology, product or service of Facebook or any of its subsidiaries or corporate affiliates, or (iii) against any party relating to the Software
這一段整體說明了,如果違反了以下三個限制,就會被撤銷使用React的許可,在我個人的理解來說,就是Facebook可以反告你一把了。
由 (i)和(ii)看出,如果你採取專利申訴或者是挑戰到了Facebook,Facebook的子公司以及合作方,你的React許可就會被撤銷。
由(iii) 可以看出:你不能夠其他使用了React的公司產生糾紛,不然也會被撤銷React許可。
這一段是引起了很大的反向,換句話來說,只要你使用著Facebook的React框架,那麼Facebook如果侵權你的專利,你還不能告他,你告他的話,你的React許可就會被撤銷,然後被反告一把實錘,想想還真的是挺心塞的哈哈。
所以百度以及其他的一些公司有一些對應的舉措也不足為怪。
各種開源協議以及如何選擇
因為社群的反響實在強烈,以及Apache基金會的強硬舉措,Facebook在近期是妥協了,將Facebook BSD+PATENTS License更新為了MIT協議。
開源協議的數量非常多,但一般來說,我們只需要在常用的當中進行選擇即可。阮一峰老師在烏克蘭程式設計師Paul Bagwell的基礎上繪製了一份中文的協議選擇圖,非常淺顯易懂。
對於Facebook這次的升級來說,MIT相對於BSD的不同之處在於,使用MIT協議的是可以用原有作者的名字打廣告的,其實就是更為寬鬆了一些。
在這些常見的協議當中,BSD和MIT的協議相對比較寬鬆,Apache次之,會保留作者的專利版權,GPL限定性更強。知乎網友www.gcssloop.com/tips/choose…
choosealicense.com/ 這個網站提供了選擇開源協議上的一些建議。
知乎網友gcssloop在這個的基礎上對其做了漢化處理,具體網址見choosealicense.online/
結尾
這是個人對這次Facebook React開源協議事件的一些資料收集以及個人看法,希望對大家有所幫助。
同時也對之前網路上盛傳的“ 不用學React”這種言論說一句。
且不說你的公司使用React會不會和Facebook引起衝突,哪怕公司層面上有衝突,私下去學習這樣一個優秀的框架也是極好的提升機會,切莫浮躁啊。