在 Apache 軟件基金會禁止 BSD+Patents 依賴項許可後,React 用戶請求 Facebook 重新許可 React.js
已發表: 2017-07-18
Apache 軟件基金會周末發布通知,表示已將 Facebook 的 BSD+Patents 許可證添加到其針對 Apache PMC 成員的 X 類禁止許可證列表中。 這是 Facebook 用於其大部分開源項目的許可證。
Facebook 的 RocksDB 團隊的一位代表對 Apache 基金會的帖子發表了評論,建議該項目將在 8 月 31 日的最後期限內重新許可,以符合 Apache PMC 成員的要求,並且該更改已於今天提交:
RocksDB 團隊正在調整許可,以便在 Apache 2 和 GPL 2(用於 MySQL 兼容性)許可下獲得雙重許可。 這應該會在 8 月 31 日之前不久發生。 我將不談關於許可的歷史和哲學,因為它通常是一個複雜的討論,我不確定它是否真的在這個線程中被完全捕捉到,特別是相對於 Facebook 的意圖。
希望今天上午對 PMC 的指導可以調整,因為我認為我們中的任何人都不認為在已經使用 RocksDB 的 ASF 項目中需要大量額外的工程工作
鑑於 ASF 法律事務委員會決定在 Apache 項目中禁止 BSD+專利許可,ASF 成員 Joan Touzet 在 React 存儲庫上提出了一個問題,敦促 Facebook 考慮根據 Apache License v2.0 和 GPL 2 重新許可 React.js :
這在 Apache 社區中引起了很多不安和沮喪,特別是在需要類似許可代碼作為直接依賴項的項目中——其中最主要的是 RocksDB。
我們(Apache 軟件基金會)剛剛收到消息,RocksDB 將根據雙重 Apache 許可證 v2.0 和 GPL 2 許可證重新許可他們的代碼。
作為 ASF 頂級項目 (Apache CouchDB) 中 React.JS 的用戶,請考慮以類似條款重新許可 React.JS。 否則,許多 ASF 項目(例如我們自己的)將不得不停止依賴 React 並使用 React 進行構建。
儘管 RocksDB 的重新許可解決了該特定項目的問題,但 ASF 禁止 Facebook 的 BSD+Patents 許可意味著 Facebook 的其他廣泛使用的技術,包括 React.js,仍然被禁止。 這可能會給許多開源項目帶來問題。
Minio 團隊的 Harshavardhana 發表評論,支持向 Facebook 提出的重新授權 React 的請願書。
“我們的對象存儲瀏覽器 UI 基於 React,並且我們獲得了 Apache 2.0 許可,”他說。 “遷移將是不幸且耗時的,但我們將不得不這樣做,以代替有關 Apache 不兼容性的新信息。 請考慮重新授權 React。”
Om(React 的 ClojureScript 接口)的貢獻者也在討論 ASF 的新要求是否會影響他們的項目。 Greg Stein 代表 ASF 發表評論,澄清了該組織決定禁止 Facebook 的 BSD+Patents 許可的原因:
請注意,ASF 選擇這條路徑是出於政策原因,而不是“許可證不兼容”。 我們不希望 Apache 代碼的下游用戶對 RocksDB 和 React 中的專利授權感到驚訝。 用戶應該只需要遵循 ALv2,沒有進一步的限制。
這些許可證可以一起工作(IMO),並且只對用戶提供兩組限制。
Stein 說,做出決定的不是 ASF 的律師,而是該組織的政策決定,即“不允許將 FB/BSD+專利許可混入基金會向用戶發布的軟件中”。

Facebook 正在內部討論重新授權事宜
Redux、Create React App 和 React Hot Loader 的合著者 Dan Abramov 加入了 GitHub 上關於重新許可的討論,並簡要而模糊地總結了 Facebook 如何處理重新許可的請願書。
阿布拉莫夫說:“為了給你一個小小的更新,大約一周內將有更多關於這個的內部討論。” “我能說的就這麼多了。 我不會對 React 的這種變化過於樂觀,但我們會看到的。 @daveman692 已同意在這些討論結束後提供更新。”
完全放棄專利授權,這將是解決開源項目這個問題的最方便的方法,不太可能發生。 React 在其短暫的歷史中已經經歷了兩次重新授權。 它最初在 Apache 2.0 下獲得許可,但在 2014 年 10 月更改為 BSD 許可和專利授權,其中包括一個極具爭議的終止條款。 2015 年 4 月,專利授權略有更改,以允許被許可人在專利訴訟中不包括針對與 React.js 無關的事件中針對 Facebook 或其關聯公司的反訴的情況下繼續使用該軟件。
Facebook 的 BSD+Patents License 中的終止條款仍然不受歡迎,許多開源項目維護者對此表示懷疑。 當 Drupal 項目開始考慮使用客戶端框架來取代 Backbone.js 時,Dries Buytaert 基於他所說的“可能不可接受的專利條款”放棄了 React,並引用了 WordPress.com 的 Calypso 和 React 貢獻者的反對意見。
WordPress 開源項目尚未正式宣布決定將哪個 JavaScript 框架包含在核心中,但所有跡像都指向 React。 WordPress 即將推出的 Gutenberg 編輯器是基於 React 構建的,其主要貢獻者是 Automattic 員工,他們為 WordPress.com 開發基於 React 的產品。 Gutenberg 繼續以極快的速度向前推進,沒有任何重寫的跡象,WordPress 的共同創建者 Matt Mullenweg 直言不諱地表達了他對使用 React 的偏好。
儘管 Automattic 的法律顧問表示,該公司願意在項目當前的許可下將 React 用於其產品,但 WordPress 社區中的其他人並不願意將框架包含在核心中。
Open Source Initiative (OSI) 包括一個通用 BSD+Patent 許可,列在其批准的許可中,但 Facebook 的特定 BSD+Patent 許可尚未提交。 El Camino Legal 的合夥人 Robert Pierce 認為,許可終止條款在開源許可中應該是不允許的,因為它的存在是為了保護 Facebook 免受與 React 代碼完全無關的專利訴訟:
Facebook 將 React.js 吹捧為開源軟件。 但在我看來,額外授予專利權的許可終止條款使該產品超出了開源軟件的範圍。
額外授予專利權 (v.2) 中提供的專利許可的條件是被許可人未對 Facebook 或其關聯公司提起專利侵權訴訟。 因此,被許可人為使用該庫付出了代價。 這不是用金錢付出的代價。 Facebook 要求使用該庫的價格是被許可人不得針對 Facebook 或其關聯公司行使任何專利權。
Pierce 將 Facebook 發布 React 源代碼視為贏得一些專利訴訟保護的籌碼,他認為“對於 Facebook 來說,聲稱開源地位過於貪婪”。
開源社區廣泛猜測將 Facebook 的 BSD+專利許可作為依賴項的含義,但該許可尚未在法庭上進行測試。 Apache 軟件基金會是第一個對有爭議的許可證採取強硬立場的主要組織,這引起了 Facebook 的注意。 Facebook 代表已承諾在內部討論結束後更新重新授權的請願書。
