農林漁牧網

您現在的位置是:首頁 > 林業

開源怎麼了?為什麼連發起人都“嫌棄”它?

2022-09-03由 開源中國 發表于 林業

毛的甲骨文為什麼那麼寫

出品|開源中國

文|lola

說起 Bruce Perens 大家可能不熟,但他是 OSD (Open Source Definition)的撰寫人以及 OSI (Open Source Initiative)的聯合創始人。

看看《Bruce Perens 二三事:真正的強者,剽悍的人生》這篇文章,你就會發現他從沒離開過開源。如果說誰有資格說開源哪裡出了問題,絕對少不了他一個。

事實上,他也的確這麼總結過。從 1983 年 GNU 計劃誕生,開源(廣義上包括自由軟體)已經走過了近四十個年頭,開源運動是成功的嗎?又有什麼問題?我們該怎麼解決?

在 DebCon2020 (Debian 開發者大會)上,Bruce Perens 就做過這樣一個演講,將開源過去和現在的問題剖析了出來,意圖開啟“後開源時代”。接下來,本文就將此次演講的內容整理出來,希望能對讀者有所啟迪。

“開源”之後,會發生什麼?

開源怎麼了?為什麼連發起人都“嫌棄”它?

01 “開源”走了近四十年,既有好訊息,又有壞訊息

首先,無論如何“開源”會繼續下去。

不管出現了什麼,“開源”並不會被替代。相反,應該是以一種完全嶄新的正規化呈現。而“開源”則會以今天的面貌繼續下去。畢竟,如果“開源”被推翻了,一定會引起人們的憤怒。

其次,開源“繼任者”,會是全新的。

這個正規化將與“開源”並行不悖,既非之前定義的“開源”,也不是自由軟體,而是一個從未出現的全新事物。這個正規化試圖去達到那些“開源/自由軟體”曾想要達成卻失敗了的目標。

最後,是時候去評估“開源”的表現了。

GNU 運動首次宣言是在 1983 年 9 月 27 日,是 37 年前!Debian 和其自由軟體指南是在 1997 年 6 月,是 23 年前!OSI (Open Source Intiative)是在 1998 年 2 月 7 日,是 22 年前!

PS。該演講的時間為 2020 年

我們已經發展了完全足夠的時間,是時候來評估一下我們所達成的成就了。總的來說,“開源”既有好訊息,又有壞訊息。

其中,好訊息是:

1、“開源”在軟體領域的統治已經達到了令人咋舌的程度。所有程式設計師和使用者都不能避免接觸開源軟體。

2、開源軟體的發展空前繁榮,優質且數量驚人。

3、許多人已經從生產開源軟體中賺到了錢。

4、開源軟體服務了範圍廣泛的行業,這些行業是開源發展的重要參與者。這個過程替代了之前所存在的合作聯盟形式。

壞訊息是:

1、我們正在對開源受到的損害“視而不見”

“開源”在諸多方面已經“受損”,但在過去十年裡,我們沒有采取任何行動,反而不斷去合理化這些“損害”。

修補“開源”並不能解決問題。

只有透過創造新正規化的方法才有可能有效,這個新正規化要從根本上區別於“開源”。

2、“開源”與商業結合,真的那麼絲滑嗎?

“開源”最根本的目的是融合商業這股不同力量,商業聚集了財富和能量。但結果是,

“開源”成功融入了商業,卻忽視了其他的目標

。這些目標可以追回至 1983 年 Richard M。 Stallman 所闡述的“自由軟體”,它應該是關於自由、關於人民福祉的。

然而,這些“開源”應有的優良品質,從未在大範圍內產生影響。但如今,我們越來越需要那些品質了。

3、“開源”真的對普羅大眾有幫助嗎?

儘管“開源”已經被大眾廣泛使用,但大多數人並不瞭解開源,他們只是利用“開源”服務於他們自己的目的。例如,利用開源裝置和服務來收集使用者資訊,用於商業目的,從而操縱使用者。

人們不選擇使用“開源”,並不是他們的錯,是我們沒能滿足他們的需求。

在公民權利方面,我們能做的比我們已經做到的,要多得多得多。透過軟體的分發和服務來滿足人們的需求,並且充分尊重公民權利,

這些都是商業不能做到的

。然而,今天“開源”僅僅做到了絕少部分。

千萬不要使用“非技術使用者”(non-technical users)這個詞,人類本身就是基因工程師的傑作,這是一種不同型別的技術。

02 “開源”一直存在“行乞問題”

開源開發者創造的開源軟體,支撐著現有整個技術世界的執行。就憑這點,我們就應該得到不錯的報酬。

但是,開源開發者卻處於被動地位,是“乞討者”。他們不得不伸手去要。

“請讓我為你的(掠奪型)公司工作以獲得報酬,好讓我能夠繼續寫開源軟體。”

“請在眾籌平臺上贊助我。”

……

其中,最典型的一個例子是:OpenSSL 承載了絕大多數的金融業務的運作(不僅是網路上的),一個叫做 Ben 的傢伙,他為 OpenSSL 工作,卻沒得到過一毛錢。

*OpenSSL 是非常流行的加密程式庫,被譽為世界上最重要和最受依賴的開源專案之一。這裡的 Ben 應該是指 Ben Laurie,是 OpenSSL 最初團隊的成員之一。

隨後,OpenSSL 遭遇到危機幾近破產,是 Linux 基金會在 2014 年的介入挽救了它。事情不應該是這樣的。

*2014 年,OpenSSL 釋出重大漏洞 “Heartbleed”,這場危機讓這個著名的開源軟體陷入困境。隨後,Linux基金會在極短的時間內就成立了核心基礎架構聯盟(CII, Core Infrastructure Initiative),主動挑選缺乏資金的重要開源專案進行資助,OpenSSL 是他們資助的第一個專案。

開源怎麼了?為什麼連發起人都“嫌棄”它?

以上這張圖非常形象地說明了這個問題:現代電子資訊科技的基礎設施被一塊很小、很薄弱、很隨機、很不被重視、很無法收到回報的專案和人支撐著,這是很危險的。

開源和自由軟體已經為一些人帶來了十分可觀的財富,但

多數財富並沒有流向開發者本身。

為了社會大眾的自由和財富而奮鬥是個不錯的使命。但

為了讓 Jeff Bezos (亞馬遜創始人,有名的富豪)更加富有、自由和有權勢,顯然就意義不大了。

開源開發者們儘管一直在奮鬥,但並不會享受到與 Bezos 一樣的東西。

03 “開源”正在代表有權勢的大企業們,而不是我們自己!

Linux 基金會指導委員會都是誰?

Gitlab、Google、AT&T、Facebook、Samsung、Qualcomm、VMWare、Miro Focus、Microsoft、Panasonic、Renesas、Hitachi、IBM、NEC、Fujitsu、Intel、Comcast……

這簡直就是本末倒置!

其中,Qualcomm 曾經讓我非常困擾,當時我在 ETSI 標準組織代表 OSI (Open Source Intiative),Qualcomm 就因為不想透過開源的 ETSI 免版稅標準而與 OSI 產生過爭執。在 Linux 基金會的掌管者與開源開發者之間總是存在衝突,這僅僅是體現雙方利益立場不同的其中一例。

而且,強勢的公司制定著我們的政策。

Linux 基金會去除了僅有的一個“社群成員”董事席位。我記得,過去十年左右,Linux 基金會董事會的成員中有一個公司,曾經在他們的主要產品中嚴重侵權了 Linux 核心,而且現在仍是。

Linux 基金會已經停止與合規教育相關的動作,且正在撤資這個領域。然而,在多數公司中,如果沒有強制力,他們是不會重視合規性的。比如說,因為參與 VMWare 侵權訴訟案,SFC(Software Freedom Conservancy)就曾被撤資。

*2006 年,Christopher Helwig(著名 Linux 開發者) 發現 VMware ESX 裸金屬虛擬機器(VM)虛擬機器管理程式中違反 GPL 許可協議使用了 Linux 原始碼。2015 年 Christopher 在軟體自由保護協會(SFC)的幫助下起訴了 VMware,而 2016 年,法院駁回了該訴訟請求,之後 Christopher 上訴,但最終還是被駁回。

04 新的問題:API 版權問題

關於甲骨文起訴谷歌的案件中,API 的版權問題被提了出來。目前,沒有任何案例推翻“API 版權”這一說法。

*2010 年甲骨文以 74 億美元收購了 Sun,Java 也隨之為甲骨文所有。同年,甲骨文便起訴谷歌,認為谷歌侵犯了關於 Java 語言的版權,並索賠 88 億美元。其中,涉案的是谷歌自己編寫的 37 種 Java API 。一時間,關於 API 是否享有版權的問題甚囂塵上。

2021 年 4 月 5 日,美國最高法院以 6 票支援 2 票反對,判定谷歌並未侵權,自此甲骨文和谷歌之間關於安卓系統 Java 原始碼侵權案終於塵埃落定。

裁決結果沒有直接否定 API 可以享有版權的事實,但它明確地表示了,根據版權法中“合理使用”的原則,API 擁有者並不能隨意阻止其他開發者使用其 API 來構建新程式。

在著名的 ALTAI 案中,(美國法院)在理論上確立了一個標準,去規定什麼是可以、什麼是不可以受到版權保護的。這也表明了越來越多的東西可以被納入到版權範圍內,這為 API 版權提供了合理的事實依據。

*1992 年,CAI(Computer Associates International, Inc。)訴訟 ALTAI 一案(也就是著名的 Altai 案)中,一開始地方法院判定被告侵犯原告名為 CA-SCHEDULER 的受版權保護的計算機程式,被告未上訴。

隨後,CAI 進行第二次版權侵權索賠,法官發現 Altai 的 OSCAR 3。5 程式與 CA-SCHEDULER 中稱為 ADAPTER 的部分實質上並不相似,因此拒絕給予救濟。

最後,地區法院得出結論,CAI 對阿爾泰的州法律商業秘密盜用索賠已被聯邦版權法取代。

在該案件中,第二巡迴法院採用“抽象-過濾-比較”三部分測試(又稱抽象測試法、三步法標準)來分析計算機軟體中的非文字侵權索賠。這一新確立的方法和思想為後來人所借鑑。

(如果 API 版權成立,)API 版權將限制我們使用那些被公司掌握所有權的 API,而這在之前是可以不被追責的。想象一下,我們不能再使用 C Compiler,因為 C 語言是一種受版權保護的 API。隨著下一個重量級語言的到來,這完全有可能發生。

事實上,API 版權會讓類似 GPL 的系列許可證,更加具有強制力,特別是在有關於動態連結的領域,或者任意一類軟體元件。這並不是我們所期望的。

我們需要免責地、自由地使用 API,而不是讓 GPL 變得更具效力。

05 軟體專利仍然是個問題

“開源運動”在 21 世紀的頭十年裡所贏得的美國專利質量提升的局面,已經被扭轉過來了。開放創新聯盟(Open Invention Network,縮寫為 OIN)為了保護軟體專利系統不受“開源革命”的影響而存在,同樣地,它也保護了 Linux 免受軟體專利的影響。

*開放創新聯盟(OIN)成立於 2005 年 11 月,OIN 成立時獲得了谷歌、IBM、NEC、飛利浦、索尼、SUSE 和豐田等企業的大力支援。它旨在確保開放原始碼的專利權,讓 Linux 平臺能持續發展,同時也可望提升專利的品質,淘汱不良的專利,是史上最大的專利保護社群,支援開源軟體 (OSS) 關鍵元素 Linux 的自由開發環境。

近年來,其成員範圍不斷擴大,我國的華為、騰訊、小米、嗶哩嗶哩等公司都已加入。加入 OIN 社群的組織都能以免許可費的方式獲得 OIN 專利許可和社群成員交叉許可。

誰控制著 OIN?

OIN 擁有投票權的成員是一些世界上最大的專利擁有者:谷歌、IBM、NEC、PHILIPS、索尼、豐田…… 當然,其中的 SUSE 算是個例外。這些大公司的利益受到版權制度的保護,讓他們從“開源”中受益。

開源怎麼了?為什麼連發起人都“嫌棄”它?

此外,我們幾乎沒法抵抗專利帶來的威脅。

1)在這些專利壟斷者的面前,我們無法建立去一套有效的防禦措施。甚至,我們無法用我們自己的發明去申請專利。

2)對於不奉行專利這一套的個體或團隊,OIN 無法提供任何有效保護。

3)我們也支付不起上法庭以保護自己權利的費用,如果我們不透過“行乞”或者求助大型法律機構的方法的話。

你想透過許可證來滿足這個需求,你先得保障你能有效地實施這個許可證。這意味著你需要有能力起訴侵權者。否則,還不如將你的軟體放在公共領域,反正不管怎樣它都會發揮應有的作用。

自由/開源軟體開發者支付不起這個訴訟成本。

06 開源合規性是一把爛攤子

在“開源”這個正規化中,沒有強調和針對合規性。結果是,合規性的實施變得昂貴,不少嘗試去做這件事的人都被勸退了。

企業使用的合規性工具十分“惡臭”。

類似 WhiteSource 這樣的工具不會費力去辨認其他原始碼中會不會有哪怕一小段程式碼是來自開源軟體的。在其營銷理念中,掃描檢測是個壞主意。這個工具才不會告訴你你的工程中是否存在任何與開源專案相關的原始碼。

*WhiteSource 是管理開源元件的一站式安全、許可和質量的解決方案。它可以準確檢測所有開源許可,包括庫的許可,自動化強制實施在新加元件上的許可政策。使用者因此可以阻擋不期望的元件進入自己的軟體。

Black Duck 和 Revenera 是個更好的選擇,但它們十分昂貴。就我個人經歷而言,這些工具無法很好地處理大型產品的掃描需求。

* Black Duck 是管理使用開源軟體風險的工具;而 Revenera 是管理開源許可證合規性和安全性的工具。

在公司的軟體架構中部署 Black Duck 或者 Revenera,需要花費整整一年時間,因為掃描功能日常運作之前會涉及到軟體分類、定義開源軟體以及錯誤結果處理等。一年的時間去部署,可是非常奢侈的。

07 太多太多的許可證了

大多數新興的開源許可證沒有什麼價值,它們的價值都不能抵消其成本。

許多已經透過(OSI)認證或者候選的許可證,並沒有站在使用者或開源開發者的利益立場上。其中大多數都被設計用來支撐單一的開發主體,去讓創造它的公司受益。

許可證認證走在錯誤的方向上。

目前的 OSI 董事會政策正在將開源許可證擴充套件為“綜合”原始碼,越來越多的許可證被採用和認證。這代表了誰的乳酪?我能吐槽 OSI 的問題一整天,現在我只說最糟的地方是:

1)OSI 接受了太多有問題的許可證了,他們甚至還想加快速度去認證更多的!

2)OSI 成立了一個委員會以替代 OSD。

3)取代 OSD 這樣一個優秀的正規化以代之一個獨立、全新的,是個餿主意。在運作 22 年以後,再去改變“開源”,會讓很多人感到失望,還會潛在地扼殺“開源”這一金字招牌。

*2020 年 1 月,在認定 OSI 不尊重自由之後,Bruce Perens 提出辭職。

2019 年,律師 Van Lindberg 代表分散式開發平臺 HoloChain 起草了一個名為“密碼自治許可證(Cryptographic Autonomy License,CAL)” 的軟體許可證,並將其提交給開源促進會 OSI 審批。

當時,關於是否批准 CAL 許可證引起了 OSI 內部的爭論。據說,起草 CAL 的律師 Van 遊說了 OSI 董事私下批准 CAL,而這違反了應該在公共場所進行批准程式的規則。

這件事也成為了 Bruce Perens 離職 OSI 的導火索。

Bruce Perens 的一點建議

“開源”的問題越說越多。最後,Bruce Perens 向我們描述了一種非常夢幻的“開源理想國”—— 建立 Coherent Open Source (LicenseUse。org)以取代 OSI,成為新的推進開源者。

在他的構想中,Coherent Open Source 應該:

1)只保持 3 種具有重要特徵的許可證,未來只在需要的時候去更新這 3 個許可證的內容即可。所有的 The Coherent Licenses 都:

透過 OSI 和 FSF 雙認證;

互相彼此相容;

每一個許可證都包含一條針對專利的條款;

每一款都針對不同的商業目的;

至少有兩種是被商業公司所接受的。

而他認為有必要留下來的 3 個許可證分別是:

Apache 2.0、LGPL3 和 AGPL3。

這樣就可以減少許可證的複雜程度,使得開源許可證互相之間的適配,讓合規操作更簡單。

開源怎麼了?為什麼連發起人都“嫌棄”它?

2)保持傳道工作,去完成那些開源和自由軟體沒有達成的目標,那些美好且理想的目標,比如自由。

3)去中心化的委員會,減少官僚性質的機構。

4)讓開發者賺錢!並不是說讓開發者起訴侵權者來賺錢,而是代表自己來獲得經濟收入,而不需要“行乞”。