mikera / vectorz

Fast and flexible numerical library for Java featuring N-dimensional arrays
GNU Lesser General Public License v3.0
240 stars 46 forks source link

License Question #13

Closed lastdigit7 closed 10 years ago

lastdigit7 commented 10 years ago

Hi Mike! I really like your vectorz library and I would like to use it in my applications, sadly the LGPL License makes this not possible for me. Would you consider switching to another license model such as MIT or Apache License to open up the possible uses of this nice library of yours? As of now I am looking at la4j as a library, but I would like to use verctorz because of its design and performance. Thank you for your consideration.

mikera commented 10 years ago

Hi there, glad you like Vectorz!

Just curious: Why is LGPL a problem? What requirement is it conflicting with? It should be fine to use it as a library in pretty much any application.... that's pretty much the whole point of the LGPL after all.

lastdigit7 commented 10 years ago

Thanks for your fast reply. LGPL is a problem due to its requirement of the vectorz library to be exchangeable (e.g. with future versions) by the users of my application. There is no problem with dynamic linking the jar in a desktop application, however distributing an Android app in a signed APK file is a different story. I did a research on LGPL especially for Android apps including on StackOverflow and the opinions diverse about whether or not it would comply with the LGPL license. At least there is no legal assurance about it.

mikera commented 10 years ago

Can't the user just unpack the apk file (it's just a jar, right?), replace the Vectorz parts, then re-sign as an apk using their own key? I think that satisfies the LGPL requirement.

If it helps, I hereby guarantee that I will not take any legal action against you or your company on the grounds of not meeting the exchangeability requirements.

I'm not happy with Apache or MIT licenses for Vectorz, I'd be willing to consider another copyleft license e.g. the EPL if that works better.

Alternatively, for a small fee I'd be willing to grant you a commercial license, then you can do what you like.....

lastdigit7 commented 10 years ago

First, thank you for the fast answer again. It is possible to unpack the APK, replace the Vectorz jar and re-sign it, yes. Reading following thread on StackOverflow made me realize that LGPL could pose a problem for a commercial Android app: http://stackoverflow.com/questions/4916512/using-lgpl-library-in-paid-android-app/4917105#4917105

I just brought that license question up to be assured that I can use Vectorz in my applications and don't have to fear any law sue which would make me having to release the whole source code of my apps and/or replacing the core math library (which would be painful). I also hope this issue will help other people to decide for using Vectorz.

I have read the EPL and did a bit of research regarding its usage in commercial applications and I found it to be more "compatible". If you want to change the license to EPL, that would be great (as long as -you- are not experiencing any negative effects due to it, since it is -your- code).

Regarding that small fee for a commercial license.. I am not at the stage that I would earn money with the application(s) which I want to use Vectorz with, if ever. But rest assured, if I would sell some apps on the Store, I'd be happy to give you a donation for your work with Vectorz regardless of the license.

Thanks for your time and effort.

mikera commented 10 years ago

OK well I'm perfectly happy with your use of Vectorz in your app.

As far as I'm concerned, the ability of a user to re-pack and resign the app meets the LGPL exchangeability requirements. Please consider this as legal permission to use Vectorz in this way.

I won't change the main license as I still prefer LGPL to EPL overall.