Open Source software is defined by the community as much as it is by the code
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 dawn 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.
Common Misconceptions About Open Source Software
Open source software is not secure. Security is a concern wherever software is installed, whether it’s open or closed source; the difference with open source software is the transparency of the source code. That transparency brings a level of assurance, said John Scott of RadiantBlue Technologies. “You really shouldn’t trust any software you bring through the front door,” he said. “With open source, at least you can see what’s in there.” Once that software is through the door, it will be modified and adapted for classified use. “Those changes are easier to make and more cost effective with open source software,” he said.
Open source software is not mature. Open source software is developed through a community of thousands, but a much smaller steering committee vets all suggested improvements. They screen, review, build, and test rigorously before anything goes into the next version. The reason open source software is so popular is because it’s really good code, said Chris Holmes of OpenGeo. Because so many people are working on it, and the social pressure of being looked upon, he explained, “You need to be damn sure that it’s going to work and work well and stand up to any criticism.”
Open source software is free. Yes and no—it depends how the word “free” is defined. While OSS may be free to use, it requires installation, maintenance, and service, all of which will incur some level of cost. There are many companies now that provide OSS support, as well as those that have developed customized software solutions on top of OSS platforms, or hybrid products that combine OSS and proprietary software. These products and solutions are not free, so how is OSS considered free then? By definition, open source software is free to use, distribute, and modify. The popular phrase in the open source community is, “Free like freedom of speech, not a free lunch.”
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
The ROGUE Project
The Army Engineer Research and Development Center, in partnership with the Army Geospatial Center, LMN Solutions, and OpenGeo, is currently developing a ROGUE—Rapid Open Geospatial User Environment. A Joint Capabilities Technology Demonstration, ROGUE is a good example of the potential for open source in the geospatial community. ERDC’s goal for the ROGUE project is to improve the humanitarian and disaster relief efforts of the DoD and SOUTHCOM through multidimensional collaboration via open source software.
Individual players on the ground—from governments, militaries, NGOs, and the community at large—will act as sensors and collectors of information, supplying the data they aggregate to the ROGUE project. In turn, everyone will have access to the unclassified geospatial information, which will prove advantageous during relief efforts when traversing unfamiliar terrain. This data is referred to as ‘volunteer geospatial information.’
ROGUE will fulfill the practical need of being able to share geospatial data with every entity involved in relief efforts, which will lead to more efficient, effective decision-making in humanitarian and disaster relief situations.
ROGUE is being constructed atop an existing portal that allows for the displaying and sharing of geospatial and hazard information. “We will be augmenting and building into it,” said Scott Clark, Director of Geospatial Programs, LMN Solutions. “We’re trying to enable the ability for providing geospatial analytic capabilities to support the needs of the people that are out in the fieldâ€¦and also enable the ability to collaboratively share information about the environment.”