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.