開源與 「半開源」 之間的戰爭和軟體的歷史一樣久遠
![](https://linuxstory.org/wp-content/uploads/2024/06/102124xk99zn7vaw997564-800x400.jpg)
在加利福尼亞蒙特利召開的 Linux 基金會成員峰會 上,最受關注的議題是人工智慧和開源。而第二重要的話題涉及到 HashiCorp 放棄 Terraform 的 Mozilla 公共許可證 (MPL),轉而採用 商業源代碼許可證 (BSL)1.1,以及由此引發的 OpenTofu 項目復刻。因 Linux 基金會對 OpenTofu 項目的支持,HashiCorp 的 CEO David McJannet 表現出極度的不滿。
關於許可證切換、源代碼復刻以及由此產生的爭議,火熱的討論並未減少。但在我看來,有一點被人們忽視:人們一直誤認為這是新鮮事物,實則不然。
之前已經有過不止一次,甚至不止十次,公司將開源代碼轉變為專有程序,或者隱藏在一個專有的包裝中。
首先,人們經常拿走開源代碼,但卻抹去其許可證信息,然後就此繼續下去。雖然這並不一定構成竊取行為,實際上,有些許可證,比如 MIT 許可證和兩句版 BSD 許可證,完全允許公司和開發者在他們的專有程序中使用這些代碼。例如,我們都熟知以下基於 MIT 許可證的程序,比如 Angular、.NET、Node.js、Ruby on Rails 和 React。
其次,有一些程序最初以開源的形式開始,但隨著時間的推移,原始所有者和許可證規則發生了變化,以至於許多人甚至都不知道它們曾經是開源的。舉例來說,蘋果公司的 macOS 就是其中的一個典型。
你是否知道 macOS 曾經是開源的?確實,它曾經是。
macOS 的核心基於 Darwin,這是一種 Unix 操作系統。 史蒂夫·喬布斯 回歸蘋果公司時,引入了他的基於 Unix 的 NeXTStep 操作系統。到了 2000 年,蘋果公司逐步放棄了他們的經典 Mac 操作系統,轉而支持 macOS Darwin。除了來自 NeXTStep 的部分,Darwin 還大量借鑒了開源的 FreeBSD 和 Mach 操作系統的設計。
如今,如果你深入研究,仍然可以在 macOS 中找到 Darwin,它在 蘋果公共源代碼許可證 2.0 下開源。雖然還有一項名為 PureDarwin 的工作正在努力製作一個獨立的 Darwin 操作系統,但進展甚微。在這個過程中,蘋果公司巧妙地減弱了一個重要的開源操作系統的影響力。更為常見的方式是開源軟體以 「 開放核心 」 的方式融入商業程序中。簡而言之,開放核心,與開源不同的是,這是一種商業模式。在這種模式中,公司基於一個免費的、開源的核心程序,然後通過加入商業版本或者專有的附加組件來發展。
此術語由 Andrew Lampitt 在 2008 年提出,雖然代表的並不是一個新的概念。他提出這個術語是為了替代混亂的術語 「 雙重許可 」。這個命名更改是為了 「消除誤解,推廣一個對於開源社區、付費客戶和供應商都有利的商業模式」。同時,其目標也是為了消解我們現在在 HashiCorp 看到的 「 誘捕並切換 」 類似的爭議。
儘管我們可以辯論這是否是一個 「出色的商業模式」,但無可爭議的是它已經成為一個非常流行的模式。然而,近年來,我們看到的趨勢是,許多企業從開放核心模式退回到 源碼可得 模式。在源碼可得模式下,你可以查看所有的代碼,但在某些情況下你不能修改或使用它。
例如,MongoDB 創建 了一種非開源許可證,即 服務端公共許可證 (SSPL),以應對那些通過提供自託管版本和服務從其代碼中獲利的超級雲計算公司。
並非只有 MongoDB 做出了這樣的決定。Elastic 在開源核心模型運作的很好,但當亞馬遜 AWS 等公司通過提供 ElasticSearch 服務賺取巨額利潤時,Elastic 在 2021 年做出了 策略調整。它放棄了開源的 Apache 2.0 許可,轉而採用非開源的 SSPL 和 Elastic 許可證。
Elastic 和其他幾家公司(如 Redis 等)的此類做法,主要目的是阻止雲服務公司將他們的開源程序作為一種服務而提供。然而,這個做法反過來對 Elastic 產生了負面影響,因為 AWS 對這個項目進行了 復刻。這一切是否讓你想起了 HashiCorp?是吧。
儘管這些向非開源許可的轉變惹怒了一些用戶和很多開發者,但這些公司的業績仍表現相對穩定。你可能對此感到不滿,但事實是,對於這些公司來說,這種轉變在一定程度上取得了成功。
接著,我們來看紅帽公司的情況。紅帽公司對其紅帽企業 Linux(RHEL)代碼的使用 施加了限制,只允許其客戶使用。幾十年來,紅帽公司一直在權衡作為開源領導者與處理 RHEL 克隆產品(例如 CentOS,以及最新的 AlmaLinux 和 Rocky Linux)的關係。
隨著時間的推移,紅帽公司對與他人共享其代碼表現出越來越大的猶豫。現在,你可以(且很多人確實正在這麼做)辯論紅帽公司不再是一個真正的開源公司。批評者認為,紅帽公司雖然仍然嚴格遵守 GNU 通用公共許可證(GPL)的條款,但已經失去了開源精神。
雖然 RHEL 和與其相關的一系列程序仍在產生可觀的利潤,但紅帽公司希望能夠從中獲取更多的收益,因此,它也開始逐步偏離開源原則。
實際上,所有這些案例的共同之處在於:對更大財富的慾望。如聖經所言,「貪財是萬惡之根」。我不確定這一句話的真假,但我確實知道,對金錢的熱愛和開源原則很難兩全。
對於從開源軟體中賺錢並沒有錯誤之處。 理查德·斯托曼 (RMS)曾言:「工作尋求報酬,或者尋求儘可能增加收入,這並沒有錯,只要不採用破壞性的方式即可。」 然而,在 RMS 看來,「通過限制它們的使用來從程序的用戶中擠取金錢,是一種破壞行為。」
儘管在現今開源軟體與商業實踐交匯的情況下,RMS 的觀點可能並不如過去那樣深受歡迎,但他仍然擁有眾多的支持者。
(題圖:MJ/b06e9a62-5c0d-49c5-a7b3-fd5af60ac0b1)
via: https://www.theregister.com/2023/10/27/open_source_vs_sort_of_open_source/
作者:Steven J. Vaughan-Nichols 譯者:ChatGPT 校對:wxy
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive