What Is Happening?
Beginning with Neo4j 3.5 release candidates, Enterprise Edition is available solely under a commercial license. Neo4j is moving to a more commonplace open core licensing model by no longer publishing source code for the Enterprise Edition on GitHub.
This move brings Neo4j in line with industry norms – most of the popular open source databases use an open core model – and it clearly delineates the licensing choices between Neo4j Enterprise and Community Editions.
This does not impact Community Edition – nor any other Neo4j open source projects – where Neo4j remains steadfastly committed to providing the world’s best and most comprehensive graph database as open source.
There is no impact to customers, partners or OEM users operating under a Neo4j subscription license; nor to Neo4j Desktop users using Neo4j Enterprise Edition under our free development license. It also doesn’t impact members of our Neo4j Startup program. Users of Neo4j embedded who are used to getting Enterprise Edition jars from Maven will need to move where they point their builds. You will find details about this on the Neo4j Support portal.
We are committed to communicating transparently with our community as we move to clarify and simplify our licensing choices.
Are You Changing Your Commitment to Open Source?
No, we remain a fully-committed Open Source Software provider.
We continue to offer the largest, most comprehensive graph technology stack available, as open source. In fact, we are now making more FOSS contributions than ever, across a wider range of projects than ever, with more permissive licenses than ever.
This includes the following projects and products:
- Neo4j Community Edition (GPLv3) – the best open source graph database in the world which is the core of the Neo4j ecosystem and platform;
- openCypher (Apache 2.0) – the graph query language and future of Neo4j Cypher via the openCypher project and the GQL standardization initiative;
- Graph Algorithms (GPLv3) – more than 20 iterative graph algorithms for finding communities and clusters, centrality, similarities and paths;
- Neo4j APOC Library (Apache 2.0) – a collection of hundreds of procedures (“Awesome Procedures on Cypher”) that work with both editions of Neo4j;
- Cypher for Apache Spark (Apache 2.0) and Cypher for Gremlin (Apache 2.0) – extending the Cypher language to other graph engines besides Neo4j.
Why Are You Doing This?
This is to clarify and simplify our licensing model and remove any ambiguity as to how Neo4j’s two editions are licensed.
- Community Edition – which is the foundational core of everything “Neo4j” – is open source, licensed under the GPLv3. This has not changed.
- Enterprise Edition is licensed under the Neo4j commercial license. This has also not changed. What has changed is that most of the Enterprise Edition source code has previously been available under a dual license on GitHub as AGPLv3 (and more recently as AGPLv3 with Commons Clause). Starting with the most recent pre-GA release of Neo4j 3.5, Enterprise-only code will no longer be published to GitHub.
What Are Your Reasons behind This?
- We needed to stop the confusion about what we sell and what we open source, and clarify what options we offer. Enterprise Edition source and object code were – until now – available under multiple licenses. Multiple interpretations of these multiple licenses created confusion in the open source community as well as in our buyers’ and even legal reviewers’ minds. This created lots of problems and needed to be improved.
- We recognized that most open source licenses were written prior to the rise of cloud-based infrastructures and providers. These providers often benefit from open source projects without necessarily making commensurate contributions to those projects. Such situations hurt the health of open source projects, impairing the ability of the original authors to keep contributing to and funding their work.
Are You Taking Software Written by Your Contributors and Making It Closed?
We’ve looked at this question very carefully, out of deep respect for the Neo4j community.
It may surprise you to know that >99% of Neo4j Enterprise Edition code was written by individuals on Neo4j’s payroll – employed or contracted by Neo4j-the-company. As for the fractional <1%...that code is still available in older versions. We’re not removing it. And we have reached out to the few who make up the fractional <1% to affirm their contributions are given proper due.
What Effect Does This Have on Existing Versions of Neo4j Enterprise Edition?
This license change has no effect on existing or older repositories or versions of Enterprise Edition. We have simply stopped publicly publishing its source code as we finalize version 3.5. It has no effect on the Neo4j Enterprise binaries, which are already licensed as commercial-only.
What Is the Effect to Community Edition?
Neo4j Community Edition and everything around it is going to keep evolving and moving forward.
We’ve removed nothing, and in Neo4j 3.5, you’ll see that Community Edition continues to evolve, with powerful features including full-text search, a Go driver, a C connector (Seabolt), and (at long last!) index-backed sorting. Earlier this year, we added geo-spatial and temporal data types to Community Edition, made significant improvements to import speeds with native indexes, and more.
Are There Still Ways to Use Enterprise Edition for Free?
There are numerous ways for the community to use Enterprise Edition for free:
- Developers can still use Enterprise Edition free of charge through Neo4j Desktop for desktop-based development;
- Neo4j offers free licenses to startups, via the startup license, which is now available to startups with up to 20 employees;
- Data journalists, such as the ICIJ and NBC News, via the Data Journalism Accelerator Program;
- Universities for teaching and learning and;
- Select altruistic projects that meet the startup license requirements, through the Graphs4Good program.
Have You Notified Existing Customers?
Customers with a subscription to Neo4j Enterprise Edition are unaffected by this change. However, we have already notified them of this change with respect to the Enterprise Edition source code going forward.
Is This Related to Your Recently Announced, $80 Million Series E Funding?
The changes to our licensing policy are unrelated to our recent funding round.
We’re very excited about the strong vote of confidence that we received from our new and existing investors. We’re also excited about the opportunity to invest even more into advancing both editions of the Neo4j database along with our ancillary products.
How to license our commercial edition is a question that we have reconsidered annually for more than five years. Each review was a soul-searching exercise during which we holistically weighed how to address continued confusion between our business intent and our license implementation, and we sought to improve it.
Over the last few releases, we’ve adapted our enterprise license further in an attempt to align them. For example, in Neo4j 3.4, we moved from an open source AGPLv3 license to the AGPLv3 with Commons Clause. This addressed some issues while creating others. The move to open core clearly addresses previous shortcomings and objections in a standard, unambiguous way.
How Do You Decide What Features Are Included in Each Edition?
Our philosophy for what goes into what edition has not changed:
- Community Edition includes fundamental database features such as data types, support for the Cypher language, index-free adjacency, full-text search (coming soon!), native graph storage & processing, native indexing, and much more. Community Edition is licensed as open source under the GPLv3 and represents the majority of our investment as a company.
- Enterprise Edition adds advanced operations and security features. We also include a small number of additional advanced features for customers who contribute via their subscription. Broadly speaking these additions falls into categories of scaling, 24×7 availability, and enabling large teams of developers; as well as features that constrain the usage of the database.
More specifically, it’s things like role-based authorization, segregation of duties, LDAP and Kerberos integration (the latter of which is an add-on), property blacklisting, schema enforcement, and the like. 24×7 features include Causal Clustering, support for XXL/tens-of-billions-scale graphs, rolling upgrades, hot backups, query tracing, and a variety of other admin metrics and features. Last but not least, Neo4j Enterprise includes a number of added performance features: faster and restartable bulk loading, auto cache reheating on startup or restore, faster Cypher via the Enterprise runtime, and more.
Our model is to charge for uses of Neo4j who require these more advanced commercially-oriented features via Enterprise Edition and – with that – support the development of both editions.
How Do I Get in Touch with Neo4j?
Contact your Neo4j Account Manager if you have questions about any of this, or reach out to the Neo4j Support team at firstname.lastname@example.org.