Back in March, the White House released a draft of a Federal Source Code policy for public comment. The purpose of this policy was to “require new software developed specifically for or by the Federal Government to be made available for sharing and re-use across Federal agencies.” In other words, the government was going to go open source.
Federal Source Code Policy Announcement. Source: White House Blog.
The reasons for such a move are numerous. A couple of specific goals for the policy, emphasized in the announcement blog with bold text, were saving tax dollars and encouraging innovation and collaboration between federal agencies. Saving money, unfortunately, is a goal thrown about endlessly in press releases from all levels of government, so a reflexive wariness of such a claim is understandable. However, saving money is virtually guaranteed when it comes to open sourcing software. Say a particular form-filling application is developed for the Department of Energy. If the Department of Defense also needed a form-filling application, it could use the Department of Energy’s application wholesale, or just as a starting point, saving potentially millions of dollars and months of development time over building its own, functionally-identical application from scratch. The federal government already spends more than $6 billion annually on software. No doubt that figure will continue to rise, but promoting code reuse and open source software can help ease the climb. The second goal, fostering innovation and collaboration, is, again, another widely used and abused one, but one that is immediately feasible in the context of open source software.
Last week, the official Federal Source Code Policy was released, outlining a plan for all new federal government software to be available for reuse across all agencies (with some exceptions, of course), and a pilot program for all federal agencies to release at least 20% of new, custom-developed software as open source software for three years. The latter rule in particular will create an environment of active, collaborative software development between the public, the federal government, and even private corporations, allowing technical knowledge to be shared easily across professional and civic divisions, and cultivating better application development through significantly broader user, developer, and knowledge bases. In some sense, you’ll be able to improve the operations of the United States government through a pull request.
Code.gov Home Page. Source: https://code.gov/.
The Federal Source Code Policy is not the first move toward openness through I.T. policies the U.S. government has made, however. In 2009, the federal government seized upon the blossoming big data trend, making 47 government data sets available on Data.gov for anyone to use. Today, more than 180,000 data sets are available, providing information on topics spanning climate science, education, energy consumption, finance, agriculture, natural disasters, manufacturing, and much more. The number and scope of apps built with Data.gov information is staggering, and has helped increase transparency in government. In addition, the Data.gov website itself is an open source project that you can contribute to right now. This is just one example of openness through software at the federal level, but it is a glowing one. Other open source initiatives in the federal government include 18F, the Consumer Financial Protection Bureau, and the Department of Education’s College Scorecard.
It is difficult to overstate the significant role open source software has played in the history of computing. Long-running projects like the Linux operating system have influenced generations of software developers, and runs on machines from single-board computers to the International Space Station and the CERN Large Hadron Collider. Enterprise flavors of Linux have sparked billion-dollar corporations. The Apache HTTP Server is the most widely used web server software in the world, and the dozens of other Apache Software Foundation projects continue to take root and grow. Even the Syncfusion Big Data Platform is built on top of Apache Hadoop.
With the Federal Source Code Policy, open source has ascended to a new level, bringing some transparency to an institution that we demand it from. At best, the policy could free up some of the locked bureaucratic gears and allow parts of the government to operate more efficiently. At worst, the policy builds a new avenue for sharing tools, information, and ideas between the government and its citizens, allowing citizens to do more for their country by using the programming skills they’ve been developing, both professionally and often for fun, for years. Perhaps some government websites may turn out to not be such terrible things to navigate along the way.
Code.gov, the face of the new policy, is live right now, but no software beyond the website itself is up yet. If you’re looking forward to exercising your programming skills while also performing a civic service, let us know in the comments below, or on Facebook and Twitter. If you’re an open source developer-advocate in particular, we’d especially love to hear from you.