Closed bperrybap closed 3 years ago
Duplicate of Issue #27
I'm not sure how the duplicate got created. My browser did report "server not found" the first time I submitted it so I submitted it again. I guess the first submit actually did create it even though I got the error.
While the licensing of LiquidCrystal (or bundled Arduino libraries in general) was not obvious prior to 2015, things got much clearer in 2015 to more clearly state the current and past license for the LiquidCrystal library going back to 2006 was/is LGPL 2.1
This library code is a derivative of LiquidCrystal and LiquidCrystal_I2C both of which were/are licensed LGPL 2.1+ LGPL 2.1+ does not allow re-licensing derivative code with a different license with substantially different terms such as public domain or MIT The LGPL 2.1+ terms require that this library must also be licensed as LGPL 2.1+ or can use the "+" convert option to convert the license to a later/newer license such as gpl v3
This is from SerLCD.cpp
I have notes on LiquidCrystal and LiquidCrystal_I2C files that go back more than 10 years. Unfortunately, some of the web pages & files are no longer available.
Here is a more complete background history of the LiquidCrystal_I2C code.
The key take away is that the LiquidCrystal_I2C library is not an original work by DFRobot. The DFR code is a derivative of an earlier LiquidCrystal_I2C work by Mario H. which is derivative of LiquidCrystal
The LiquidCrystal_I2C files found out on the net typically have no copyright or licensing notices in them but they are clearly from the same origin given they are all nearly identical to the much older LiquidCrystal_I2C files by Mario H which originally were hosted here https://hmario.home.xs4all.nl/arduino/LiquidCrystal_I2C
This web page: http://playground.arduino.cc/Code/LCDi2c mentions Marios LiquidCrystal_I2C library as being available as of 2009-09-14 Mario's web page also claims his library was released in 2009 and in the V1 zip image here: http://www.xs4all.nl/~hmario/arduino/LiquidCrystal_I2C/V1.0/LiquidCrystal_I2C_V1.0.zip all the files but 1 are dated 2009. And in the info sub directory there is a file called "readme.txt" which states:
So given Mario's LiquidCrystal_I2C library predates DFRobot LiquidCrytal_I2C and DFRobot LiquidCrystal_I2C seems to have started with Mario's code, DFRobot LiquidCrystal_I2C would be a derivative of Mario's LiquidCrystal_I2C library and Mario's library is a derivative of the IDE LiquidCrystal library.
While the IDE LiquidCrystal code did not contain copyright notices or license information in the LiquidCrystal source files themselves, at the point in time when LiquidCrystal_I2C was created, the IDE LiquidCrystal code was licensed as LGPL 2.1 as indicated in the license.txt file in the root directory of the arduino.cc IDE repository which was committed October 11, 2007 and has not changed since. It can be seen here: https://github.com/arduino/Arduino/blob/master/license.txt license.txt was a catchall license for all Arduino core files and libraries provided by the IDE. It contains a small note:
===========================
===========================
What is below that tiny comment in the readme file is a LGPL 2.1 license agreement. So it seems that the intent was that the LiquidCrystal library was released as LGPL 2.1
In 2015 the IDE LiquidCrystal source files were updated to contain a copyright notice and license within the files.
To make it clear that the license for the LiquidCrystal library originally was and still is LGPL 2.1