One further: we should bar the government from giving subsidies and contracts. The government should do the work itself, not contract out to third parties who don't have to spend the money with the same constraints government has.
I would agree with this too. If contractors are able to attract the talent after government money is filtered through however many layers of bureaucracy, why wouldn't the government be able to attract that talent by paying directly?
As an american software engineer I've dreamed of working for the government, but unfortunately the opportunities with contractors far outnumber (not to speak of how the compensation and benefits compare) direct government employment, let alone private industry overall. I would gladly take a 5-figure pay cut for the chance to do the equivalent of my current work but for the government.