Well, for the End User, he/she can not use Tinkerpop+Neo4j without complying with GPL/AGPL. If Tinkerpop doesn't require Neo4j and still be useful, then that should be Ok. If Neo4j is essential to Tinkerpop, i.e. not useful without Neo4j, then this is simply not acceptable.
Apache Zest has a similar situation. Neo Technology wrote and licensed an "Qi4j Entity Store for Neo4j" as Apache License v2.0. And for Zest is not an issue, since there is ~10 entity stores to choose from. But may I suggest the other way around?? Can't Neo4j have a Tinkerpop module at their end, which Tinkerpop advertise to be available for those that can live with the GPL/AGPL limitations? That would make this a non-issue, and IIUIC fits well within the conceptuals of Tinkerpop. Cheers Niclas On Tue, Apr 28, 2015 at 11:33 PM, Marko Rodriguez <okramma...@gmail.com> wrote: > 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 > > -- Niclas Hedhman, Software Developer http://zest.apache.org/qi4j <http://www.qi4j.org> - New Energy for Java