Absolutely agreed. Public money, public code. So much software can be shared between various governments it's not even funny how much money was wasted on useless huge vendors like Accenture and IBM.
I like the sentiment, but have struggled on mechanism. Basically, we need to incentivize creating & running good OSS projects: the more direct the incentives, the harder for non-maintainers to game the system.
I suspect the current proposal tilts the bias even further to consulting companies who explicitly rather compete on butts in seats writing code vs OSS product teams wanting to build quality code that minimizes servicing needs. On any individual contract, the product team would be more expensive and thus less competitive, and no longer have a proprietary advantage built up over time to defend against that: the services team can hack the same code.
My observation is 100% as a product person who sees these bids go out and contractors take either most or all of a contract because of this dilemma. If we open sourced even more, we'd get even less interest, despite writing measurably better code.
Instead, I've been thinking something like "X% budget / yr should be grants to SMB OSS project maintainers" based on a few flavors (gov use, commercial use, ...). Incentivize creating popularly used OSS, vs more services. Like take the SBIR budget and make a 20% match to SMB OSS. Maybe a DAO that'd actually help :)