Redis官宣不再免費!開源界還能活多久?
無聊刷 X 時,剛好著名的《Redis設計與實現》譯者大佬的動態,Redis 真的要拋棄貧賤的開發者,不再開源了嗎?
圖片
其實,早在 19 年我大學畢業時,Redis 就有了行動。
Redis當年增加新的可用源代碼許可證RSAL(Redis Source Available License)。
Redis的開源許可是如何規定的?
圖片
Redis Labs 2018年8月份已經對Redis自建模塊的許可協議進行過變更,由之前的AGPL(Affero GPL),變更為非OSI(開發源代碼促進會)規范的Apache2.0和Commons Clause相結合的許可。
圖片
2018年8月Redis Labs對于Redis及各自建模塊的授權規范。
截至 2024 年 3 月末的模塊許可證:
圖片
BSD是啥?
1979年加州大學伯克利分校發布BSD Unix,被稱為開放源代碼的先驅,BSD許可證就是隨著BSD Unix發展起來的。Redis核心(Redis Core)初期就是BSD。
BSD開源協議是給于使用者很大自由,基本上使用者可以”為所欲為”,可以自由的使用,修改源代碼,也可以將修改后的代碼作為開源或者專有軟件再發布。最新的BSD許可也稱3-Clause BSD,當你發布使用了BSD協議的代碼,或則以BSD協議代碼為基礎做二次開發自己的產品時,需滿足:
- 如果再發布的產品中包含源代碼,則在源代碼中必須帶有原來代碼中的BSD協議。
- 如果再發布的只是二進制類庫/軟件,則需要在類庫/軟件的文檔和版權聲明中包含原來代碼中的BSD協議
- 不可以用開源代碼的作者/機構名字和原來產品的名字做市場推廣
Apache Licence
Apache Licence則是另外一個知名非盈利開源組織Apache基金會所采用的許可協議。目前的版本是Apache Licence 2.0。此前Redis部分模塊就是用該協議許可。和BSD類似,同樣鼓勵代碼共享和尊重原作者的著作權,同樣允許代碼修改,再發布。該協議需滿足:
- 需要給代碼的用戶一份Apache Licence。
- 如果你修改了代碼,需要再被修改的文件中說明。
- 在延伸的代碼中(修改和有源代碼衍生的代碼中)需要帶有原來代碼中的協議,商標,專利聲明和其他原來作者規定需要包含的說明
- 如果再發布的產品中包含一個Notice文件,則在Notice文件中需要帶有Apache Licence。你可以在Notice中增加自己的許可,但不可以表現為對Apache Licence構成更改
AGPL協議
1983年,自由軟件運動的先驅、精神領袖理查德·斯托曼決心要開發一個完全自由的、與Unix完全兼容但功能更強大的操作系統,以便為所有的計算機使用者提供一個功能齊全、性能良好的基本系統,為了把這個系統和UNIX區分開來,他采用“遞歸”方式把它定義為GNU,即:GNU’s Not Unix,一般讀作[gru:]。
1985年理查德·斯托曼又創立了自由軟件基金會(FSD)來為GNU計劃提供技術、法律以及財政支持。GNU計劃開發了一系列知名的軟件,GNU/Linux(或簡稱Linux)、Emacs文字編輯器、GCC編譯器,以及大部分UNIX系統的程序庫和工具。
GPL是GNU最重要的一款協議,全稱是GNU通用公共許可證(GNU General Public License)。GPL要求軟件以源代碼的形式發布,并規定任何用戶能夠以源代碼的形式將軟件復制或發布給別的用戶;如果用戶使用了受 GPL 保護的任何軟件的一部分,那么該軟件就繼承了 GPL 軟件,并因此而成為 GPL 軟件,也就是說必須隨應用程序一起發布源代碼,也因此GPL很難被商業軟件所應用。所以后來GNU推出了LGPL許可證,全稱是:GNU較寬松公共許可證 (GNU Lesser General Public License)。LGPL允許實體連接私人代碼到開放源代碼,并可以在任何形式下發布這些合成的二進制代碼。只要這些代碼是動態連接的就沒有限制。
即不許銷售,不許存在于商業環境。
2024.3.20
就在不久前,Redis 核心模塊聲明:
圖片
Redis從 7.4 開始使用 RSALv2 與 SSPLv1,不再滿足 OSI 關于 “開源軟件” 的定義。但不要搞錯:Redis “不開源” 不是 Redis 的恥辱,而是“開源/OSI”的恥辱 —— 它反映出開源組織/理念的過氣。
開軟軟件自由的頭號大敵
是云計算服務!“開源” 與 “閉源” 也不再是軟件行業的核心矛盾,斗爭的焦點變為 “云上服務” 與 “本地優先”。公有云廠商搭著開源軟件便車白嫖社區成果,注定引發社區的強烈反感!
抵御云廠商白嫖,修改協議是最常見做法:但AGPLv3 過于嚴格容易敵我皆傷,SSPL 因為明確表達這種敵我歧視,不被算作開源。業界需要一種新的歧視性軟件許可證協議,來達到名正言順區分敵我的效果。
開源風格已經過氣
真正重要的事情一直都是軟件自由,而“開源”只是實現軟件自由的一種手段。而如果“開源”的理念無法適應新階段矛盾斗爭的需求,甚至會妨礙軟件自由,它一樣會過氣,并不再重要,并最終被新的理念與實踐所替代。
“我想直率地說:多年來,我們就像個傻子一樣,他們拿著我們開發的東西大賺了一筆”。—— Redis Labs 首席執行官 Ofer Bengal
當 Redis 宣布更改協議后,馬上就有 AWS 員工跳出來 Fork Redis —— “Redis 不開源了,我們的分叉才是真開源!” 然后 AWS CTO 出來叫好,并假惺惺地說:這是我們員工的個人行為 —— 云廠商們真是殺人誅心,恬不知恥!
圖片