With the free open source license - am I allowed to sell my product (as some kind of cost recovery for maintaining?). Can I use the free license when I integrate modules that were coded without using the juce framework but closed-source?
I’m no lawyer, but as far as I understand it you can sell products you’ve created with JUCE as long as they are GPL too. You just have to make the source available to anyone who requests it. As for mixing closed source code with GPL code, I’m not sure, but my gut says no. It feels like if this was possible it would open up a great big can or worms. Seems to me that all code would need to be GPLed. But once again, I ain’t no lawyer.
Yes, you can sell GPL software, no problem.
But the whole point of the GPL is that to comply with it, you must release ALL of the code in your product under the GPL. (Otherwise it would completely pointless for such a license to exist!) So if you’re linking to any closed-source parts then you would definitely need a commercial license.
A working example of this is Ardour, an open source DAW:
The thing about Ardour is that it’s a MAJOR pain to build, even more so if you’re a musician with no coding experience looking for a DAW. That’s how they make money, by selling the binaries while still providing the full buildable source right next to it.
Is obfuscated code still “open”, or is it already “closed”?
Well, Ardour isn’t obfuscated, it’s just that it has a huge number of dependencies, build gotchas, etc.
Releasing unbuildable/unsuable modified sources is a thing some companies do though, famously TiVo (so famously there’s a phenomenon called “Tivoization” - https://en.wikipedia.org/wiki/Tivoization). The only problem is it’s really difficult to do without being in violation of the GPL since using GPL required code requires ALL code touching it is released under GPL. TiVo’s loophole was only authorized builds could be run on their hardware, so builds from source by customers were useless.
IANAL, but the GPL (especially v3) is pretty airtight - if you want to market your product commercially as anything other than donationware, purchase commercial licenses for whatever GPL code you’re using (I assume JUCE).
Obfuscated code is definitely closed.
From a legal standpoint, obfuscated code might technically be open. You have to remember that the law is based on precedent and on minute details that a judge has to look over. There’s a chance that a judge might rule against you, if it ever went to court, but this is not a certainty.
I don’t think that the GPL license makes any clear distinction between obfuscated source code and non-obfuscated source code. And within the law, generally there is a principle that if a person asks you to enter into a contract (and yes the GPL is a contract) that does not clearly specify the terms and conditions, then that is their loss. They can’t come back and demand stricter terms than were actually specified in the GPL.
Ethically though, releasing obfuscated code is bad because it is seeking a loophole that allows you to gain at ROLI’s expense. That is not right.