This week, the U.S. government unveiled its official Federal Source Code policy.
Here is, in my opinion, the key excerpt from the announcement:
“The policy, which incorporates feedback received during the public comment period, requires new custom-developed source code developed specifically by or for the Federal Government to be made available for sharing and re-use across all Federal agencies. It also includes a pilot program that will require Federal agencies to release at least a portion of new custom-developed Federal source code to the public and support agencies in going beyond that minimum requirement.”
In short: All new code developed for the federal government needs to be made available to other federal government organizations. And then a small portion of that is going to be looked at being released to the public.
I'm still reading through everything—it’s a rather dull read—but I was surprised at what was not included. Specifically, there’s no mention of the GNU Public License (GPL) whatsoever. In fact, the only mention of GNU or free software is one word tucked away at the bottom of the document under a definition of “Open Source.” I’m not surprised, but still it’s a bit disappointing.
In fact, everything about licensing seems to not have been thought through yet. The following is the sum total of how code will be licensed in this policy:
“Licensing is a critical component of OSS and can affect how the source code can be used and modified. Accordingly, when agencies release custom-developed code as OSS, they shall append appropriate OSS licenses to the source code. Additional information on licensing will be available on Code.gov.”
At the moment, it appears code.gov isn't much more than a mostly empty (but rather nice looking) landing page. But, and here's the cool bit, the code for that landing page is up on GitHub, and it’s released under the public domain, with a total of 25 commits thus far.
The policy itself is also up on GitHub. No joke. It was also released to the public domain, with 75 commits stretching back over the last few months.
How cool is that? We can actually walk through each and every change merged into the Federal Source Code Policy to see how it changed over time. If only all parts of the government were this open.
A good first step
This policy seems like a good first step. It's not ideal. The lack of an actual, clear policy around licensing renders many of the potential benefits from this nearly moot. And the fact that only a tiny fraction of the code is planned to be released to the public borders on being ridiculous and short-sighted.
If the current leaders of the U.S. federal government were truly committed to an open and transparent government, they would put forth a plan that mandated all (100 percent) federal agency source code be released under a free software license to the public in a given window of time. That would be bold. That would be inspired. That would set a great example to governments around the world—it could show everyone the distinct benefits of open source and free software.
But, hey. At least it's a step—a teeny, tiny baby step. Let's just hope it doesn't stop here. It would be nice if our government could move beyond baby steps and learn to actually walk one day.