开发者社区> 技术小能手> 正文

最受欢迎图数据库Neo4j宣布企业版彻底闭源

简介:
+关注继续查看

1a688521c342fe6aa768a61c1d4f17b56a5d05ac

Philip Rathle 在官方博客中宣布 Neo4j 企业版彻底闭源的消息

Neo4j 是由 Neo4j, Inc 开发的图形数据库管理系统,是 NoSQL 的代表之一,它是一个嵌入式、基于磁盘的、支持完整事务的 Java 持久化引擎,它在图像中而不是表中存储数据。Neo4j 提供了大规模可扩展性,在一台机器上可以处理数十亿节点 / 关系 / 属性的图像,可以扩展到多台机器并行运行。根据 DB-Engines 排名,Neo4j 是目前最受欢迎的图数据库,并且在所有数据库中排名第 22 位,它可以说是目前使用最广、用户最多、商业化最好的图数据库。

4d216f26f6b29988ea9174d67d7ca7d42ab03049

今年 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/support@neo4j.com)。

不想让云提供商白白获利

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前线”,了解相关信息可以关注“AI前线”。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
图数据库neo4j数据导入、备份和恢复
在之前的文章中,介绍了如何搭建neo4j集群,集群的故障切换和节点恢复,还介绍了如何配置驱动实现自动failover。本文聚焦在neo4j的数据上。聊聊如何从外部数据源将数据导入neo4j,如何对neo4j数据库进行备份和恢复。 数据导入 可以有多种方式将数据导入neo4j。大致分为cypher语句导入、apoc.load函数过程导入和离线import导入。 cypher语句导入 这个最简单,就是直接使用cypher语句的create或merge命令来创建neo4j的节点、边和属性。对比来说,create性能较好,但其不会进行存在与否的检查,可能会导致数据库中出现2个相同的节点等情况,
142 0
欢迎加入飞天大数据平台交流群
欢迎加入飞天大数据平台交流群,了解最新的产品资讯与最佳实践
1834 0
阿里云服务器端口号设置
阿里云服务器初级使用者可能面临的问题之一. 使用tomcat或者其他服务器软件设置端口号后,比如 一些不是默认的, mysql的 3306, mssql的1433,有时候打不开网页, 原因是没有在ecs安全组去设置这个端口号. 解决: 点击ecs下网络和安全下的安全组 在弹出的安全组中,如果没有就新建安全组,然后点击配置规则 最后如上图点击添加...或快速创建.   have fun!  将编程看作是一门艺术,而不单单是个技术。
18643 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,阿里云优惠总结大概有三种登录方式: 登录到ECS云服务器控制台 在ECS云服务器控制台用户可以更改密码、更换系.
25056 0
将Neo4j数据导入到GDB
本文通过具体示例,介绍如何将现有的Neo4j数据导入到GDB中。
1393 0
+关注
技术小能手
云栖运营小编~
7208
文章
9
问答
文章排行榜
最热
最新
相关电子书
更多
JS零基础入门教程(上册)
立即下载
性能优化方法论
立即下载
手把手学习日志服务SLS,云启实验室实战指南
立即下载