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


AGPL, along with all code contributed having copyright attributed to the project is the only true way. this is because MIT allows companies to internalize projects and completely co-op them.
The important detail of making this work is creating secondary commercial licenses which companies can use in order not to reveal or contribute code back. this provides a mechanism for open source projects to make money, while protecting the end users. which have come to depend on it, or which may have contributed to it as an author. this need is why the copyright attribution to the project is necessary for all contributions.
I cannot understand why this is not a more commonly chosen path. it really strikes the perfect balance between allowing companies to use code in whatever way they might need to (as long as they are willing to pay for it), creating support for open source projects, and preventing and shitification of successful open source projects which users support.
importantly, any such commercial license is offered should include prohibitions against re-implementation, as well as time limits so that the software cannot continue to be used indefinitely if an unanticipated but non-breaching use creates risk to the original project