I am going to implement a closed-source, commercial application that uses and links statically the modbus-esp8266 library which is released under a BSD New license. At the same time, you can see in this library's files (file1, file2) that it includes (#include) other libraries that are released under the LGPL 2.1:
(I am not a lawyer) I assume, that the modbus-esp8266 is properly released under the BSD license according to this anwser.
In case of my application, I don't provide the ESP8266WiFi library for building because the functionality of the application doesn't need it and it builds fine.
The Arduino.h file is needed by the application and is available by the system (the system is under LGPL and linked dynamically with the application-libraries binary).
Questions:
- As the application uses code indirectly (through the modbus-esp8266 lib) that is under LGPL 2.1 license from Arduino.h, do I have to comply with the LGPL license terms?
- Especially, do I have to let the end user to recompile the application-library object file with the parts under LGPL because of static linking of the modbus-esp8266 library?
I could also find this answer which explains exemption from LGPL terms if the included header file contains code of limited type only (numerical parameters, data structure layouts ...). However, I am not sure if the provided header files falls under this restrictions.