Learning Neo4j 3.x(Second Edition)
上QQ阅读APP看书,第一时间看更新

The license conditions

For the slightly more complicated bit, Neo Technology has chosen very specific licensing terms for Neo4j, which may seem a tad complicated but which actually really support the following goals:

  • Promoting open source software
  • Promoting community development of Neo4j
  • Assuring long-term viability of the Neo4j project by providing for a revenue stream

This is achieved in the following ways:

  • The Community Edition uses the GNU Public License Version 3 (GPLv3)
    as its licensing terms. This means that you may copy, distribute, and modify the software as long as you track changes/dates of in-source files and keep modifications under GPL. You can distribute your application using a GPL library commercially, but you must also provide the source code. It is therefore a very viral license and requires you to open source your code--but only if your code directly interfaces with the Neo4j code through the Java API. If you are using the REST API, then there are little or no contamination effects, and you can just use Neo4j at will.
  • The Enterprise Edition uses a so-called dual license model. This means that users of the Neo4j Enterprise Edition can choose one of two options:
    • They adhere to the Affero GNU Public License Version 3 (AGPLv3), which is sometimes also referred to as the GPL for the web.
The AGPL license differs from the other GNU licenses in that it was built for network software. Similar conditions apply to the GPL; however, it is even more viral in the sense that it requires you to open source your code not only when you link your code on the same machine (through Neo4j's Java API), but also if you interface with Neo4j over the network (through Neo4j's REST API). So, this means that if you use Neo4j's Enterprise Edition for free, you have to open source your code.
    • Get a Neo Technology Commercial License (NTCL). This license is a typical commercial subscription license agreement, which gives you the right to use Neo4j Enterprise Edition for a certain period of time on a certain number of machines/instances.

Neo Technology offers a number of different annual commercial subscription options, depending on the number of instances that you will deploy, the type of company you are (education, start-up, mid-sized corporation, or large corporation), the legal contract requirements of the agreement, and the support contract. For more information on the specifics of these bundles, which change regularly, you can contact licensing@neotechnology.com.

With that, we have wrapped up this section and will now proceed to getting our hands dirty with Neo4j on the different platforms available.