incubator-general mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Matt Franklin <>
Subject Re: Helping Neo4j Release an Apache2 API for Apache Projects
Date Tue, 28 Apr 2015 18:30:28 GMT
On Tue, Apr 28, 2015 at 11:34 AM Marko Rodriguez <>

> Hello,
> TinkerPop (, 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

> Thank you very much for your time,
> Marko.

  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message