The Free Software Foundation considers EPL and GPL to be incompatible. Based on my reading of their reasoning, it would seem that the LGPL would be similarly affected -- IANAL, please correct me if that reading is incorrect. Now, there is a guide for the copyright holder of the GPL-ed code to provide exceptions allowing for the code to be linked against incompatible libraries, but it'd still preclude linking to GPL-ed code from others (if the code is already linked against an EPL library), and the situation with linking a GPL-ed program against an EPL and another LGPL library seems unclear.
I'd like to know the answer to several questions:
- What exactly is the restriction against linking a GPL-ed product against both an EPL library and an LGPL library? Is it not allowed without the LGPL copyright holder's explicit permission, as it would be with GPL, or is it allowed?
- Would an exception granted by the EPL copyright holder be sufficient? Such an exception was considered safe by Trolltech (now part of Nokia), when it used to license the Qt library using its own Qt Public License which is GPL-incompatible; and by the KDE project, whose libraries link against Qt and are released under the LGPL, while KDE apps are generally released under the GPL. The FSF's objection is due to "weak copyleft" and "choice of law clause" -- the former seems unobjectionable, if the EPL license holder grants an exception, but what sort of exception granted by the EPL copyright holder would satisfy the "choice of law clause" objection?
Caveat Emptor: I am not a lawyer, but I have read these licenses quite closely. If you are making any commercial decisions, you must consult a lawyer. Period. Otherwise, you will expose yourself to considerable legal risk.
First, let us address your specific questions
Question: What exactly is the restriction against linking a GPL-ed product against both an EPL library and an LGPL library? Is it not allowed without the LGPL copyright holder's explicit permission, as it would be with GPL, or is it allowed?
Answer: Decomposition follows.
Question: Would an exception granted by the EPL copyright holder be sufficient? Such an exception was considered safe by Trolltech (now part of Nokia), when it used to license the Qt library using its own Qt Public License which is GPL-incompatible; and by the KDE project, whose libraries link against Qt and are released under the LGPL, while KDE apps are generally released under the GPL. The FSF's objection is due to "weak copyleft" and "choice of law clause" -- the former seems unobjectionable, if the EPL license holder grants an exception, but what sort of exception granted by the EPL copyright holder would satisfy the "choice of law clause" objection?
Answer: Decomposition follows.
Finally, I am also facing a similar issue as I try to combine Java code from Eclipse and OpenJDK.
My reading of the licenses says that combining these works is allowed expressly because Eclipse uses the term derivative work in their GPL 2 & 3 incompatibility statement. Further, the Classpath Exception specifically states that linking against this library does not create a derivative work.
The above diagram shows the relationships between licenses. Though not comprehensive, if there is an arrow then it is compatible.
From the Eclipse website it states:
In my opinion, unless an exception is made - LGPL and EPL code should not be combined. In fact, a lot of software is dual-licensed under LGPL and EPL.