React 許可證雖嚴苛,但不必過度 react
編譯自: https://opensource.com/article/17/9/facebook-patents-license
作者: Heather Meeker譯者: 薛亮
對 Apache 基金會禁止將 BSD+專利許可證(FB + PL)用於其項目的批評,在理性的審視之下是無法成立的。
最近,Apache 基金會將 Facebook 公司 BSD + 專利許可證下的代碼重新分類為 「X 類」,從而有效地阻止了其未來對 Apache 基金會項目的貢獻。這一舉動再度引發了對專利授權的爭議,但是像開源社區的許多事件一樣,與實際情況相比,這個爭議更具傾向性。事實上,這樣做不太可能影響 React.js 的採用,對 BSD +專利許可證(FB + PL)的批評大多數不能在理性的審視下成立。
官方名稱為「專利權的補充授權第二版」的 Facebook 專利授權條款已經生效多年。它用於非常受歡迎的 React.js 代碼,該代碼是一種用於呈現用戶界面的 JavaScript 庫。使用該代碼的主要技術公司的名單令人印象深刻,其中包括像 Netflix 這樣面向消費者的巨頭公司,當然還有 Facebook 自身。(LCTT 譯註:國內包括百度、阿里雲等頂級互聯網公司也在使用它,但是據聞這些公司在紛紛考慮更換對該庫的依賴。)
對舊授權的新反應
對這個消息的反應是令人驚訝的,因為並行專利許可模式並不是什麼新鮮事。 Facebook 在 2013 年發布了 BSD + 專利授權許可證(2015 年進行了修訂)。而 Google 2010 年也在 WebM 編解碼器上有些高調地使用了類似的模型。該許可模式涉及兩個並列和同時授權的權利:軟體版權的 BSD 許可,以及單獨授予的執行該軟體的專利授權。將兩者合在一起意味著有兩個獨立和平行的授權權利。在這方面,它與 Apache 2.0 許可證非常相似,與 BSD 一樣,Apache 2.0 是一個許可證,並且還包含與版權許可授權一起存在的防禦性終止條款。
對 Apache 基金會通告的大部分反應造成了混亂,例如有篇文章誤導性地稱之為「陷阱」。事實上,許多開源許可證都有防禦性的終止條款,這些規定大多被認為是阻止專利訴訟的合理機制,而不是陷阱。它們是規則而不是例外;所有具有專利授權的主要開源許可證也具有防禦性的終止條款——雖然每個條款略有不同。在 Apache 所拒絕的 Facebook 專利授權與 Apache 對其項目所採取的 Apache 2.0 許可證之間,其中的區別比爭議提出的更為微妙。
防禦性終止條款有多種風格
防禦性終止條款在兩個主要方面有所不同:終止條款的觸發和權利終止的範圍。
關於權利終止的範圍,有兩個陣營:僅終止專利授權(包括 Apache 2.0、Eclipse 公共許可證和 Facebook 專利授權)以及也同時終止版權許可(Mozilla 公共許可證和 GPL v3)。換句話說,對於大多數的許可證,提起專利侵權訴訟只能導致專利權的終止;對於其他許可證來說,提起專利訴訟能夠同時導致版權許可的終止,即讓某人停止使用該代碼。版權許可終止是一個更強大的反專利機制,對於私營企業來說風險更大,因此導致一些私營公司拒絕使用 GPL v3 或 MPL 代碼。
與大多數其他開源許可證相比,Facebook 專利授權觸發終止的閾值不同。例如,在 Apache 2.0 中,專利授權的終止是由對該許可證下的軟體提出指控的專利權利主張引發的。這個想法是為軟體創建一個「專利共同體」(patent commons)。大多數其他開源許可證大致遵循這個推演。(但在 Facebook 許可證中,)如果被許可人向 Facebook 或任何對 Facebook 產品提出指控的第三方提出權利主張,Facebook 專利許可也將終止。在這方面,終止觸發機制類似於 IBM 多年前撰寫的 Common Public License 1.0 (CPL)中的終止觸發機制。(「如果接收者利用適用於本軟體的專利對貢獻者提出專利訴訟,則該貢獻者根據本協議授予該接收者的任何專利許可,將在提起訴訟之日終止。」)
天下無新事
Facebook 授權範圍的防禦性終止條款在開源場景之外的專利許可中很常見。如果被許可人向許可人提出專利權利主張,大多數專利許可將被終止。原因是許可人不想在專利戰爭中被單方面「解除武裝」。大多數專利只有在競爭對手起訴專利所有人時才被防禦性使用。A 起訴 B,然後 B 起訴 A,導致互相傷害。如果 B 在沒有廣泛的防禦性終止條款的情況下以開源許可證發布其軟體,則 B 可能沒有追索權,並且為其開源代碼的發布付出高昂的代價。A 在免費利用 B 的軟體進行開發的同時,還起訴 B 專利侵權。
最後,Facebook 專利授權本身並不新鮮。該授權於 2013 年發布,自那時起,React.js 的受歡迎程度一直在增長。與許多開源許可證一樣,行業忍受新許可證的意願取決於其下發布的代碼的質量。在 React.js 代碼質量非常好的情況下,這個專利許可條款雖然是新的,但合理。
還是開源嗎?
有些人認為 BSD + 專利條款違反「開源定義」(Open Source Definition)。OSD 不接受歧視個人、團體或領域的許可證。但專利授權沒有許可範圍限制;如果被許可人有不當行為,許可就會終止,並且與其他人相比,針對代碼作者的不當行為的觸發門檻更低。因此,BSD + 專利許可似乎並不違反 OSD,而且 CPL 已經被 OSI 認可為合規的。如同 BSD + 專利許可一樣,CPL 根據針對代碼作者的專利訴訟,設定了一個較低的終止門檻。
結果是什麼?
Apache 基金會決定的實際結果尚不清楚。 遵循 X 類許可的代碼不能包含在 Apache 基金會的存儲庫中(該類別還包括 GPL 等許可證)。Apache 的重新分類並不意味著任何人都不能使用 React.js——它只是不能在 Apache 項目中被提交。目前甚至不清楚 Apache 項目是否包含對 BSD + 專利許可代碼的依賴。
同時,在私營企業中,根據 BSD + 專利條款使用代碼幾乎沒有爭議。大多數公司已經檢查了該許可證與其他許可證(如 Apache 2.0)相比的邊際法律風險,並認為沒有需要特別注意的地方。除非公司決定起訴 Facebook(或指控其產品侵權),否則終止觸發機制沒有實際效果。如果您想要在開發和發布一大堆代碼的公司中發起專利權利主張,將該代碼從您的業務中刪除似乎是一種合理的代價。
有些爭議似乎起因於擔心 Facebook 在許可條款中比其他人佔優。但是,這與傷害開源社區是不一樣的。與 Apache 2.0 一樣,BSD + 專利授權以「專利共同體」為基準建立,但是為貢獻者(Facebook)針對被許可人的軟體專利權利主張提供了更多的保護。很奇怪的是,一個如此反對軟體專利的社區會發現這是令人反感的,特別是考慮到過去使用的一系列防禦性終止規定。
請注意:此文章是關於 BSD + 專利許可,而不是關於 Facebook 公司。這篇文章僅代表作者的個人觀點,而不是 Facebook 的觀點。作者在開源事務上代表 Facebook,但作者沒有起草 BSD + 專利許可證。
(題圖:http://techtimes.com)
作者簡介:Heather Meeker 是 O』Melveny & Myers 矽谷辦公室的合伙人,為客戶提供技術交易和知識產權方面的建議,是國際知名的開源軟體許可專家。Heather 於 2016 年獲得加州律師協會知識產權先鋒獎。《最佳律師》Best Lawyers將她提名為 2018 年年度 IT 律師。
推薦閱讀:
※React全家桶實現一個簡易備忘錄
※The Redux Journey 翻譯及分析(上)
※React異常處理
※Learn CSS Animations: From A Designer's Perspective
※#研發解決方案#共享能力的數屏