jperkin / node-openzwave

node.js interface to libopenzwave
Other
110 stars 55 forks source link

Proposed ISC license is invalid / not compatible with GPLv3.. right? #34

Closed neatcode closed 9 years ago

neatcode commented 9 years ago

Since your code heavily hooks into OpenZWave which is licensed under GPLv3, if I understand the GPLv3 correctly don't you have to license Your code under GPLv3 as well (if you wish to distribute the program or code as you are doing here)? Perhaps if OpenZWave had been licensed under LGPL then you could license your software and code under any license like the ISC.

I would much prefer the ISC license for this library (node-openzwave), but I'm pretty sure you can't just pick your own license when you use a GPL'd piece of software like this (hence the movement toward BSD, MIT, and ISC licenses for many open source projects, because they are less restrictive and don't raise problems like this).

What are your thoughts? Or anyone's?

jperkin commented 9 years ago

No, it is the 'lesser' GPL, used primarily for libraries which is what we are doing here. We are simply interfacing with the library, and so do not come under the terms of its license.

neatcode commented 9 years ago

jperkin, yes I now see that the OpenZWave C library is licensed under the LGPL. The bottom of the Readme.MD file for node-openzwave erroneously says OpenZWave is licensed under the "GPLv3", rather than the LGPLv3, which is why I originally raised the issue. Perhaps that could be updated?

Of note: My understanding is that any proprietary/commercial software which uses node-openzwave (licensed as ISC) will also be bound to the clauses of "linking" with the OpenZWave library under the LGPL. This mainly means that any commercial or proprietary software using node-openzwave MUST legally allow their software to be reverse-engineered (ie they can't prohibit the reverse engineering of their distributed program), though they are NOT required to make this easy (the don't have to supply the proprietary source code). Also, such software (any work which uses node-openzwave) MUST provide a means to link itself with different/modified versions of OpenZWave (the LGPL 'd library).