On Tue, Apr 28, 2015 at 11:34 AM 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). > If kernel depends on neo4j-api and just provides an implementation of an interface that is injected at runtime, I don't see that reflection is a requirement, unless I am missing something. > * 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? > As laid out above, this plan makes sense to me. If you want a more official ruling, re-send this e-mail to legal-discuss@; but I don't see a risk so long as Tinkerpop does not distribute any kind of GPL dependent code. > > Thank you very much for your time, > Marko. > > http://markorodriguez.com > >