While looking around the Internet for examples of I2C driver code for the 8051, I found a couple released under the GPL.
Now first let me say I'm entirely supportive of GPLed projects. After all I depend on a lot of them.
However the GPL is unsuitable for libraries that will be incorporated into firmware. If I distribute my MCU widgets containing this firmware I will have to offer access to the GPLed code and any code linked to it. LGPL or another license like MIT would be more suitable. I suspect the authors of those GPLed library routines had good intentions of contributing to the open software ecosystem, but failed to understand that this actually hinders adoption of their code.
Fortunately, in the case of the I2C routines, it's not rocket science and easy to write replacements after having studied various tutorials and examples.