MongoDB:有人敢像我一樣說出開源的真實用意嗎?
現在大大小小的公司都在搞開源,在被問到為什麼開源某個項目時,負責人要么說是貢獻社區與用戶,要么以希望藉廣大開發者之力完善項目為擋箭牌,雖然這些想法都可以是真實也經得起考驗的,但是在這背後更加真實的“目的”,公司都不願意提及,比如營銷品牌需要,比如先開源後“違規”收費,比如KPI 擔當,比如推動相應收費版本的銷售……
雖然開源有個人/公益組織的開源、以開源項目作為基礎的商業化公司的開源,以及商業公司反過來去涉及開源領域的開源這些區別,但是除去人個與公益組織的開源初衷不表,剩下涉及到公司的開源,他們關於開源的真實想法確實往往不會明示,這其實也可以理解,開源本是一種黑客式的高尚行為,過多地掩蓋這種特性,會帶來反感,於公司不利。
然而事實是,上述“背後的真實目的”其實都經常被達成。
與這些公司的表裡不一不同,最近在接受Computer Business Review採訪時,MongoDB公司CEO Dev Ittycheria明確表示了MongoDB的開源用意:“我們的開源並不是為了獲得幫助,使產品更好,而是作為免費增值策略,以推動採用。”
we didn’t open source it to get help from the community, to make the product better. We open sourced as a freemium strategy; to drive adoption.
在被問到MongoDB 修改開源License 相關問題時,Dev 說出了這段話。MongoDB 去年10 月份宣布將開源License 從GNU AGPLv3 切換到 Server Side Public License(SSPL),以此回應AWS 等雲廠商將MongoDB 以服務的形式提供給用戶而沒有回饋社區的行為。SSPL 明確要求託管MongoDB 實例的雲廠商要么獲取商業許可證要么向社區開放其服務源碼。
但是開源社區對此似乎有不少反對聲音,許多人認為SSPL 是具有針對性的,對特定類別的用戶具有嚴重歧視性,這違反了開源的真諦,所以Fedora 認定SSPL 不是一個自由軟件許可,紅帽和Debian 也宣布從發行版中刪除MongoDB。
對於這種情況,MongoDB CEO Dev 認為不必在意,他說:“從那以後,我們的業務增長得更快。這沒有任何影響,它只影響那些可能在考慮使用我們的免費版本,並將其作為託管服務提供給第三方的人。”
而為什麼MongoDB 能夠如此沉著呢?Dev 說MongoDB 與其它開源公司不一樣,“與其它開源公司不同,我們可以在一定程度上控制License 是因為大多數其它開源公司都建立在已有技術上”,他認為其它開源公司只是將其非真正業務核心的東西開源出來,繼而進入公共領域,他們的開源本質是想讓社區進行眾包研發,使項目完善得更好。
“根據定義,開源License 必須非常寬鬆,因為它希望鼓勵人們開發並使開源項目變得更好”,Dev 解釋:“然而MongoDB 不是這樣,MongoDB 由MongoDB 自己構建,沒有其它技術經驗支持。”他補充:“一方面,這說明了MongoDB 團隊的技術敏銳性;另一方面,我們的開源並不是為了獲得幫助,使產品更好,而是作為免費增值策略,以推動採用。”
Dev這話的意思似乎是直接否認了開源的分佈式協作與同行代碼審核這基本的特性,否認了參與MongoDB項目開發的開發者的貢獻,也難怪有開發者會直接回應表示受到侮辱:作為一個為MongoDB源碼做過一點點貢獻的人,聽到這樣的說法簡直覺得侮辱。
而另一方面,實際上,MongoDB之所以受歡迎還有部分原因是其支持廣泛的驅動,雖然MongoDB公司實現了與MongoDB一起使用的主要驅動,但其仍然依賴了第三方開發者以解決較少使用的驅動問題。
諷刺的是,雖然MongoDB CEO 都這麼明確地說了,但是MongoDB 還將繼續帶著“開源”的光環走下去。
然而,回過頭來聯繫一下文章開頭提到的各公司的“遮遮掩掩”,是否會覺得MongoDB 的這種表述多了幾分真實呢?你怎麼看?