I am developing a Modbus library for use on microcontrollers.

Internally, I am using an (apparently) heavily-modified version of libmodbus (slightly-modified from the version that comes with ArduinoModbus) and a slightly-modified version of ArduinoRS485.
Both of these libraries are licensed under LGPL-2.1.
They are stored under my src directory, and #included into my library's source files.

I assume, then, that this does not count as "linking to the library"? (only linking to the library makes you work exempt)
Which means that I have to license my entire library under LGPL-2.1 or 3.0?

I really don't like how restrictive the LGPL is, and I would prefer MIT.

1 Answer 1


As I read it, you are right, your library must be released under LGPLv2.1(+). You've based it squarely on the libmodbus code, which is indeed LGPLv2.1+, and by s2c you must release your modified version of the library under the same license.

I'm sorry you'd prefer to write an MIT-licensed library, but you chose to modify LGPL code, and so the old adage applies: if you want to get to there, don't start from here.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.