So just a few thoughts to help along here. And this is not legal advice etc… but just some thoughts from me on a Saturday.
First: There’s lots of gpls not just one. The two big ones: Lgpl2 is a library gpl. If you modify the source to the lib you need to redistribute it but if you link the lib your code is fine. Gpl3 is the more recent gpl. It has the feature of being “viral”’or “contagious”; if you link gpl3 software in an application you distribute that application has to be gpl3 (or at least needs to make its source available - there’s a debate about whether it has to be gpl3 or just open source).
This means most companies can’t use gpl3 software. It also means if you write, say, a kick ass analog filter library that is gpl3, a software vendor can’t put it in their closed source synth.
Gpl3 is great for things like surge (a synth i work on) since it means if someone does take the source and modify it and sell it, they have to give that modified source away. If someone did that, I could then take their mods and put them in the free surge. So defacto the software is free forever and not integratable into closed source projects. Which was the intent.
So what has rack done? Well Andrew describes it well over in the rack community but short version is: he is the sole author of rack core so he distributes it under a dual license. You can get rack as gpl3 - which means if you make a derived work (a module) your work must be gpl3 (or maybe another open source license - like I said folks disagree on this). But since he is the Sole author and holds copyright, he can also license a separate (but identical) copy under a non gpl3 license to folks who want to make or sell closed source extensions. This is the same model Steinberg has used with vst3sdk. You can get it gpl3 and be opensource or you can cut a deal with Andrew (rack) or Steinberg (vst3sdk).
For avoidance of doubt I think this is a cool and clever model for music software!
Well run organizations which want to do a multi license model will either not take third part contributions (which is the rack model) or ask contributors to sign an agreement assigning copyright to the owning entity. That way the entity can continue to sell the software because the ownership of copyright is unambiguous,
In surge we take contributions broadly and have individual authors hold their copyright so it will basically be gpl3 forever. If we wanted to ungpl it every author would have to consent or someone would have to remove all the non-consenting authors contributions. Never gonna happen.
Compare this with mit or bsd licenses which are super open. If someone uses your code they don’t have to be open source at all. Apache2 is also very corporate friendly and a bit tighter than mit and bsd.
So if you want to write Open source software and make money you have to think about contributor management, multi licensing, and ownership as well as core license.
For music software specifically - where the end user wants the product but components can be intermixed - you probably want to avoid mit or bsd if you want to be paid and lean towards something more like gpl3 and an alternate license with clean copyright. That way the only person who can make a closed source version is the copyright holder and a person who uses your code would get contaged by gpl3.
Some foss folk will call this approach “weaponized gpl” and mean that in a pejorative sense. But i think it’s a smart model for a field as wierd as music sw.
Hope that helps!