專利告訴你,為何 Apache 禁用 FB + PL 代碼
最近,隨著開源運動不斷壯大,這邊 LC3 大會剛過去不久,人們的熱情還是未曾消去,那邊 Apache 和 Facebook 又攪動著整個社區。
作為本次事件焦點的 Facebook Patents license 已經不是第一次出風頭了,時不時成為人們討論的主題。
上一次挑動大眾神經是在 2016 年 7 月,Facebook 給 React 應用的開源許可協議是,在 BSD3-clause 協議基礎上加上旨在保護 Facebook 自身的擴展協議。而這一次依然是圍繞 Facebook Patents license 展開,簡單梳理此次事件:
- 2017 年 4 月,Apache Cassandra 項目正考慮增加 RocksDB 作為存儲引擎,但考慮到專利授權的問題,Jeff Jirsa 向 Apache 法律社區尋求意見。
- 2017 年 6 月,Apache 法律社區開始討論 Facebook Patents license 協議專利授權的不對稱性問題,且該協議與Apache Software License(即 Apache 2.0 等)不兼容。
- 2017 年 7 月 15 日,Apache Software Foundation(以下簡稱 ASF)主管兼法律事務副主席 Chris Mattmann 正式發表聲明稱:Facebook BSD+Patents license(以下簡稱 FB+PL)已經正式被列入 「CategoryX」 列表,因此 Apache 項目中將不能夠包含或依賴於 Facebook Patents license 的代碼;而已經發布的代碼,涉及 FB+PL 許可證的,需要在 8 月 31 號前完成替換。
這一結論一出場便自帶光環,引起了整個社區的關注,包括國內著名社交論壇知乎。當然,其對 Apache 項目自身的影響不比外界的關注度低。
如,雖然 Facebook 已於本月 17 號將 RocksDB 許可證更新為 Apache 2.0 和 GPLv2 雙許可,但更大的問題是 React 也是基於 FB+PL 開源,Apache 的 CouchDB 項目、Apache Superset 項目等都依賴於 React,但是要讓其開發人員在一個月內擺脫對 React 的依賴似乎也不是一件簡單的事情。
到底是什麼原因讓 ASF 對 Facebook 的 FB+PL 許可協議下禁止令?要回答這個問題,需要先分析一下 FB+PL 許可協議。
眾所周知,Facebook 也算是開源社區的中堅力量,截至目前已經發布了很多開源軟體技術,包括使用廣泛的 React.JS 框架和鍵值資料庫 RocksDB。
不過,Facebook 沒有像其他社區一樣,自定義自己的開源許可證,也沒有僅採用現存的開源許可證,而是採用 「BSD+Patents license」 許可證組合授權其大部分項目,該協議組合也被稱為 FB+PL 組合。
其中,BSD 是指 BSD3-clause license,是被 OSI 和 FSF 都認可的開源軟體許可證,也是被業界稱為「寬鬆型」的開源許可證。
正是這個「寬鬆型」的 BSD 許可證附加了專利條款的開源許可協議,已經被 ASF 列為 「Category X」,杜絕了任何以 FB+PL 授權的軟體進入 Apache 項目中的可能性,等於 FB+PL 已被 Apache 明確打入冷宮。
FB+PL 協議中,BSD3-clause license 本身沒有問題,問題自然就出在 Facebook Patents license,即 Facebook 開源軟體組合協議 FB+PL 中的附加專利許可條款。
以下是 Facebook Patents license 條款內容:
Additional Grant of Patent Rights Version 2
"Software" means the React software distributed by Facebook, Inc.
Facebook, Inc. ("Facebook") hereby grants to each recipient of the Software
("you") a perpetual, worldwide, royalty-free, non-exclusive, irrevocable
(subject to the termination provision below) license under any Necessary
Claims, to make, have made, use, sell, offer to sell, import, and otherwise
transfer the Software. For avoidance of doubt, no license is granted under
Facebook's rights in any patent claims that are infringed by (i) modifications
to the Software made by you or any third party or (ii) the Software in
combination with any software or other technology.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. Notwithstanding the foregoing, if Facebook or any of its
subsidiaries or corporate affiliates files a lawsuit alleging patent
infringement against you in the first instance, and you respond by filing a
patent infringement counterclaim in that lawsuit against that party that is
unrelated to the Software, the license granted hereunder will not terminate
under section (i) of this paragraph due to such counterclaim.A "Necessary Claim" is a claim of a patent owned by Facebook that is
necessarily infringed by the Software standing alone.A "Patent Assertion" is any lawsuit or other action alleging direct, indirect,
or contributory infringement or inducement to infringe any patent, including a
cross-claim or counterclaim.
就是以上這段不算長的附加專利授權條款,讓不少開發者甚至開源社區組織顧慮重重。
對開源運動有了解的人可能都知道,開源社區對專利非常敏感,甚至有開源大佬和前輩毫不掩飾對軟體專利的厭惡和痛恨。更甚者,國外有專門的反軟體專利組織,但畢竟專利制度是很多國家的法律制度,不可能受某個人或某一個群體的人的意見而轉移。
因此,開源社區能做的就是改變自己以及影響自己可以影響的人,所以不少開源軟體許可證都有針對專利的規範條款。
不過,對於 Facebook 附加專利許可協議,開源圈內人士從一開始都不是特別待見。甚至一些反對軟體專利的人認為 FB+PL 協議關於專利的授權,擁有這樣的專利授權比沒有這樣的授權更糟糕。
究其原因,從以上 Facebook Additional Grant of Patent Rights(附加專利授權條款)可以看出,該協議是一個單邊優惠協議,授予人和被授予人的權利不平衡。
簡單說就是基於 FB+PL 授權的軟體使用者以及基於 FB+PL 開發衍生代碼的開發者,與 Facebook 的權利不平衡。一旦被許可人對 Facebook 及其子公司甚至關聯公司提出直接的或間接專利訴訟,無論該訴訟是與所涉及項目有關還是無關,亦或是硬體專利訴訟,甚至是 Facebook 主動提出的專利訴訟而被告者進行的專利反訴,該協議授予用戶的專利權利即刻自動終止。
另外,2015 年 4 月 10 以前,Facebook Additional Grant of Patent Rights 第一版中,針對 Facebook 任何形式的訴訟,包括反訴、以及與專利無關的訴訟,都會導致基於該協議的專利授權自動終止。後來由於社區人員對該條款爭議較大, Facebook 進行了修改,也即是目前的第二版。
值得一提的是,在眾多的開源許可證中,有專利權利終止以及許可證權利終止條款的許可證並不少見,例如,Apache2.0 以及GPLv2/v3 都有關於權利終止的條款約束。之所以 FB+PL 會有如此強烈的反應關鍵有兩點:
- FB+PL 專利終止條款過於寬泛;
- FB+PL 專利條款使得被授予者與 Facebook 之間的權利不平衡。
從另一個層面上講,Facebook 附加專利授權條款的存在也不是全無道理,畢竟開源軟體無時無刻不在承受著來自軟體專利的威脅。儘管這些年軟體專利沒有成功將開源運動送入墳墓,反而使其不斷壯大,而開源社區對專利的排斥和恐懼卻已深入骨髓。
Facebook 作為開源領域一員猛將,並且已經開源了大量的代碼和技術,將所有可能導致侵權的專利技術授權給用戶。另一方面,為了自身防護的原因,想辦法建立一種自保的機制也在情理之中,畢竟誰都不想成為被魚肉被屠宰的一方。
整體來講,Facebook 附加專利授權條款是一個帶有嚴格的懲罰性措施的協議,其嚴厲性特別表現在其第一版,雖然在第二版中,將訴訟範圍限定於專利訴訟,但在許多人看來其範圍依然是過大。
Facebook 附加專利授權條款有一種過激的表現,但是如果你能想像一個剛剛嶄露頭角的少年,還未有可觀的積蓄(專利),在群狼環嗣,個個武裝到牙齒的對手面前,那種本能的警惕,也許會對 Facebook 多少有點理解。
畢竟,即便 Facebook 附加專利授權條款在嚴格,對於個人開發者,以及不喜歡搞專利訴訟的組織來說,大家彼此相安無事,也不失為一件好事。
就我個人來講,我對 Facebook 之於開源的真誠性是認可的。
目前,雖然「 開源軟體 」和「 自由軟體 」兩種哲學理念還存在分歧,但很多社區以及組織包括像 Facebook 這樣自我保護略顯偏激的組織,都是開源/自由軟體理念真誠的踐行者。還有一部分像微軟一樣「從良」的,也為開源做了不少貢獻,像這種老牌的商業公司背負了太多的包袱,一下子轉身可能性不大。
當然,渾水摸魚以及投機的分子也肯定不少。不過,開源是軟體開發的未來趨勢和必然走向,開源理念不僅避免了重複開發中時間、人力和資金了浪費,更是智力共享、集體智慧的完美實踐。
因此,雖然目前開源運動還存在著種種的衝突和矛盾,但就像所有的新生事物一樣,從萌芽到成長再到成熟都會有一個過程,而在這個過程中磕磕絆絆在所難免。
整體上說,這次 Apache 對 Facebook 附加專利授權條款下禁止令,只是開源運動在一件小事,而開源的生命力正是在這種碰撞、衝突和磨合中逐漸顯現,慢慢成熟。
(題圖:react-etc.net)
作者簡介:付欽偉,專利代理人、專利諮詢師,任職於集慧智佳知識產權諮詢公司。研究生選專業「誤入歧途」,進入高大上的知識產權領域,目前從事專利諮詢分析工作,勵志為中國知識產權事業拋頭顱、灑熱血。
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive