But that doesn't mean it has to be hosted and released online. Many agencies work under the "not going to release anything until we get a FOIA request" model. Just because it is public domain doesn't mean it is public.
I realize that setting up an automatic integration between your existing source control system and github might be nontrivial (eg if you are using an unpopular source control system for which no easy conversion to git) so this won't work for everyone without funding (and it would be nice if some were made available for that)
But if you already use git (or something like SVN or hg which can easily interoperate with git) or don't currently use any SCM (!) then just publishing to github is a nobrainer.
Am I missing anything?
Of course, the last one is the worst. A lot of groups are getting their act together when it comes to starting open-source, but it is met with a lot of skepticism.
How can you (or we) ensure your FOIA request for code isn't responded to with a PDF of code?
Overall I think the FOIA is a great utility. Most big name federal agencies actually have FOIA liaisons that will try to help if they can. Some, of course, are just as douche-y as you would imagine (e.g. NSA, NRO, CIA). Though I did have a few good interactions with CIA FOIAs, mostly bad ones though. The FOIA actually says in the law that the reviewing official should look at a FOIA as "what can we release?" and not as "what can we hide?", and you need to tell people this more often than you would like. I actually used a FOIA to get my DNA information from the military's secret-but-not-secret DNA database. It's a database of every service member's DNA, and ostensibly is for identifying remains. That was actually very difficult, because nobody had ever FOIA'ed the Army's "funerary affairs" office for DNA information, and so they were under the impression they could just ignore my requests. That taught me a lot and was actually fun in a weird way. You just have to persist, and escalate if you don't agree with the response or don't get any. FOIAs are serious business, and most people in the US government are people just like you and me, and want to help you find what you're looking for. Though, some people in government -- like any other community -- are bullies on a power trip. Wow, sorry for the wall of text!
Apparently things are a bit more complicated than this, since works created by government employees are in the public domain in the US, but foreign copyrights are still held by the government. Unless the software is released with a FOSS license where applicable, I don't think public domain government code is compatible with other FOSS licenses (which are generally worldwide).
Even if it weren't the case that the US government held full copyrights abroad, it's still something of a problem because some jurisdictions do not have a concept of public domain - this is why the concept CC-0 licensing comes into play (it's public domain with a permissive license fallback).
See 18F's open source policy: https://github.com/18F/open-source-policy/blob/master/policy...
Shrinkwrapped software != bespoke software that is contracted to be developed for the government
IMO any software that is contracted to be developed by the government should be public domain, if the government "owns" the software then in reality the public "owns" it... after all the government is "for the people, by the people" right...
This does preclude the government from licensing the USE of software (like Windows, Office, etc) that is a completely different debate. However if the government is contracting with a company for the company to build custom software the exclusive use of the government they yes that should be Public domain.