On the one hand, the permissive license of log4j allows for, and is part of why, all these companies use it. I think these permissive licenses are good for software that benefits everyone, because it assists in mass adoption. I don't care about the companies, I care about the technology. Imagine if Zstandard, for instance, couldn't be as widely adopted due to a licensing issue.
But at the same time, fuck these permissive licenses because they are the most extreme enablers of corporations benefiting without having to give back. I think all software should be GPL. But even the GPL doesn't necessarily solve this problem, which brings me to what would be a big part of the solution in my mind:
Tax the fucking shit out of the rich and top companies and reduce the number of hours of the work day. If you're an American developer and you had actually good social services, you would both have more free time to do what you want, and safety so that you can afford to spend time on even a more meagerly funded project.
Taxes on profits and wealth seem like the only "fluid" way to fund the maintenance of these open source projects that the economy depends on now. What you describe would allow a whole new level of innovation not even bound by market forces.
Log4Shell is an example of way too much code made way too convenient to abuse though.
Companies want the labor savings of FOSS, where they are able to pull huge pieces of functional software off the shelf, but don't care to give anything back. In fact, many companies make it extremely hard to contribute back on company time because MUH INTELLECTUAL PROPERTY