You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-dev@hadoop.apache.org by Dhruba Borthakur <dh...@gmail.com> on 2008/05/21 23:25:13 UTC

The Trove libraries

Hi folks,

The Trove libraries (http://trove4j.sourceforge.net/) has
memory-optimized versions of HashMap/TreeMap etc. They could be used
by the namenode to optimize memory usage. However, it has the LGPL
license. Is this license compatible with Hadoop Apache license? If
not, does anybody know of equivalent open-source libraries?

thanks,
dhruba

Re: The Trove libraries

Posted by Steve Loughran <st...@apache.org>.
Dhruba Borthakur wrote:
> Hi folks,
> 
> The Trove libraries (http://trove4j.sourceforge.net/) has
> memory-optimized versions of HashMap/TreeMap etc. They could be used
> by the namenode to optimize memory usage. However, it has the LGPL
> license. Is this license compatible with Hadoop Apache license? If
> not, does anybody know of equivalent open-source libraries?

Apache has strict rules about LGPL, which are derived from issues over 
whether subclassing are making derivative works [1].

http://people.apache.org/~rubys/3party.html

"LGPL v2.1-licensed works must not be included in Apache products, 
although they may be listed as system requirements or distributed 
elsewhere as optional works."

Which means
-you cant stick them in the apache servers (including SVN)
-you can depend on them, either optionally or mandatorily

But the legal people need to be checked with first, and there is a lot 
of worry that having mandatory dependencies on LGPL code is making 
yourself LGPL. Hibernate issued an explicit clarification of their 
interpretation of LGPL to make it clear they didn't think this was the case.

The last discussion on this was in February: 
http://mail-archives.apache.org/mod_mbox/www-legal-discuss/200802.mbox/browser

To be honest, I think they'd be very reluctant. It really inconveniences 
me, that we can't depend on LGPL stuff in Apache, (its easier to depend 
on proprietary libraries), but that's effectively (L)GPLs strategic 
goal: to only make life easy for people using the same license.


[1] http://www.gnu.org/licenses/lgpl-java.html