On Tue, Jul 16, 2013 at 8:46 AM, René Peinl <rene.pe...@hof-university.de>wrote:
> Dear Ate, dear Shindig developers, > it's been some time since this discussion because we were a bit frustrated > and the project on our side was frozen for some time. Fortunately, I came > up > with an idea of how to circumvent this problem and this time wanted to do > the legal check BEFORE we start the coding. > > The current code has a direct compilation dependency on either neo4j > directly or at least their REST/JSON wrapper, which is also GPLv3 licensed. > That seems to be the problem. > We therefore propose to split our code into two parts. One part should > become part of the Apache Shindig project and will be licensed APLv2. The > other part will directly use neo4j and therefore be licensed under GPLv3 > and > published on sourceforge or somewhere. Between those two parts there will > be > only network communication, no compilation dependency. > > Could somebody from the core team please confirm, that > a) this new proposal will have no licensing problem (my German lawyer, who > is specialized in OSS licensing confirmed that, but the ASF may still see > it > differently) > b) the community is still interested in the neo4j backend as an option for > Shindig > I actually had a conversation with Emil Eifrem from Neo Technologies at a conference about this subject and we couldn't come to any better proposal than what you suggest. As long as there is no reference to the GPL API in the code, I don't foresee an issue at all. Ate, do you have any concerns? > > Otherwise, we would not invest any more time in this issue. > Regards > René > > -----Ursprüngliche Nachricht----- > Von: Ate Douma [mailto:a...@douma.nu] > Gesendet: Mittwoch, 27. März 2013 15:22 > An: dev@shindig.apache.org > Cc: Peter Neubauer; René Peinl; Florian Holzschuher > Betreff: Re: Review Request: Alternative database backend based on graph > database neo4j > > Sorry about top posting (and dropping legal-discuss@) but as we didn't get > any feedback yet on the below question from legal-discuss@, I've dived > into > it myself a bit further. > > I already came to the conclusion (and discussed this internally with > another > ASF > member) that the current proposed contribution which directly uses Neo4J > GPL3 licensed APIs cannot be allowed, as that (source) dependency will > enforce the > GPL3 license upon this contribution as a whole, optional or not. > > The possible 'workaround' of using a 3rd party library like > spring-data-neo4j > (only) which is ALv2 licensed I am also very doubtful about, because that > library itself has direct usage and dependency on the Neo4J APIs, so it > really is only 'hiding' the same problem. > If this is a correct assumption, and I created an specific JIRA question > [1] > for legal-discuss@ for it, then the spring data 'workaround' is also > tainted > and not to be allowed either. > > I've also brought this forward to someone at Apache Camel which intend to > (but hasn't yet) release a Camel Neo4J component, and it looks like they > will decide also that Neo4J cannot be supported after all, at the ASF. > > Pending the resolution of [1], it now seems doubtful to me Apache Shindig > can accept the neo4j support contribution. > If this becomes the case, I see two possible solutions, in preferred order > (besides dropping it): > > a) NeoTechnology provides an additional (probably API only) library of its > own under an ALv2 compatible license, which can be used to create > integrations like these. This would be the most practical and beneficial > solution IMO, similar to for instance the MongoDB (AGPL3 licensed) > mongodb-java-driver library which is > ALv2 licensed, see [2]. > > b) Provide the Shindig Neo4J support in a separate project outside the ASF, > maybe at Apache Extras [3]. Downside of this of course is that alignment > with Apache Shindig itself will be more difficult and likely trailing the > development @Shindig. > > I'll keep the list noted on any progress or conclusion of [1]. > > Regards, Ate > > [1] https://issues.apache.org/jira/browse/LEGAL-162 > [2] https://github.com/mongodb/mongo-java-driver > [3] http://community.apache.org/apache-extras/faq.html > > On 03/11/2013 11:09 AM, Ate Douma wrote: > > Now replying again, but to the proper mail address, see inline below. > > > > Cheers, Ate > > > > On 03/11/2013 11:05 AM, Ate Douma wrote: > >> Another forward of an incorrectly addressed email for legal-discuss@ > >> > >> On 03/11/2013 09:41 AM, Peter Neubauer wrote: > >>> Also, > >>> keep in mind that only the enterprise components of Neo4j are AGPL, > >>> the community edition, which I believe is the most interesting part > >>> here, is GPL. > > > > That is useful information indeed. Thanks for correcting me in this! > > > > So for this case at hand I assume we only need to consider the > > possibilities to use the GPL3 licensed community edition of neo4j. > > > > The question then is if at the ASF we may reference and explicitly use > > GPL3 licensed APIs in our AL2.0 licensed code, in an optional module, > > which also requires these GPL3 libraries at runtime. > > Even if we don't distribute those 3rd party GPL3 libraries ourselves. > > > >>> > >>> /peter > >>> > >>> > >>> Cheers, > >>> > >>> /peter neubauer > >>> > >>> G: neubauer.peter > >>> S: peter.neubauer > >>> P: +46 704 106975 > >>> L: http://www.linkedin.com/in/neubauer > >>> T: @peterneubauer > >>> > >>> Graph database introduction book for the uninitiated - > >>> http://graphdatabases.com Neo4j questions? Please use SO - > >>> http://stackoverflow.com/search?q=neo4j > >>> > >>> > >>> On Mon, Mar 11, 2013 at 9:22 AM, René Peinl > <rene.pe...@hof-university.de>wrote: > >>> > >>>> Dear Apache legal advisors, dear Shindig developers, as you can see > >>>> from the discussion below, we have a possible license conflict > >>>> between AGPL and APL v2. > >>>> We want to integrate code that uses neo4j, a graph database which > >>>> is licensed under AGPL, into Shindig. From my perspective it is not > >>>> necessary to include any neo4j binaries nor code, but I'm not sure > >>>> how this affects compilability. Maybe we can only use the REST API > >>>> then and don't offer to run neo4j in embedded mode. > >>>> I'm not a lawyer nor a licensing specialist, so please advise on > >>>> how to proceed. Maybe we can find a workaround that ensures we are > >>>> conforming to the licensing terms and still get the new functionality > into Shindig. > >>>> One suggestion that seems a good one was to check how Apache Camel > >>>> deals with this issue. > >>>> Regards and many thanks for clarification in advance René > >>>> > >>>> -----Ursprüngliche Nachricht----- > >>>> Von: Ate Douma [mailto:a...@douma.nu] > >>>> Gesendet: Montag, 11. März 2013 08:49 > >>>> An: dev@shindig.apache.org > >>>> Cc: Peter Neubauer > >>>> Betreff: Re: Review Request: Alternative database backend based on > >>>> graph database neo4j > >>>> > >>>> On 03/10/2013 11:59 PM, Matt Franklin wrote: > >>>>> On Sunday, March 10, 2013, wrote: > >>>>> > >>>>>> Thanks for the insight Ate. > >>>>>> > >>>>>> Rene, I think we should take Ate's suggestion and send an email > >>>>>> to legal-discussion@ (please CC shindig-dev@). If they say it is > >>>>>> OK than we continue the discussion about integrating the patch. > >>>>> > >>>> > >>>> Although the answer from Peter Neubauer / neotechnology is > >>>> accommodating on this matter and seems to indicate *they* might > >>>> think this is not a problem, reading the AGPL [1] license tells me > something differently. > >>>> I definitely would like this contribution to be acceptable, but we > >>>> must be very sure we're not opening a can of worms here. > >>>> > >>>>> > >>>>> I agree that legal should be consulted if we intent to ship a war > >>>>> or other archive with any neo4j (or other agpl) licensed binaries > included. > >>>> I don't think we can do that anyway. AGPL is a variant of GPL, and > >>>> we're not allowed, by ASF policy, to distribute any GPL artifact. > >>>> > >>>>> > >>>>> As a first mitigation step, why don't we make this a separate > >>>>> maven module and only ship the source and non-inclusive jar? It > >>>>> should not be a problem to ship a jar and source that only > >>>>> references the neo4j libs as runtime dependencies. > >>>> That might be a possibility to investigate. As Chris noted in > >>>> another email, it might be doable as Camel seemingly also has a > >>>> neo4j component. > >>>> > >>>> But also note: it will also depend on the type of reference such an > >>>> optional module uses. If it requires explicit Java imports and > >>>> direct usage of the neo4j APIs, this might qualifies as what is > >>>> called in the AGPL 'Corresponding Source'. > >>>> Especially as neo4j and Shindig provide and expect 'Remote Network > >>>> Interaction' > >>>> for which the AGPL is especially created to enforce its license to > >>>> downstream users. IMO this can lead to a conflict with the AS2.0 > >>>> license, to possibly not even be allowed distribution under that > >>>> license from within the ASF, or not even its sources be checked > >>>> into svn... > >>>> > >>>> But IANAL so indeed this should be run through legal-discuss@ first. > >>>> > >>>> [1] http://www.gnu.org/licenses/agpl-3.0.html > >>>> > >>>>> > >>>>> > >>>>> > >>>>>> > >>>>>> > >>>>>> On Mar 9, 2013, at 7:56 AM, René Peinl > >>>>>> <rene.pe...@hof-university.de> > >>>>>> wrote: > >>>>>> > >>>>>>> Dear Ate, > >>>>>>> thanks for your comments. I already thought about this and asked > >>>>>>> the > >>>>>> guys from neo technologies. Here is the answer from Peter Neubauer. > >>>>>>> > >>>>>>> in principle (IANAL) it is ok to have ALv2 licensed code binding > >>>>>>> to GPL > >>>>>> code. In runtime, the user will not be shielded from the GPL > >>>>>> core, which means the runtime will have GPL characteristics when > >>>>>> you plug in > >>>> Neo4j. > >>>>>> That is exactly the intent, and should be ok. The bindings-code > >>>>>> is development-time Apache license, regarding contributions and > >>>>>> copyright etc, so I think this should be ok. > >>>>>>> > >>>>>>> I'm not quite sure if that answers your question. I can further > >>>>>> investigate if necessary. > >>>>>>> Regards > >>>>>>> René > >>>>>>> > >>>>>>> -----Ursprüngliche Nachricht----- > >>>>>>> Von: Ate Douma [mailto:a...@douma.nu] > >>>>>>> Gesendet: Freitag, 8. März 2013 14:18 > >>>>>>> An: dev@shindig.apache.org > >>>>>>> Betreff: Re: Review Request: Alternative database backend based > >>>>>>> on graph > >>>>>> database neo4j > >>>>>>> > >>>>>>> Just from the peanut gallery, but neo4j is AGPL licensed. > >>>>>>> Normally any database backend access which is abstracted away > >>>>>>> behind > >>>>>> 'plain' > >>>>>>> JDBC interfaces are allright to use, commercial versions or > >>>>>>> otherwise > >>>>>> licensed, because the end-user would have the option to choose > >>>>>> whatever > >>>>>> (compatible) database they want to use. > >>>>>>> > >>>>>>> However with neo4j this seems different. Even with only optional > >>>>>>> support > >>>>>> for neo4j, the neo4j integration might require explicit neo4j > >>>>>> (Java) APIs and dependencies? I haven't reviewed the code for > >>>>>> this, but if it imports neo4j APIs then their AGPL license can be > >>>>>> too invasive and then possibly not acceptable for uses within our > >>>>>> AL2.0 licensed > >>>> codebase. > >>>>>>> Or even if that could be allowed, I would make sure to check and > >>>>>>> ask > >>>>>> (legal-discuss@ etc.) if it would be acceptable from ASF policy > POV. > >>>>>>> > >>>>>>> Regards, Ate > >>>>>>> > >>>>>>> On 03/07/2013 07:46 PM, Henry Saputra wrote: > >>>>>>>> This is good news. > >>>>>>>> > >>>>>>>> One immediate comment is about the package name. > >>>>>>>> Would it be possible to put it under org.apache.shindig rather > >>>>>>>> than the de.hofuniversity? > >>>>>>>> > >>>>>>>> This would make the contributions uniform like from other > >>>>>>>> companies and organizations. > >>>>>>>> > >>>>>>>> - Henry > >>>>>>>> > >>>>>>>> > >>>>>>>> 2013/3/6 René Peinl <rene.pe...@hof-university.de> > >>>>>>>> > >>>>>>>>> > >>>>>>>>> ----------------------------------------------------------- > >>>>>>>>> This is an automatically generated e-mail. To reply, visit: > >>>>>>>>> https://reviews.apache.org/r/9773/ > >>>>>>>>> ----------------------------------------------------------- > >>>>>>>>> > >>>>>>>>> Review request for shindig. > >>>>>>>>> > >>>>>>>>> > >>>>>>>>> Description > >>>>>>>>> ------- > >>>>>>>>> > >>>>>>>>> Review for Shindig-1911 > >>>>>>>>> Alternative database backend based on graph database neo4j Any > >>>>>>>>> comments welcome. We are committed to further improve this. > >>>>>>>>> > >>>>>>>>> > >>>>>>>>> This addresses bug Shindig-1911. > >>>>>>>>> https://issues.apache.org/jira/browse/Shindig-1911 > >>>>>>>>> > >>>>>>>>> > >>>>>>>>> Diffs > >>>>>>>>> ----- > >>>>>>>>> > >>>>>>>>> /trunk/java/neo4j-backend/pom.xml PRE-CREATION > >>>>>>>>> > >>>>>>>>> /trunk/java/neo4j-backend/src/main/java/de/hofuniversity/iisys > >>>>>>>>> /gra > >>>>>>>>> phb > >>>>>>>>> ackend/Constants.java > >>>>>>>>> PRE-CREATION > >>>>>>>>> > >>>>>>>>> /trunk/java/neo4j-backend/src/main/java/de/hofuniversity/iisys > >>>>>>>>> /gra > >>>>>>>>> phb > >>>>>>>>> ackend/GraphAPIModule.java > >>>>>>>>> PRE-CREATION > >>>>>>>>> > >>>>>>>>> /trunk/java/neo4j-backend/src/main/java/de/hofuniversity/iisys > >>>>>>>>> /gra > >>>>>>>>> phb > >>>>>>>>> ackend/GraphConfig.java > >>>>>>>>> PRE-CREATION > >>>>>>>>> > >>>>>>>>> /trunk/java/neo4j-backend/src/main/java/de/hofuniversity/iisys > >>>>>>>>> /gra > >>>>>>>>> phb > >>>>>>>>> ackend/GuiceModule.java > >>>>>>>>> PRE-CREATION > >>>>>>>>> > >>>>>>>>> /trunk/java/neo4j-backend/src/main/java/de/hofuniversity/iisys > >>>>>>>>> /gra > >>>>>>>>> phb > >>>>>>>>> acke > >>>>> > >>>> > >>>> > >>>> > >>>> > >>> > >> > >> > > > > > > > >