jmparatte / jm_LiquidCrystal_I2C

GNU Lesser General Public License v3.0
7 stars 6 forks source link

Code Licensing issues #1

Open bperrybap opened 6 years ago

bperrybap commented 6 years ago

The licensing for fm's newLiquidCrystal library is a wreck which impacts your project. I have been trying to get fm to correct it for about 2 years how. fm admitted the issue but never went back and corrected the license and the source files. The main issue is that it was not legal to use a CC BY SA 3.0 license since the base class code was a derivative of LGPL 2.1+ code from Arduino LiquidCrystal. It gets worse, CC BY SA 3.0 is fundamentally incompatible with LGPL or GPL licenses. So it can never be linked with LPGL or GPL code. And get gets even worse. Different modules in the newLiquidCrystal library package have different licenses and they are not compatible with each other. Some code is LGPL 2.1+, some is GPL 3.0, some code is illegally licensed CC BY SA 3.0 (and must be LGPL 2.1+ or GPL 3.0) and some code is legitimately CC BY SA 3.0 The only way to fix it is to change the licensing on some of the files to get things compatible. CC BY SA 3.0 is a total crap license for s/w as it is not compatible with anything but itself. CC BY SA 4.0 is the same but there is an added clause that allows it to one-way convert to GPL 3.0 and then any new changes can never go back back to CC BY SA 4.0 About 2 years ago fm had decided to convert everything to GPL 3.0 (not LGPL) to make everything in the newLiquidCrystal package compatible. It required getting permission form (me and a couple of other authors). I was ok with that, as I'm a big GPL fan. However, nothing ever happened. (I can send you full details of the licensing issues if you want more information)

So the bottom line is you have code that really needs to be corrected since "as is" it technically can not be used in your project and cannot be licensed as LGPL 3.0 as it contains code with illegal licenses and some code (I2CIO) that is legally CC BY-SA 3.0 which is incompatible with LGPL 3.0 You must to talk to fm to get him to change I2CIO to something compatible with LGPL/GPL code. and all the rest of the code has an illegal license and should be LGPL 2.1+ as it is a derivative of the Arduino LiquidCrystal code and fm could not legally change it to CC BY SA 3.0

Contact fm and lean on him to get this resolved/fixed. Remind him about our discussion about licensing issues.

--- Bill Perry