從Facebook的React框架事件學習一下開源協議

前言

前一陣子因爲Facebook BSD+PATENTS License的緣由,Apache項目禁止使用帶該license的代碼,引人注目的就是Facebook的React前端框架。
後來在知乎上看到百度內部也要求在半年內完成內部產品的轉型,以下圖所示。
css


最近又看到Facebook 的React框架又從新將Facebook BSD+PATENTS License更新爲了MIT協議。

以上這些變化,引發了個人好奇,在接下來的內容中將對如下內容進行闡述。

目錄

  1. Facebook的BSD+PATENTS License到底說了些什麼,以React爲例子。
  2. 開源協議選擇
  3. 結尾

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的基礎上繪製了一份中文的協議選擇圖,很是淺顯易懂。
oop


對於Facebook此次的升級來講,MIT相對於BSD的不一樣之處在於,使用MIT協議的是能夠用原有做者的名字打廣告的,其實就是更爲寬鬆了一些。
在這些常見的協議當中,BSD和MIT的協議相對比較寬鬆,Apache次之,會保留做者的專利版權,GPL限定性更強。知乎網友 www.gcssloop.com/tips/choose…

choosealicense.com/ 這個網站提供了選擇開源協議上的一些建議。

知乎網友gcssloop在這個的基礎上對其作了漢化處理,具體網址見 choosealicense.online/

結尾

這是我的對此次Facebook React開源協議事件的一些資料收集以及我的見解,但願對你們有所幫助。
同時也對以前網絡上盛傳的「 不用學React」這種言論說一句。學習

且不說你的公司使用React會不會和Facebook引發衝突,哪怕公司層面上有衝突,私下去學習這樣一個優秀的框架也是極好的提高機會,切莫浮躁啊。網站

相關文章
相關標籤/搜索