Question

I have read Interfacing with GPL applications from MIT licensed code - is a dual-license unavoidable? (now deleted) on Stack Overflow, but it doesn't appear to fully answer my question.

I maintain a library which is licensed under the MIT License. In my MIT licensed library, I dynamically link (Python ctypes to be specific) against another library which is licensed under the GNU Lesser General Public License 2.1 (LibRaw). This would be fine by itself, however, LibRaw is sometimes statically linked against a sort of "plugin" called the LibRaw Demosaic Pack which is licensed under GNU General Public License 2+ or GNU General Public License 3 depending on the version. I have no way of checking if LibRaw has been linked against these libraries. (LibRaw is just installed on the end users computer and when they download our library and use it it links against it, I am not redistributing or building LibRaw.)

Does linking against the LGPL library from my MIT library when the LGPL library has been linked against GPL code mean that I'm illegally using GPL code in my MIT Library?
If it is so, is there some way around this short of sub-licensing parts of my code under the GPL, or dual-licensing (which is just confusing for the end user)? Or can I still link against the LGPL library under the terms of the LGPL even though it then links against GPLed code?

Was it helpful?

Solution

You designed your library to depend only on the LGPL version of LibRaw. That way you are following the license conditions of LibRaw. When the end-user links it against a version of that library which contains GPL code, that's their own business, not yours.

You can not prevent your end-users from doing this. And doing that is not even illegal for them: The (L)GPL only governs redistribution, it does not restrict what people may do with the software on their own machines.

However, other people are not allowed to distribute an application which depends on the GPL version of the library under MIT, because in that case they would be violating the GPL license of the demosaic pack. But what they can do is redistribute the whole application with your library all under GPL. Both the LGPL and the MIT license allow relicensing under the GPL, so anyone can turn a MIT-licensed work into a GPL work. But that's an issue between them and the authors of said plugin. You are out of it because your library only requires the LGPL version.

By the way: If you have any similar questions, then you might want to ask them on Open Source Stackexchange.

OTHER TIPS

The question becomes really simple if you are releasing as free and open source and everything using your code is also free and open source: everything will be fine as long as your code is using a compatible license. If your code is proprietary or is used in proprietary software, it becomes a bit more complicated. The main question is whether or not you or others are using your MIT licensed code in a proprietary manner.

You can link to code covered by the GPL even in proprietary systems as long as the license is compatible. The MIT license is generally compatible with the GPL, but I recommend asking FSF directly as these multi-license situations can be tricky.

Licensed under: CC-BY-SA with attribution
scroll top