Open source is not enough: Why reusability matters for Government software

Five years after President Obama’s landmark Open Government Directive, more agencies conduct business online and more electronic data is available than ever before. Much of this is powered by open source software. While many of these projects have been constructed with open source building blocks, there’s more work to do to make this software reusable across agencies. The ideal is this: Use taxpayer dollars to pay for a solution once, then reuse proven solutions over and over again across federal, state, and local agencies at a fraction of the cost.

At the White House, we’ve evolved an approach to building and maintaining Drupal-based web applications, and come up with workflows and coding standards that make our software easier to maintain, reuse, and contribute. It took twelve months and dedicated engineering work to release our first open source project. Since then we’ve refined our approach, releasing and contributing to a dozen open source projects with minimal additional effort. As of spring 2014, open source development is the new default in the White House’s Office of New Media Technologies. You need a good reason NOT to open source something, not the other way around.

In this session we’ll share the White House’s approach to building for maintainability and reuse. Our two goals for this session are: (1) share our proven approach to making custom code that's reusable and releasable; and (2) invite the Drupal community into our process to help it keep improving.

This session is relevant for technical and non-technical audiences. The first part of the session will address program-level ideas: debunking the myth that reusable code is more costly or time consuming to produce, high-level workflows, and communication strategies that enable developers to engage with the open-source community. Second, we’ll look at specific touch-points for development: handy naming conventions, GitHub forks and pull requests, tips and tricks for making work easy to contribute and maintain without saddling your team with costly additional work.

Schedule info
Experience level: 
Beginner
Drupal Version: 
N/A