The split proposal sounds like a good approach, but what exactly would be contributed to Shindig?
On Tue, Jul 16, 2013 at 9: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 > > 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 >>>>>> >>>>> >>>>> >>>>> >>>>> >>>> >>> >>> >> >> > > >