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.
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.
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 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.