I’m a very much pro free software person and I used to think that GPL is basically the only possible option when it comes to benefits for free software (and not commercial use), but I’ve recently realised this question is actually much more ambiguous.
I think there are two sides to this issue:
- GPL forces all contributions to stay open-source which prevents commercialisation* of FOSS projects, but also causes possible interference of corporate software design philosophy and all kinds of commercial decisions, if contributions come from companies.
- MIT-like permissive licenses, on the other hand, easily allow for making proprietary forks, which, however, separates commercial work from the rest of the project, therefore making the project more likely to stay free both of corporate influence and in general.
So it boils down to the fact, that in my opinion what makes free software free is not only the way it’s distributed but also the whole philosophy behind it: centralisation vs. decentralisation, passive consumer vs. co-developper role of the user etc. And this is where things start to be a bit controversial.
What do you think?
*UPD: wrong word. I mean close-sourcing and turning into a profitable product instead of something that fulfils your needs


I have never understood this fork argument. All it takes to make it work is a clear division for the project.
If you want to make something, and it requires modification of the source for a GPL project you want to include, why not contribute that back to the source? Then keep anything that isn’t a modification of that piece of your project separately, and license it appropriately. It’s practically as simple as maintaining a submodule.
I’d like to believe this is purely a communication issue, but I suspect it’s more likely conflated with being a USP and argued as a potential liability.
These wasteful practices of ‘re-writing and not-cloning’ are facilitated by a total lack of accountability for security on closed source commercialised project. I know I wouldn’t be maintaining an analogue of a project if there were available security updates from upstream.