I created a program based on an LGPL project, and I’m not allowed to publish the source code

closed-sourcelgpllicensingopen source

I thought LGPL was a permissive license, just like MIT, BSD or Apache. But today I read, that only linking to LGPL (libraries etc) is allowed from closed-source code – other than that, it's copyleft – so I have to publish code that is based on an LGPL program.

I created a program for my employer that is based on an LGPL program, but has considerable modifications to it. Of course, I am not allowed to put that modified source code out there. At the same time, I have to, if I distribute it (right?).

So I wonder whether there is a workaround to this, so I can keep this closed-source (I wish I could publish the source) – any suggestions?

My idea: can I put most functions of the original LGPL app into an external library, write the core executable from scratch, but refer back to the library for all functions that I haven't modified?

Currently, everything is in a .jar file (it's Java/Swing). if you think my idea is legally/technically feasible – how much effort would it be to seperate what I wrote and what the original is? I'm not the most java savvy.

Best Answer

First of all, taking legal advice here (as in: the internets) is not a good idea.

Secondly, and this is just me speaking, not a lawyer, you should've thought of that before you took a LGPL'ed program and modified it for your employer.

If the license was something you could disregard just because you didn't like it, there wouldn't be much point in having one now would there?

If you and/or your employer is not willing to publish the source code with your modifications, you need to stop using that LGPL'ed code and get rid of it.

Again, that's just me speaking.

Get advice from a real lawyer.


In response to your question about circumventing the license by adding the code to a DLL, I would assume that would work in the following fashion.

What you would do would be to change the original program enough to make it able to call functions in external libraries. You would have to do so without making that piece of code specific to your needs, libraries, names of functions, etc.

Those changes you then publish, as per the license requirements.

Then you make your own external library with your own proprietary code and ask that program to load and execute it, using those modifications you made to it.

Not knowing the full extent of the LGPL license, I can't say if that is enough to avoid having to publish your library though I suspect it will.

However, again...

Get advice from a lawyer

Related Topic