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. Tho…
This is the tale of Linux vs FreeBSD. Companies like Juniper that made heavy use of FreeBSD as the basis for JunOS have an atrocious history of failing to contribute their changes back to the community, and Juniper isn't the only one engaging in this behaviour. Sure there are other reasons that Linux took off and FreeBSD didn't, but license is a major factor in how their respective communities behave.
Yes, there are times when copying BSD licensed code is easier if you don't want to publish your source, but it isn't too difficult to adapt business processes to this constraint for the vast majority of applications. Look at what happened in the wireless router market. Early in the 2000s many products made use of the various vendors' Linux based SDKs and weren't compliant at publishing their source. Today OpenWRT is vibrant and most vendors offer GPL archive downloads on their websites. Personally, I don't think this would have happened if Linux wasn't GPLed and there wasn't the pressure the GPL afforded on vendors to open up their code.
I understand and respect John Carmack's position, and the GPL isn't for everyone, but people need to understand that license can result in significant differences in the viability of a community built around a software project on the longer term scales of 10-20 years.