3 ms·
The other half of the dual license is commercial. They can purchase a license and use it under the commercial terms, or use it for free under the GPL terms. U
by mtrower 4y ago
The other half of the dual license is commercial. They can purchase a license and use it under the commercial terms, or use it for free under the GPL terms.
Under the GPL terms, the derived work becomes GPL (this is why people call GPL infectious or viral). The project may include unrelated MIT components alongside GPL components, but the project itself becomes GPL, along with any derived components (i.e. components making use of the GPL components). It’s kind of the entire point of the GPL.
It’s also why we ended up with LGPL, which offers a linking exception.
- jenadine 4y agoI disagree. The GPL can't force a license on your code. It just force a license on the whole program that all its components must respect the freedom of the GPL. As long as the code that use the GPL is under a GPL compatible license (such as MIT), you're good. I.e: you're free to give more freedom in your code than the ones required by the GPL. The virality is something else: It is that you must disclose the source of the whole program that use a GPL only library. And you're doing that with MIT
- MatthiasPortzel 4y agoYou do have to license the whole program as GPL, but as you say, you are free to duel-license parts of the code with a more-permissive license. https://www.gnu.org/licenses/gpl-faq.html#GPLModuleLicense https://www.gnu.org/licenses/gpl-faq.html#GPLModuleLicense
- jcelerier 4y ago> you are free to duel-license parts of the code with a more-permissive license. you don't need to dual license it - either it's compatible with the GPL (MIT is) and then can be shipped as part of a GPL program, or it isn't and then you cannot distribute the complete program.
- bombolo 4y ago> The GPL can't force a license on your code. It doesn't. It just doesn't give you permission to use the GPL licensed code unless you comply and use GPL.
- mtrower 4y ago> that all its components I didn’t say all of its components, I said components making use of GPL licensed components or code. His math code could totally be licensed MIT, depending on how the program is put together. His UI code is inextricably derivative of QT though — you can’t separate the two. So even if that code itself could be licensed MIT (which is not clear to me), practically speaking, it can only be used alongside the GPL component and thus in a GPL work. In some few situations, I suppose the distinction could matter, though.