views:

115

answers:

3

I want to port LGPL library to another platform. This would introduce some changes to the library itself (mostly #ifdefed pieces of code) and also would require me to write additional code to glue library to the platform.

Now, I know that I will have to make available modified library source, and this is no problem. But should I make available that glueing code too? Glueing code is in another dynamically linked library that I intend to sell. Modified LGPL library will compile and link. It will fail later at runtime if glueing library is not available. So technically I comply to the license, except for the fact that library is unuseable without commercialy distributed part. But on the other hand this is no different from dynamically linking to the OS libraries. Without that libraries nothing will work, and they may not be available on platforms that nevertheless can compile library (think Windows / Wine).

So what do you think? Will such port comply to LGPL?

A: 

As with all similar questions that have been answered here, you really need to talk to a lawyer familiar with software licensing laws about this. Any answer on here is just conjecture. But as I understand the LGPL, what you are proposing could potentially be a violation of the license. Go talk to a lawyer about it though.

BBlake
A: 

Consult a lawyer. There is no substitution for true legal advice.


That being said, I believe you should be fine, provided you allow the original LGPL library to be regenerated by the end user. This means that your "glue" code needs to be kept separate (it can be a library that uses the LGPL library, but not part of the same DLL/shared lib, since that would prevent the end user from being able to regenerate.)

For details, see section 4.d.1 of the LGPL. Basically, as long as they can replace the LGPL portion with a "modified version of the Library that is interface-compatible with the Linked Version", I believe you are technically following the license.

Reed Copsey
A: 

You are correct that your modified LGPL library will still have to be licensed under LGPL. It makes no difference if it's useful by itself; the LGPL doesn't care what the modified work does, just that it is a derivative work of the original.

Your own code, assuming I'm reading your question right, is essentially another project which makes use of an LGPL library. The LGPL is designed to allow such code to be licensed under other licenses.

That said, if there's any doubt, you should check with a lawyer. Consulting the maintainers/authors of the LGPL library might also be helpful - the people who select these licenses often have a pretty good idea what their rights are.

Jefromi