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
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>
>>>
>>>
>>
>>
>
>
>

Reply via email to