Redis之父宣佈“Redis再次開源”!網友:騙我一次,算你狠;騙我兩次,是我蠢

作者|冬梅、核子可樂
剛剛,作為廣受歡迎的鍵值資料庫背後的締造者,Redis 公司已經將其同名產品重新拉回開源陣營。不過此舉仍未能將某些批評者完全滿意。
時隔一年,Redis 重新開源
Redis 方面表示,自 Redis 8 開始將把 GNU Affero 通用公共許可證(AGPL)作為 Redis 的附加許可選項,且正在轉向由開原始碼倡議(OSI)認定為開源的許可模式。也就是說,去年 3 月其轉向伺服器端公共許可證(SSPL v1)的退出開源決策如今正被逐步撤銷。
使用者可以選擇以下三種許可證選項之一來使用 Redis Open Source(自 Redis 8 版本開始)及其後續版本:Redis 原始碼可用許可證 v2 (RSAL v2)、伺服器端公共許可證 v1 (SSPL v1) 和 GNU Affero 通用公共許可證 v3 (AGPL v3)。
上個月,Redis 公司 CEO Rowan Troolope 在接受採訪時表示,“目前並沒有任何跡象表明 SSPL 被廣泛認可為一種有效的開源許可證。我們原本希望大家會將 SSPl 視為一種良好的許可證方案,它符合所有條件,甚至 OSI 或許也會重新考慮具體認定。但似乎結果並非如此。”
而如今這一重新開源的決定,是由 Redis 的創始人 Salvatore Sanfilippo 發帖( Antirez)公佈的。有意思的是,Antirez 的原文標題就是“Redis is open source again”
以為為宣告原文:
五個月前,我重新加入 Redis 並很快跟同事們討論起是否該改用 AGPL 許可證。我發現公司內部早就在關注這個問題,不少人都覺得 AGPl 比 SSPl 更好。雖然 Redis 最終還是選擇了 SSPL,但爭議的聲音從未斷絕。
我一直在努力為 AGPL 這派的支持者爭取更多空間。我個人感覺社群其實並沒有真正接受 SSPL。OSI 開原始碼倡議不會接受它,軟體社群也不會把 SSPL 視為開放許可證。很快,我看到公司各個層級都越來越重視這個問題。
說實話,我真心希望自己為全新 Vector Sets 資料型別編寫的程式碼能透過開源許可證釋出。編寫開源軟體已經成為我根深蒂固的習慣,我在整個職業生涯幾乎都在為此而努力。現在我年紀太大了,不太適合改旗易幟。聽起來可能有點理想主義,但我確實是懷著極大的熱情在編寫 Vector Sets,前提就是 Redis 和我的工作成果能夠再次開源。
我很清楚,我們的工作核心只是改進 Redis,持續構建一套良好、實用、簡潔且能夠根據軟體棧需求進行調整的系統。然而,迴歸開源許可證能夠更好地與 Redis 專案定位保持一致、擴大使用者群體接受度,也是為這一人類共同努力的成果做出貢獻的基礎。所以迴歸開源許可證雖然不是我一個人能夠決定的,但我仍然希望自己能為此做出一點努力。今天我高興地看到 Redis 再次迴歸開源陣營,並且遵循 AGPL v3 許可證。
現在是時候迴歸終端了,用我所能寫出的最佳程式碼來表達對於 Redis 使用者的敬意,也希望 Vector Sets 能夠更加實用。我還有不少改進思路,希望大家的反饋能夠激發我更多的想法。總之,開源萬歲!
那麼,Redis 為何要新增 AGPLv3?AGPLv3 與 BSD3 許可證又有何不同?
Redis 公司解釋說,之所以新增 AGPLv3 許可證,是因為之前的許可引發了社群的強烈不滿。
部分社群成員對 Redis 於 2024 年 3 月將專案變更為 RSALv2 和 SSPLv1 雙許可證感到不滿,因為這兩個許可證均未獲得 OSI 批准。Redis 公司變更許可證是為了針對那些使用 BSD3 許可證下的 Redis 7.2 及之前版本,但貢獻有限的託管服務提供商。此次許可證變更迫使這些提供商面臨一個選擇:是按照 SSPLv1 許可證共享原始碼,還是直接放棄 Redis。其中一些人選擇了放棄。
引用 Redis 公司 CEO 2024 年 3 月的博文:“為 Redis 提供競爭性產品的組織將不再被允許根據任何雙許可證免費使用 Redis 的新版本原始碼。如果您正構建的解決方案只是在使用 Redis,但並不與 Redis 本身進行競爭,則不會受到任何影響。”
BSD3 許可證和 AGPLv3 代表著不同的開源許可方式。BSD3 是一種寬鬆的許可證,允許使用者對程式碼進行幾乎任何操作,包括在專有軟體中使用,前提是他們保留版權宣告和免責宣告。
相比之下,AGPLv3 是一種 copyleft 許可證,要求任何修改版本都必須遵循相同的條款分發,並且還要求必須向透過網路與軟體互動的使用者提供原始碼。這項“網路條款”是 AGPLv3 的標誌性特徵,旨在確保 Web 應用程式使用者可以訪問原始碼。
可如果 Redis 未來再次變更許可證,又該怎麼辦?
Redis 公司也承諾以後基本上不會再變更許可證了,他們已經意識到社群的重要性,因為社群是 Redis 生命力的基石。
“目前沒有計劃變更或添加當前的 Redis Open Source 許可證配置。“由於我們將許可證變改為 RSALv2/SSPLv1 的核心目標現已成功實現,因此我們可以更好地滿足 Redis 社群的期望。在選擇 AGPLv3 之前,我們投入了大量時間考慮不同的許可證並分析市場動態。其他公司也已將 AGPLv3 納入其社群的選擇範圍
這裡再次澄清:我們計劃在 AGPLv3 許可證下保持 Redis 開源,我們認為該許可證匹配 Redis 的商業模式,而且許可證穩定性對於社群生態至關重要。我們意識到社群是 Redis 生命力的基石,我們也將永遠秉持這一理念。”
社群反應如何?
Redis 此次變更許可證行為,在社群中引發了熱烈討論。
一位曾經給 Redis 做過貢獻的開發者在 Hacker News 上發帖表示,即使 Redis 公司重新開源了它,但信任已不復從前。
“我曾在 Redis 的原始許可證下貢獻過一個小改進(雖然不大,但我覺得還挺不錯的:p)。後來當 Redis 突然宣佈將許可證變更為 SSPL 時,我便轉向了 Redict。作為一個真正自由 / 開源軟體的貢獻者,我感覺自己被背叛了——如果他們當時改用 AGPL,從道德角度來說,我完全可以接受這種調整(順便一提)。
我非常尊重 antirez,認為他是 FOSS 社群中一位善良、仁慈的成員。但無論 Redis 公司現在或未來宣佈什麼、做什麼,他們已經永遠失去了我的信任。”
一位經歷了 Elastic 和 Redis 兩個許可證變革的 Hacker News 使用者表示:
我們剛剛見證了 Elastic 歷史的重演:一家公司單方面更改開源許可證,社群強烈反對,最終迫使公司撤回決定。諷刺的是,他們兩家公司甚至使用了同樣的說辭來粉飾這場鬧劇——‘雖然艱難,但最終成功了’、‘這實現了我們的目標’。
更可悲的是,它們既沒有建立任何法律約束來防止故技重施,也徹底暴露了管理層的不可信賴。直到發現社群的善意才是生存之本時,才慌忙低頭認錯。但這種事後補救,不過是‘騙我一次,算你狠;騙我兩次,是我蠢’的尷尬局面罷了。
還有使用者表示提到了 NATS 最近也差點就這麼做了。幸好,在 CNCF 和社群抗議之後,他們今天終於妥協了。雖然結果很好,但這完全是一場鬧劇,他們的聲譽也受到了損害。
事實上,更多使用者認為,類似 Redis 公司所做的事情,經常在開源專案中上演。
就拿資料庫領域來說,最初,開發者們懷著理想主義的熱情,基於完全開源的 OSS/FOSS 許可證構建資料庫專案,吸引社群貢獻和使用者增長。隨著專案逐漸成熟,核心團隊往往會成立商業公司,持續投入多年開發,甚至引入風險投資以擴大規模。然而,當專案獲得市場認可後,Oracle、Google、微軟等雲廠商便開始直接託管這些資料庫服務,輕鬆獲取數百萬美元的收益,而原創團隊卻難以從中分得合理的回報。
面對這一困境,開源公司通常會嘗試透過變更許可證來迫使雲廠商付費合作。但這一舉措往往適得其反——雲廠商直接分叉專案,而社群則陷入分裂。
反對者中既有來自雲廠商的員工,也有堅持 FOSS 理念的純粹主義者。最終,在巨大的輿論壓力下,公司不得不撤回許可證變更,繼續陷入“為他人做嫁衣”的惡性迴圈。這一過程不僅消耗了開發者的熱情,也讓開源商業化的道路變得更加艱難。
也就不難理解,為什麼開源專案背後的公司即使最後低了頭,也很難挽回開發者的信任了。
“開源運動的真正成功,在於它構建了人類數字文明的公共基礎設施。然而,超大規模科技企業卻將其異化為一種“數字礦場”——他們貪婪地開採程式碼價值,卻逃避建設與維護的責任。
我們陷入了一個認知陷阱:錯誤地將“開放共享”等同於“強者為所欲為”。
是時候打破這種幻覺了。單純依靠許可證條文已遠遠不夠,我們需要重新思考開源生態的激勵機制、治理結構和抗風險能力。下一代的開放模式必須內建制衡機制——否則,所謂的"開放"不過是科技壟斷者的免費飼料罷了。”
Redis 之父的迴歸,
加快了再次開源的程序
事實上,自去年 3 月份,Redis 公司宣佈更改開源許可之後,社群裡出現了多個 Redis 分支,如 Redict、Valkey 等,這其中最著名的要屬 Valkey,因為它的背後是由 Redis 專案眾多核心開發者支援的,且被 Linux 基金會納入後已經成功推出了首個相容候選版本,它允許現有 Redis 使用者輕鬆遷移到 Valkey,而無需進行向後不相容的 API 更改。
Redis 和社群之間的矛盾已經達到了頂峰。那時候,Redis 之父還沒有迴歸到社群中。
2020 年 Antirez 辭去了 Redis 維護者的職務,此後很長一段時間,他再也沒有看過原始碼、提交訊息或任何與 Redis 相關的東西。但當去年 12 月底,他注意到 Redis 社群出現了分裂,這讓他感到擔憂,因此,他考慮重返 Redis 生態系統,修復企業對於 Redis 社群的態度,幫助將後續的開發重點再次放在 Redis 的核心身上。
在決定迴歸後,Antirez 發了一封博文說明了重返 Redis 的原因。在博文中,Antirez 提到最近幾年生活並不寬鬆,他想給女兒創造更好的生活,因此萌生了重返紐約並找份兼職工作的想法。此前,他在一次視訊通話中向新任 Redis CEO Rowan Trollope 表達了這個意向,並得到了對方的積極回應。
當時,外界對 Antirez 的迴歸充滿了各種猜測。很多人認為,除了家庭原因,一定還有其他更深層次的動機,比如鉅額薪資、私下協議,甚至是對 Redis 更改許可證的不滿
Antirez 本人對此進行了澄清。他表示,是自己主動聯絡了 Redis,而不是公司挖角。他拿到的薪資也是“常規水平”,並沒有獲得額外的特殊待遇,但仍然會獲得跟以前一樣的 Redis 股票期權。
而對於 Redis 切換許可證的決定,他解釋說雖然他自己可能會選擇別的不同許可證,“畢竟我已經遠離專案一線多年了,不太能感受得到業務端的壓力”,但總的來講,他完全可以理解這個決定。
而今天重新開源的決定一齣,似乎從某種程度上說明了他迴歸社群的本質原因——緩和公司與社群間的關係,並將 Redis 重新開源。
最後,我們再次解釋下這三種許可證到底是什麼,以及區別是什麼?
RSAL v2 是由 Redis 公司建立的寬鬆非版權許可證,允許使用者“使用、複製、分發、交付和製作軟體的衍生作品”,且只設兩項主要限制。使用者不得:
  • 將軟體商業化或以託管服務的形式提供給他人,從而向第三方提供軟體的功能;以及
  • 刪除或隱藏任何許可、版權或其他宣告。
RSALv2 不屬於開源許可證。
SSPLv1 是由 MongoDB 建立的原始碼可用許可證,允許免費且不受限制地使用、修改和重新分發,但有一條簡單要求:如果您將產品作為服務提供給他人,則必須同時根據 SSPL 公開發布所有修改版本以及管理層的原始碼。
SSPLv1 基於 GPLv3,被視為 copyleft 許可證。也就是說,如果您使用原始碼並創作衍生作品,則這些衍生作品也必須根據 SSPL 獲得許可並公開發布。
SSPLv1 不屬於開源許可證。
AGPLv3 是由自由軟體基金會 (Free Software Foundation) 推出的開源許可證,專為在網路上執行的程式碼而設計,要求使用者在分發時公開完整的原始碼及其所有修改。
AGPLv3 是一種 copyleft 許可證。也就是說,如果您使用原始碼並創作衍生作品,則這些衍生作品也必須獲得 AGPLv3 許可並公開發布。
AGPLv3 屬於 OSI 認證的開源許可證。
參考連結:
https://antirez.com/news/151
https://redis.io/legal/licenses/
https://news.ycombinator.com/item?id=43859446
宣告:本文為 InfoQ 翻譯整理,不代表平臺觀點,未經許可禁止轉載。
今日好文推薦
 活動推薦
AICon 2025 強勢來襲,5 月上海站、6 月北京站,雙城聯動,全覽 AI 技術前沿和行業落地。大會聚焦技術與應用深度融合,匯聚 AI Agent、多模態、場景應用、大模型架構創新、智慧資料基建、AI 產品設計和出海策略等話題。即刻掃碼購票,一同探索 AI 應用邊界!

相關文章