gebn/bmc

LGPLv3 incompatibilty

abhay-krishna opened this issue · 2 comments

We indirectly consume this project when we build the Tinkerbell PBNJ binary.

go mod graph on PBNJ project:

github.com/tinkerbell/pbnj github.com/bmc-toolbox/bmclib@v0.4.14-0.20211027184927-2f9a20e0a479
github.com/bmc-toolbox/bmclib@v0.4.14-0.20211027184927-2f9a20e0a479 github.com/gebn/bmc@v0.0.0-20200904230046-a5643220ab2a

However since it is licensed as LGPLv3, it causes compliance and legal issues and makes it incompatible for our use-case. I believe LGPLv3 also requires that libraries be dynamically linked to applications if the original license of the application is to be preserved (that is, if you statically link against a LGPL library, you must license the entire application code with LGPLv3). I was curious behind the reason for choosing a copyleft license like LGPL, and whether you've had any considerations to vend this project under more permissive licenses. Also could you suggest other options to maintain compatibility with licenses such as Apache-2.0 and MIT License?

gebn commented

Hi @abhay-krishna, thanks for letting me know about this, and I can see you've raised bmc-toolbox/bmclib#256. Given the kind of audience that would use this library, LGPL is intended to ensure modifications are published for everyone's benefit - I'm afraid there is no intention to maintain compatibility with Apache/MIT.

Thank you for the response @gebn. I submitted bmctool-box/bmclib#257 remove one of their IPMI providers that consumes your BMC module. We shall be patching PBNJ to use that commit.