I'm still bummed out that for years, GPL was the "standard" go-to open source license. So many projects became useless for any commercial projects whatsoever.

GPL advocates say it's so that your code isn't exploited by corporations.

But I'd say that choosing GPL means it's more important to you that your code "is not exploited by corporations" than that it can be used for good by people with commercial interests.

Those two things do not have to be synonyms. I'd much rather allow the second if it means tolerating the first.

(Edit: Seeing the downvotes, I'd be genuinely interested in counter-arguments or thoughts on this)

(Edit 2: Just because it keeps coming up, let me make absolutely clear that I do NOT in any way think GPL might never be a valid choice, nor that anyone, myself included, should feel "entitled" to "free as in *.*" code.)

Why GPL makes them useless?

In my view, if your business requires leeching on unpaid work without contributing back I am happy about my code being useless for you.

GPL makes "them" (especially small one-off libraries) useless because even the smallest part can not be used without therefore needing to "contribute back" the ENTIRE app.

(edited to clarify I don't mean ALL projects become useless through GPL)

Which is very useful feature for me, the author of GPL'ed code.

Making your code useless to some of potential users is a useful feature?

Yes, especially if the code not being GPL means the bad actor can create a product which then makes your code useless, or worse, evil (via a monopoly, bundled telemetry, or otherwise)

Can you show a scenario demonstrating how GPL prevents this from happening?

Here's a very recent example, the Audacity fork without all the new telemetry and related issues: https://github.com/tenacityteam/tenacity