
Philip Rathle 在官方部落格中宣布 Neo4j 企業版徹底閉源的消息
Neo4j 是由 Neo4j, Inc 開發的圖形資料庫管理系統,是 NoSQL 的代表之一,它是一個嵌入式、基于磁盤的、支援完整事務的 Java 持久化引擎,它在圖像中而不是表中存儲資料。Neo4j 提供了大規模可擴充性,在一台機器上可以處理數十億節點 / 關系 / 屬性的圖像,可以擴充到多台機器并行運作。根據 DB-Engines 排名,Neo4j 是目前最受歡迎的圖資料庫,并且在所有資料庫中排名第 22 位,它可以說是目前使用最廣、使用者最多、商業化最好的圖資料庫。
今年 11 月初,Neo4j 宣布完成 E 輪 8000 萬美元融資。至今,Neo4j 已經開源了衆多圖像技術棧,包括 Neo4j Community Edition (GPLv3)、openCypher (Apache 2.0) 、Native language drivers (Apache 2.0) 、Graph Algorithms (GPLv3) 、Neo4j APOC Library (Apache 2.0) 、Cypher for Apache Spark (Apache 2.0) 和 Cypher for Gremlin (Apache 2.0) 。
此次調整,意味着 Neo4j 選擇了轉向更為常見的 open core 許可模式。Neo4j 平台的核心 —— Neo4j 社群版,将繼續在 GPLv3 許可下開源。Neo4j 企業版,原來也有大部分的源代碼以 AGPLv3 許可開源(今年 5 月份有變更為 AGPLv3 + Commons Clause 雙重許可),從 Neo4j 3.5 GA 版本開始,僅用于企業版的代碼将不再開源。
哪些不受影響?
● Neo4j 社群版。Neo4j 社群版不會受到任何影響。絕大多數新功能将在兩個版本同步上線,Neo4j 将繼續投入社群版本的開發和維護。
● 所有已經采用的軟體。從 Neo4j.com、Docker Hub 等下載下傳的 Neo4j 企業發行版不會發生任何變化。它們已獲得商業許可證,此舉不會影響到這一點。
● 創業公司、教育、開發人員、資料新聞和其他免費企業版許可。Neo4j 企業版經商業許可可用,并且在許多情況下是免費的。
● 貢獻者。超過 99%的企業版代碼由 Neo4j 員工和承包商撰寫。Neo4j 已經聯系了少數屬于小于 1%比例的人,确認他們貢獻的代碼将在合理的時間内到期,并保證他們的貢獻在舊版本中仍然可以免費獲得。
● Neo4j 企業版舊版本。所有已經釋出的 Neo4j 版本都将保留在 GitHub 上。
哪些将會受影響?
● Neo4j 釋出的源代碼。過去,Neo4j 将企業版代碼與社群版代碼一起釋出到 GitHub。從今天開始,Neo4j 将隻會釋出 Neo4j 社群版源代碼。
● 依賴 Neo4j 的開源項目。Neo4j 已經聯系了其所知的基于 Neo4j 企業版的少數開源項目,并協商以確定推進其項目正常進行。因為 AGPLv3 是一個相當嚴格的許可證,這樣的項目數量很少(據 Neo4j 所知全球隻有 5 個)。屬于這一類别的開發者請與 Neo4j 聯系(https://neo4j.com/blog/open-core-licensing-model-neo4j-enterprise-edition/[email protected])。
不想讓雲提供商白白獲利
Philip Rathle 在官博中解釋道,Neo4j 此次選擇閉源,一是為了解決企業和開源版本之間混肴不清的關系,避免出現多個版本在多個許可證下開源的情況,建立一個行業标準化的“open core”許可模式,另一個原因,同樣也是為了避免雲提供商隻從開源中“薅羊毛”而不為這些項目作貢獻,還影響開源項目的健康發展。
無獨有偶,實際上 Neo4j 隻是衆多選擇閉源的企業之一,此前,包括 MongoDB、Redis 在内的企業都陸續變更了一些開源項目的許可協定。
其中,開源資料庫的開發商 MongoDB 在今年 10 月份推出了自己的許可證——一種新的伺服器端公共許可證(SSPL),并表示這麼做的原因就是被一些雲提供商(特别是在亞洲)惹惱,這些企業正在采用其開源代碼并向它們自己的使用者打包提供其資料庫的托管商業版本,但無需使用開源規則。MongoDB CEO Dev Ittycheria 還特别提到了阿裡巴巴、騰訊和 Yandex 等雲服務提供商,指責這些公司簡直就是在考驗 Affero 通用公共許可證(AGPL)的邊界:一方面受益于别人的工作成果,另一方面卻沒有共享其代碼。
同樣地,資料庫開發商 Redis Labs 也在今年 8 月份閉源了 RediSearch、Redis Graph、ReJSON、ReBloom、Redis-ML 等項目,當時引起了開源社群不小的騷動。Redis Labs 将該公司開發的 Redis 子產品由 AGPL 改成了 Apache v2.0 和 Commons Clause(共用條款)相結合的許可證,後者會限制了 Redis 涵蓋軟體的銷售。許可變更意味着自建的 Redis 子產品(包括 RediSearch,Redis Graph,ReJSON,ReBloom 和 Redis-ML)不再是開源軟體,相反,他們将變成“源碼可用”。 實際上,新許可證限制了雲供應商向客戶提供這些 Redis 子產品的能力。對此,Redis Labs 的聯合創始人兼 CTO Yiftach Shoolman 在博文中給出的變更許可證的理由,同樣是譴責雲提供商得益于開源軟體,卻沒有給予開源社群任何回報。
閉源真的能解決問題嗎?
然而,和大多數嘗試閉源的企業一樣,Redis Labs 變更許可證的做法并沒有獲得開源社群的贊同,因為正如開源軟體開發人員 Drew DeVault 所說,Redis Labs 的 Commons Clause 并沒有給出支援開源軟體的解決方案,而隻是把開源軟體變成了某個公司的專有軟體架構而已,這是另一種形式的壟斷,并不符合開源精神。
開源項目組織(OSI)的副總裁 VM Brasseur、總裁 Simon Phipps 也言辭激烈地炮轟 Commons Clause,認為這個變化相當于“廢除了軟體自由”,然雲服務商給開源帶來挑戰,但是一些公司閉源和更改許可證的做法,實際上是“以其人之道還緻其身”,違背了開源許可證消除所有壟斷,讓使用者可以全面控制軟體的初衷。
面對質疑,Commons Clause 開發者兼 FOSSA 創始人 Kevin Wang 回應道:“起草 Commons Clause 是為了抵禦一些不良行為。如那些使用源代碼,卻不對開源代碼維護做出補償的公司。”
Google 軟體工程總監 Daniel Berlin 反駁道:“這不是不良行為。倒是這種協定誤解了開源經濟模式,它隻是想從中為己牟利。”
關于開源和閉源的後果和影響,開源社群和利益相關公司各執其理,各自有各自的考慮,你的看法是什麼?歡迎在評論區讨論~
原文釋出時間為:2018-11-22
本文作者:AI前線小組
本文來自雲栖社群合作夥伴“
AI前線”,了解相關資訊可以關注“
”。