I feel you that the current situation is not good, but nobody is forcing developers to share their projects as open-source or to use a license that is company-friendly. If the maintainer(s) do not want companies to profit from the OSS without giving back they could easily use a copyleft License (e.g., GPL) or switch to a closed-source approach.
And btw. it's not super easy for companies to contribute on a voluntary basis - their investors or stakeholders would not allow/like it. What they can do is declaring it as "donations" and paying it from the marketing budget.