當前位置: 妍妍網 > 碼農

Redis「叛逃」開源,得罪了幾乎所有人

2024-05-09碼農

來源:51CTO技術棧 整理丨諾亞

記憶體資料庫供應商Redis近日在開源界砸下了一塊「巨石」。

Redis即將轉向雙授權模式,並實施更為嚴格的授權條款。官方對此次變更的公告直截了當:

從Redis 7.4版本開始,Redis將在Redis源可用授權(RSALv2)和伺服器端公共授權(SSPLv1)下采用雙重授權。

截圖來自:https://redis.com/legal/licenses/

在此之前,Redis的原始碼是在BSD 3條款授權下提供的,這是一個允許開發者無需付費即可進行商業用途的寬松授權。

雖然官方強調「Redis原始碼將繼續透過Redis社群版免費提供給開發人員、客戶和合作夥伴」,但收緊開源授權的舉措依然引發了絕大多數人的不滿。

# 不是第一次變更,替代方案已經就緒

這不是Redis首次更改其授權條款。早在2018年,它就對其部份模組的授權進行了調整,當時這種調整就令不少開源界知名人士感到不滿。

在那之後不久,另一家大型NoSQL資料庫供應商MongoDB也改變了其授權,試圖減少其程式碼被商業利用的情況。MongoDB建立了一個名為伺服器端公共授權(SSPL)的新授權,該授權並不受到一些開源社群成員的歡迎。即便如此,幾年後,Elasticsearch也采用了SSPL,再次引發了某些開源純粹主義者的失望。

現在,引起爭議的SSPL正是Redis在其雙授權策略下采納的兩個授權之一,另一個則是自2018年起用於部份模組的同款RSALv2授權。

這一變更將從Redis 7.4版本開始生效,業內人士預計多個Linux發行版將會從它們的程式碼庫中移除Redis。關於此問題的討論已經在openSUSE和Fedora信件列表上開始了。

然而,預料中的影響可能是溫和且暫時的,因為已經存在替代方案,例如仍然采用BSD授權的分支KeyDB。此外還有微軟的Garnet,盡管其缺點在於它是用C#編寫的。

另一個Redis替代品Dragonfly不太可能成為主流選擇,因為它遵循BSL授權,這是HashiCorp最近所采用的授權模式。

對於Redis的決定,可以預見的一種回應類似於HashiCorp的Terraform所經歷的情況:Terraform的程式碼被分叉並形成了OpenTF,後來更名為OpenTofu。

# 本欲「制裁」雲廠商,但幾乎所有人都感覺「被背叛」

Redis官方顯然也預見到了這一變更會引起的爭議。因此在官方聲明中,盡可能地解釋變更後主要的影響物件實際是——托管 Redis 產品的雲服務提供商,並旗幟鮮明地指出:

「Redis 的大部份商業銷售都是透過最大的雲服務提供商進行的,這些提供商將 Redis 的投資及其開源社群商品化。盡管我們努力支持社群主導的治理模式,並且我們希望維護 BSD 授權證,但同時交付多個軟體發行版——跨開源、原始碼可用以及針對不同本地和雲平台最佳化的商業軟體——與我們成功推動 Redis 走向未來的能力不一致。」

「根據新授權證,托管 Redis 產品的雲服務提供商將不再被允許免費使用 Redis 的原始碼。例如,雲服務提供商只有在與Redis程式碼的維護者Redis同意授權條款後才能交付Redis 7.4。這些協定將支持現有的整合解決方案,並提供對即將到來的 Redis 創新的完全存取。」

在常見問題解答中,也強調了三個「沒有變化」。

1.「對於使用 Redis 開源版本的 Redis 和使用雙授權證供其內部或個人使用的新版本的終端使用者,沒有變化。」

2.「對於使用 Redis 構建客戶端庫或其他整合的整合合作夥伴,沒有變化。」

3.「對於 Redis 的商業客戶,沒有變化。這些客戶根據單獨協商的授權條款獲得我們的技術。」

但實際上,並沒有多少人對此買賬。畢竟連Redis自己也不得不承認:「這一變化意味著 Redis 不再是 OSI 定義下的開源。」

截圖來源:https://redis.com/blog/redis-adopts-dual-source-available-licensing/

# Redis也許在「自掘墳墓」,大多數人會轉向分叉版本

在相關事件的評論下,有網友一針見血地指出:最終受到傷害的不會是大型企業團隊,而是廣大使用者。

「個人認為要麽保持程式碼專有,要麽堅持采用‘Apache 或 MIT’授權……這種半途改變授權合約的做法真的很糟糕,看起來註定會適得其反。無論喜歡與否,Redis一直是一個采用寬松授權的開源計畫,這也是它取得成功的原因。改變這一點就意味著在這個層面上改變了遊戲規則,並預示著未來所有相關人員都將面臨不良後果。」

此外,還有人提到Redis此舉頗有「自掘墳墓」的味道。

「在我看來,這一舉動可能會像Hashicorp面臨的困境一樣重創Redis Labs,並且無法阻止任何人剽竊Redis Labs的成果,真正受苦的其實是那些只想無拘無束地使用Redis緩存的小型創業公司。而對於AWS來說,分叉Redis完全可行,他們甚至可以將分叉後的版本采用更寬松的授權合約,這樣一來,Redis Labs突然間就在授權方面變成了較差的選擇。」

當然,也有人表示理解,但理解並不等於認同。

「我能理解他們為什麽這樣做,只是不同意這種方式能長期有效。大多數Redis使用者,包括我在內,從未向Redis背後的公司支付過分毫。因此,我能理解他們這麽做是為了賺取一些利潤。但是,這並不會改變我的行為;我會轉而使用分叉版本。

就像絕大多數其他的Redis使用者、外部Redis貢獻者、當前所有提供商業Redis服務的雲服務商一樣,估計到這一過程結束時,許多現有的Redis員工也會加入其中……要點在於,這件事最終只會有一個結果:那就是出現一個Redis分叉版本,被當前絕大多數Redis使用者所采用。」

參考連結:

https://www.theregister.com/2024/03/22/redis_changes_license/

https://redis.com/blog/redis-adopts-dual-source-available-licensing/

https://news.ycombinator.com/item?id=39772562

熱門推薦