Licensing – Understanding Neo4j’s Licensing Guide

licensing

There are three versions of Neo4j apparently, called Community, Advanced, and Enterprise. Neo4j's Licensing Guide says that Community is GPL3 (which I confirmed from the LICENSE file in the tarball) and the Advanced/Enterprise seems to be dual licensed under AGPL3 and a proprietary license. What exactly does statement of the guide mean?:

If you’re using Neo4j to build closed-source online applications that are central to your business, then you’ll want to talk to us about commercial licensing of Neo4j Advanced or Enterprise editions.

What exactly is meant by a closed source application in the context of server software? Does writing software that merely talks to neo4j over RPC trigger the AGPL under Neo's interpretations? If so, that's vastly differently from how the 10gen treats MongoDB (AGPL).

The above wouldn't be as confusing if it weren't for the following statement:

… you’re free to use the Community edition of Neo4j Server under a GPL license – which means you can use it anywhere you would use something like MySQL. Used in this way, only changes you make to the Neo4j software itself should be open-sourced and shared with the community.

That last sentence is not required of GPL3 software modified for an organization but never distributed and only ever made available as a web application. In fact that's the exact reason AGPL3 was invented, to plug that gap.

Further, the following statement makes no sense since a public domain project is a project without copyright:

We love open source development: so you are free to use all Neo4j components for your open-source, public domain project under either the GPL (for Community edition) or the AGPL (for Advanced and Enterprise).

Best Answer

Closed source means the same thing for server-side software as for all other kinds of software: The source code is not available to the users of the software (or only under very restrictive conditions).

If you write software that communicates over a network with other software, then your choice of license for your software is not affected by the copyright license that is used for the remote software you communicate with. (Just think about it, if the AGPL affected the software used to access an AGPL site, users of IE would be in violation of copyright. That can't be right.)
This means that it is no problem to access a service that uses AGPL with a closed-source application.

The (A)GPL license of Neo4j would start to kick in if you make modifications to Neo4j or if your application builds upon Neo4j in the sense that Neo4j is included in your application as a library.

Related Topic