Hi Ryan,

On Mar 5, 2012, at 3:27 PM, Ryan McKinley wrote:

> On Mon, Mar 5, 2012 at 3:09 PM, Mattmann, Chris A (388J)
> <[email protected]> wrote:
>> Hi Ryan,
>> 
>> On Mar 5, 2012, at 2:57 PM, Ryan McKinley wrote:
>> 
>>> On Mon, Mar 5, 2012 at 2:34 PM, Mattmann, Chris A (388J)
>>> <[email protected]> wrote:
>>>> Hey Ryan,
>>>> 
>>>> On Mar 5, 2012, at 2:27 PM, Ryan McKinley wrote:
>>>> 
>>>>>> 
>>>>>> Unfortunately I do see it as a roadblock. The goal of SIS was to write
>>>>>> a pure ALv2 licensed (or compatible) spatial library and toolkit, which
>>>>>> in my mind does *not* include any dependencies (even optional) on
>>>>>> LGPL components.
>>>>>> 
>>>>> 
>>>>> Got it, this was my understanding.  The goal of SIS is to build an ASL
>>>>> version of JTS -- that's a great goal, just not one I have any
>>>>> energy/time to contribute towards.
>>>> 
>>>> No worries. I appreciate you reaching out. Is there a way to have 
>>>> everything
>>>> in spatial4j that doesn't rely on the LGPL code here?
>>>> 
>>> 
>>> possible, but it makes testing overly complicated.  I want/need the
>>> JTS implementations to be 1st class test citizens.   (This is actually
>>> the biggest reason this is not directly in the lucene)
>> 
>> Gotcha.
>> 
>>> 
>>> 
>>>>> 
>>>>> 
>>>>>> Is there any way that the works of spatial4j could be replaced by ALv2 
>>>>>> code?
>>>>> 
>>>>> The code in spatial4j is all ASL.  If there were a viable ASL polygon
>>>>> library, we could use that too.
>>>> 
>>>> How can you have an ALv2 licensed library that has dependencies on LGPL 
>>>> upstream
>>>> components? Doesn't the LGPL and its viral nature [1] spill into your code?
>>>> 
>>> 
>>> You may be confusing LGPL with GPL.
>>> 
>>> "Applications which link to LGPL libraries need not be released under the 
>>> LGPL"
>>> http://www.gnu.org/licenses/lgpl-java.html
>>> 
>>> The key thing they want to make sure is that you don't bundle your own
>>> version of the .jar file (section 6)
>> 
>> Well that's the FSF's interpretation, and *not* Apache's. See this:
>> 
>> (search for LGPL)
>> 
>> http://www.apache.org/legal/resolved.html
>> 
>> Which licenses may NOT be included within Apache products?
>> 
>>        • Binary Code License (BCL)
>>        • Special exceptions to the GNU GPL (e.g. GNU Classpath)
>>        • GNU GPL 1, 2, 3
>>        • GNU LGPL 2, 2.1, 3
>>        • Affero GPL 3
>>        • NPL 1.0/NPL 1.1
>>        • QPL
>>        • Sleepycat License
>>        • Microsoft Limited Public License
>> 
>> GNU LGPL
>> The LGPL is ineligible primarily due to the restrictions it places on larger 
>> works, violating the third license criterion. Therefore, LGPL-licensed works 
>> must not be included in Apache products.
>> Special exceptions to the GNU GPL
>> Some copyright holders have licensed their works under the GPL with special 
>> exceptions. Although these exceptions may appear to be addressing the 
>> restrictions disallowed by the ASF's first and second license criteria, the 
>> exceptions may only apply to software not "derived from or based on" the 
>> covered work. This references terms defined in the GPL that include works 
>> that "use" or "contain" the work.
>> 
>> This is also the GPL and ALv2 compatible, just for reference:
>> 
>> http://www.apache.org/licenses/GPL-compatibility.html
>> 
>> You may find other interpretations in mailing lists, or from
>> other folks, or via mail archives, but my preference would be
>> taking the explicit understanding from the Legal resolved
>> page above.
>> 
>> Cheers,
>> Chris
>> 
> 
> Cool -- I have no intention of debating this... or asking legal, or whatever.
> 
> It is very clear that you can not *distribute* lgpl files.  The
> statement Greg pointed to earlier from the same page implies that you
> can compile/test with LGPL dependencies:

It may imply it but I'm not sure it does any more than that.

> [..snip..]
> 
> "Will the majority of users want to use my product without adding the
> optional components?

Precisely.

> 
> - - - - - - -
> 
> That said, I totally respect the choice not to want an external JTS
> compile/test dependency.

Yep and that's the basic point. Thanks for respecting it and for understanding.
And for saying we have good goals! 

We'll get there....

Cheers,
Chris

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Chris Mattmann, Ph.D.
Senior Computer Scientist
NASA Jet Propulsion Laboratory Pasadena, CA 91109 USA
Office: 171-266B, Mailstop: 171-246
Email: [email protected]
WWW:   http://sunset.usc.edu/~mattmann/
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Adjunct Assistant Professor, Computer Science Department
University of Southern California, Los Angeles, CA 90089 USA
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Reply via email to