Hello,

TinkerPop (http://tinkerpop.incubator.apache.org/), prior to being an Apache 
project, provided a tinkerpop-neo4j adaptor with each release. TinkerPop sees 
Neo4j as the "reference OLTP implementation" of TinkerPop. With TinkerPop's 
migration to the Apache Software Foundation, TinkerPop 3.0.0.M8-incubating 
(just released) had to gut Neo4j because Neo4j is licensed GPL/AGPL.

Neo4j wants to continue to be TinkerPop's reference implementation. As such, 
Neo4j is interested in providing an Apache2 licensed version of their neo4j-api 
<dependency/>. They want to do this not only for TinkerPop, but also for other 
Apache projects that want to depend on Neo4j (or have in the past and gutted it 
for licensing reasons -- e.g. Apache Camel). However, before they go down this 
road of altering their product modules and licenses, they want to make sure 
their proposed module will be accepted as something that Apache projects can 
legally <depend/> on.

If anyone is an expert in the area of licensing (or has past experience with a 
similar situation), can you please review the following proposal.

* Neo4j would re-license their "neo4j-api" module as Apache2.
        * This dependency would NOT depend on anything GPL/AGPL.
* Neo4j would then have their neo4j-kernal module <depend/> on the Apache2 
neo4j-api module.
        * Thus, no transitive dependency and therefore, no viral GPL/APGL.
* TinkerPop (or any Apache2 projects) would then ONLY depend on neo4j-api.
        * For testing, TinkerPop's pom.xml would have some sort of <config/> 
stating where Neo4j is.
        * Thus, the tester would be responsible for manually downloading Neo4j.
        * Some reflection based model would be used to instantiate the 
connection (or some META-INF/services-style model). 
* TinkerPop users would also, like testers, be responsible for manually 
downloading Neo4j.

In short, TinkerPop would depend on an Apache2 licensed neo4j-api. Some manual 
downloads from testers/users would be required to use the tinkerpop-neo4j 
component with a Neo4j database.

Is this a correct way forward for Neo4j?

Thank you very much for your time,
Marko.

http://markorodriguez.com

Reply via email to