ShareThis

Strength in Numbers

Open Source software is defined by the community as much as it is by the code.

By Brad Causey • Fall 2012

The sophistication of our electronic devices—from the light-as-a-feather laptop to the smartest smartphone—represents a pinnicle of human scientific progress at this cool down of the 21st century.

Software is the lifeblood of computer technology that makes it all possible. A smartphone is little more than a paperweight without the operating system that enables us to download and enjoy all of those wonderful apps.

As the demand for software has become universal, the natural evolution of technological progress is to standardize and commoditize basic needs, in order to provide everyone with a solid foundation (of source code) upon which to build new capabilities to solve new problems. Open source software is the present stage of that evolutionary process.

Open Source Semantics

In 2009, the Office of the DoD CIO released a memorandum titled, Clarifying Guidance Regarding Open Source Software (OSS), in which it defined OSS as "software for which the human-readable source code is available for use, study, reuse, modification, enhancement, and redistribution by the users of that software." It continues, "In other words, OSS is software for which the source code is 'open.'"

What does that mean, exactly? It means every line of code is available for anyone to read, study, learn, and ideally, to improve. The philosophy is simple: all of us are smarter than any one of us. OSS is built and developed by a community. It is an example of network-mediated peer collaboration where people all over the world can work together without the coordination of any central hierarchy.

Take Wikipedia, for example. The principle is the same—just swap encyclopedic knowledge for software code. People across the globe contribute a piece of information, based upon their area of expertise, which is then reviewed by peers. If someone disputes the veracity of that information, they may voice their concern to the community and by majority consensus the facts will aggregate until the truth eventually emerges.

When it comes to software development, OSS represents a shift away from out-and-out competition between commercial entities, to a more collaborative approach to solving common problems and then innovating on top of those shared solutions.

"It's a cool shift that you see in society as a whole," said Chris Holmes, chairman and founder of OpenGeo, a proprietor of open source geospatial software. "Look at social media and the way people now collaborate on the Internet."

OSS development was the first collaborative effort to leverage the power of the Internet to do more than individuals could do alone, he explained. Because software developers were the closest to the Internet, they were easily able to communicate and work together in this way. OSS is the result of connecting the world so that people can communicate and evolve through collaboration to develop better tools and solve each other's problems.

Write as You Fight

There are many advantages gained from using OSS. It is traditional military doctrine that the ability to maneuver and adapt more rapidly than your adversaries creates a strategic advantage. "Open source software is important because it gives us the strategic advantage to be more agile in the delivery of IT systems," said Dan Risacher, associate director for strategy and policy within the Office of the DoD CIO, and author of the 2009 memorandum on OSS.

With OSS, you have access to a huge library of components that you don't have to go develop or even pay for, he said. You have to figure out how to support and integrate them, but you can adapt and build software more rapidly.

"If you really want to build technology faster, you have to have access to it, all the way down to the source code," said John Scott, a senior systems engineer with RadiantBlue Technologies. Our adversaries plan around our strengths now, he added. We've got to be able to create new strengths in the field—this is the battle of the future. "You see it in cyberspace," Scott continued. "Things are happening instantaneously and you have to be able to modify your source code and change things on the fly, in the fight."

The rapid deployment of IT systems and on-the-fly software modifications for traditional warfighters and cyber-warfighters alike are very real capabilities provided by OSS that serve an ever-increasing need for speed in the battles of today and tomorrow.

The Acquisition Challenge

One of the biggest challenges to quick implementation of new technology is the historically cumbersome traditional acquisition process. A significant culture change would be required to expedite this process, but there is an increasing recognition of the need for change.

"If we create policies that prevent us from effectively using open source software," Risacher said, "potentially we are shooting ourselves in the foot, because Al-Qaeda and the Taliban and insurgents do not have such policies. They will use the tools that best meet their mission needs." The deeper problem, according to Scott, is that the DoD acquisition process is set up to build and acquire large chunks of expensive hardware—a tank, for example. But software is never done; it's never complete. The hardware changes, languages change, communications change. Once a tank is built, it's basically done, unless you upgrade it.

"The mindset has to change," Scott said. "It's an ongoing process where you're always going to be building new stuff, new capabilities."

With how quickly those new capabilities are developed now, software really can go from the lab to the battlefield instantaneously, he added. The challenge is to streamline the acquisition process so that new software technology can be deployed at the rate it is developed.

 Freedom of Choice

Another attractive advantage that OSS offers is cost savings. 

"We use open source as much as we possibly can," said Dr. Ann Carbonell, director of the Information Integration Office with the National Geospatial-Intelligence Agency. "It's a wonderful way to reduce your total cost of ownership." Carbonell explained that one of the challenges of selecting and securing a software contract in the past was for example trying to differentiate among five competing proprietary software vendors offering similar products. "With OSS, you actually have a community out there that is really trying to reduce that redundancy and let you know what is unique versus common, and that takes a lot of the workload right off of our plates," she said.

Licenses from proprietary vendors are also costly. Those applications that are no longer needed because of a viable OSS alternative allow government to divest from that ever-growing cost.

Fundamentally, OSS is the commoditization of technology so that we can invest in new problems and harder problems, not old problems, explained Scott. By lowering the barrier to use and development, things get cheaper and competition increases. Technologies that everyone uses get commoditized so costs come down, creating a virtuous cycle or feedback loop that sustains itself.

The cost is never zero though. It may be free to download, but OSS will require service and support commensurate to customer needs. The good news is that there are many companies who provide OSS service and support. Customers can choose new service providers without the need to reinvent the wheel, or rebuild any system from scratch, since those companies are familiar with the OSS upon which their systems and capabilities have been built.

This is a significant difference from the proprietary business model where, once a customer is locked in, they are bound to a single company for support on that proprietary software or system. The difference is freedom of choice, with negligible entry and exit costs. End users have the power and control over the software, rather than the vendor.

a rising tide

There are many proprietary software vendors that provide essential capabilities to the government and military. Hybrid systems or stacks that have OSS components bundled with proprietary software are becoming more common.

One of the great advantages to using OSS as a platform to build upon is the widespread support of a community.

Maintenance is a major expense that is not always accounted for. When there is an entire community working on OSS, maintaining it, building it, and relying on it, that maintenance cost is spread across a much larger group.

Many companies and organizations have taken advantage of this collaborative approach to problem-solving. The open source community solves common problems, allowing resources to be dedicated for work on unique or more difficult ones specific to mission needs or organizational requirements.

Linus Torvalds, the father of Linux, famously said, "Given enough eyeballs, all bugs are shallow."

Or in the words of JFK, "A rising tide raises all boats."

"If you really want to build technology faster, you have to have access to it, all the way down to the source code." said John Scott, a senior systems engineer with RadiantBlue Technologies

To read a web-exclusive interview with Bob Gourley on open source software, click here