I'm receiving a fair amount of questions as to how and what-if I want to run/distribute/mix/compile GPL v3 code and proprietary code.
Here is my best try at shedding some light on those issues but remember: IANAL and even if I were I wouldn't be yours (nothing personal :-) )
Many FAQs/Forums are a bit disingenuous in that they don't always insist on what's possible (or might be) if it does not exactly fit their particular ethic.
Even so I have strong opinions on what people should and should not do (even if they can) with open source, I'm also a firm believer that once a cat (well, a license) is out of the bag it's better to trust people and to provide them with as much information as possible so that they can choose by themselves.
Bottom line: Benevolent dictatorship should be limited to project management and never apply to people free thinking.
In the following, keep in mind 3 things:
- Since so far the GPL hasn't been much tested in court ( GPL v3 hasn't at all)
all we knowall we can reasonably try to rely on (in addition to the license itself) is the intent of the authors as reflected by the FAQ of the fsf site for instance.
- Even so you're under the impression you're following instructions or licenses to the letter, a judge will likely take into account both your intention and that of the authors (in addition to the license itself, the jurisprudence of copyright and any other applicable references). This is especially true if you're not in the US (i.e. local copyright legislation might differ severely)
- Since under the GPL the end-user can do whatever they want with the code (short of redistribution constraints), the end-user can always PULL various software on the Net and choose to combine and use them in any way they wish (assuming all parts are legits and legitimately obtained of course).
- This DOES mean that I can combine any proprietary software I have a license for with any GPL software I wish and use it as I please as long as I don't redistribute any of it.
- It does NOT mean that I can offer (PUSH) to the user a proprietary software that has been conceived with the goal/intent of being combined with a GPL software (whether it is deemed to be combined before or after distribution). It does not mean that it's impossible either and that's precisely what we discuss here.
Remember: the following answers are here to give you a sense of how I think it works, they are not and cannot be construed as legal advice.
CAN I mix and match the following without PROPRIETARY source distribution obligations?
- GPL program + PROPRIETARY module or PROPRIETARY program + GPL module
- see this part of the GPL FAQ
- Bottom line:
- NO the combined software must be released under the GPL
- YES IF all of the authors (maybe you only if you're the sole author) of the GPL part agree to relicense the program to you under a permissive license like the X/MIT for instance
- GPL program + PROPRIETARY plug-in or PROPRIETARY program + GPL plug-in?
- see this part of the GPL FAQ and also this one
- Bottom line:
- YES IF in good faith you think that the 2 codes are not tangled (ideally they run within 2 different processes), that the interface is clean and minimal (no large data structures shared) then you should be ok.
- YES IF all of the authors (maybe you only if you're the sole author) of the GPL part agree to relicense the part under a permissive license like the X/MIT for instance
- GPL program + PROPRIETARY library?
- see this part of the GPL FAQ and the definition of System Library in the GPL.
- Bottom line:
- YES IF the library is really a system library (in the GPL sense) then you can distribute w/o the source of the PROPRIETARY lib
- YES IF the library is not a system library then you must provide an exception to the GPL license (described in the FAQ above) in order to distribute w/o the lib source: this does mean you have gotten the authorization of all of the authors if you need to introduce the exception (works just fine if you're the sole author).
- YES IF all of the authors (maybe you only if you're the sole author) of the GPL program agree to relicense the program under a permissive license like the X/MIT for instance
- YES IF the library is really a system library (in the GPL sense) then you can distribute w/o the source of the PROPRIETARY lib
- PROPRIETARY program + GPL library?
- see this part of the GPL FAQ
- Bottom line:
- YES IF the Library is a LGPL library (see the LGPL )
- YES IF in good faith you think that the codes are not tangled (ideally they run within 2 different processes), that the interface is clean and minimal (no large data structures shared) then you MIGHT be ok.
- YES IF all of the authors (maybe you only if you're the sole author) of the GPL library agree to relicense the program under a permissive license (X/MIT for instance) or under the LGPL.
- YES IF the Library is a LGPL library (see the LGPL )
- Can I publish my experience of combining GPL and PROPRIETARY software even in the case I'm not allowed to distribute the combined work?
- In the US Freedom of speech give you that much but I wouldn't link directly to a GPL download site, just to stay safe. Also if you are part of the authors of the NON-GPL code it's probably a big no-no.
- Overall you cannot collude with third-parties so that for instance one would describe (or publish a tool) how to combine, one would distribute the GPL part and the third one would distribute and/or sale the NON-GPL part. (remember: intent is key)
- Can I X/MITize or LGPLize by wrapping around a GPL code? Bottom line:
- Is it legal to reverse engineer (GPL) code? Maybe if you do it properly: consult a lawyer
Related articles:
The term "non-GPL" as you use it is confusing, there are two different topics, namley code the is GPL _compatible_ and code that is not.
Mixing (in the sense of creating a deriviate work) GPL compatible code is always allowed, even if it might not be the GPL.
Mixing code that is not GPL compatible is never allowed unless it is as you note, a system library.
Alfred M. Szmidt // GNU hacker
Posted by: Alfred M. Szmidt | April 16, 2008 at 03:18 AM
ams,
You're right. I've fixed it partially (replaced NON-GPL by PROPRIETARY) for now.
Thanks!
Posted by: mtg | April 16, 2008 at 05:35 AM
I'm also a firm believer that once a cat (well, a license) is out of the bag it's better to trust people and to provide them with as much information as possible so that they can choose by themselves.
Posted by: ffxiv gil | September 12, 2010 at 07:19 PM