nodex icon indicating copy to clipboard operation
nodex copied to clipboard

Relicense to MIT-compatible

Open fire opened this issue 7 years ago • 4 comments

Hi,

I was wondering if it was possible to relicense to something MIT compatible. This library will make any software LGPL so it's not very useful.

fire avatar Nov 12 '18 13:11 fire

Hi, I was wondering if it was possible to relicense to something MIT compatible. This library will make any software LGPL so it's not very useful.

Disclaimer: IANAL @fire, it seems you are thinking of the license requirement of the regular GNU GPL. The GNU LGPL allows using a library (like Nodex) in a software product with a different license, without the LGPL "infecting" the license of the software product.

From the GNU document What is Copyleft?

A compromise form of copyleft, the GNU Lesser General Public License (LGPL) applies to a few (but not all) GNU libraries. To learn more about properly using the LGPL, please read the article Why you shouldn't use the Lesser GPL for your next library.

myerspliers avatar Apr 13 '20 18:04 myerspliers

Unless I use nodex as a shared library from my application c node, it will be considered a combined work under the LGPL. So I'll keep looking for other ways to make elixir libraries.

[Edited] If I compiled the entire application as one shared library for the BEAM VM, it will be LGPL.

Or compiled nodex into the cnode application as one executable with no libraries.

fire avatar Apr 13 '20 18:04 fire

If you want, you can look at the clause I inserted into zeromq.

--------------------------------------------------------------------------------

           SPECIAL EXCEPTION GRANTED BY COPYRIGHT HOLDERS

As a special exception, copyright holders give you permission to link this
library with independent modules to produce an executable, regardless of
the license terms of these independent modules, and to copy and distribute
the resulting executable under terms of your choice, provided that you also
meet, for each linked independent module, the terms and conditions of
the license of that module. An independent module is a module which is not
derived from or based on this library. If you modify this library, you must
extend this exception to your version of the library.

Note: this exception relieves you of any obligations under sections 4 and 5
of this license, and section 6 of the GNU General Public License.

https://github.com/zeromq/libzmq/blob/master/COPYING.LESSER#L167-L181

fire avatar Apr 13 '20 19:04 fire

I see what you're saying. Sorry, I'm used to thinking of C/C++ and shared libraries, and it seems that's how the (L)GPL think of software as well. I'm new to Elixir and Erlang, and you're right, the way the software is built and how "libraries" are combined for Elixir does not seem like it works well with the LGPL.

myerspliers avatar Apr 13 '20 20:04 myerspliers