FOSS situation is more complex than that.
The *real* problem is - who says that a particular feature or direction is a good idea at all? And being “inside the tent” is no guarantee of being able to steer the resources sensibly.
In this particular case, yes the companies were getting features for free, and now they won’t. But a *perfectly sensible* viewpoint for a manager in company A is this:
Should I subsidise external person to do this FOSS? Well, there’s a chunk of work and maybe I like some of it but only a bit. Plus some of it is likely flat-out opposite to what I need/want so I may need to allocate someone internal to make the mods I want on top. And then we’re sucked in to a FOSS commitment, and all for a “nice-to-have”. Nah, I won’t put that feature on the roadmap, if it arrives then great, if it doesn’t then I can live with that.
Alternatively if someone decides the new feature is actually necessary...(And how many features actually are, most of them turn out to be bloat after a bit), then we will implement the 10% we actually wanted, internally and that won’t actually take so much time. Effectively subsidising an external to do 10x what we want, in the hope that gets split more than 10 ways is maybe not a good bet.
Ok, maybe, should I subsidise this project with somebody internal to work on it. Then we focus to get the features we actually want. Which of my team would I put on it? Well, there’s Bill the FOSS evangelist. He’s actually a great coder. But the problem with Bill, is that he’s well-known for going off and doing stuff for weeks that nobody exactly asked for. That’s pretty much the definition of a FOSS evangelist. Within this company, I have him assigned under a technical lead that keeps an eye on him, and keeps him focused on what he needs to deliver. As long as we do that, he’s really productive. But if he’s on his own FOSS project, there’s really nothing to make him focus on the features we are telling him are important, he will just make castles in the sky again. No, then.