The fortress and the bazaar: open-source and DOD software
Defense AR Journal, Dec, 2005 by David Lechner, Harold Kaiser
WHAT IS "OPEN-SOURCE?"
The principal trait of an Open-Source (es) project is simply stated in the name, but it involves more than just open-source code. "Open-source" projects are collaborative, rapidly updated and rapidly released, and pushed by highly motivated volunteers working with a diversity of interests, skills, and hardware sets. Some people work on open-source projects and are paid for it. Some projects move more slowly. Some only target one OS platform, and some many. This article will focus on how a generic open-source approach could be applied to DoD projects.
DEFENSE PROJECT SOFTWARE DEVELOPMENT: AN HISTORICAL OVERVIEW
Since the earliest use of computers, all the rigidity of process and formalized methods that the military systems engineers could muster have been applied to software projects, making them extremely rigid and well documented (e.g., DoD Standard-1467 and MIL-STD-2168). Several arguments for this are listed below, but we discuss how they do not stand up well.
THE CURRENT DOD SOFTWARE METHODS ILLUSTRATE AND EMBODY THE CATHEDRAL BUILDING METHODS
The DoD processes evolved due to several factors, some of which can win instant sympathy from the reader as being not only reasonably justified, but critically important. Some examples are:
* The system-fired missiles and munitions needed every safeguard possible to prevent accidental firing or targeting.
* The lives of the soldiers depended on the project. They deserved all the care and testing that could be applied in order to produce the best possible product.
* The taxpayers' dollars were at work; reducing the possibility of mistakes or bugs was paramount.
* National security depended on the software program being perfect. To protect the country, we could spare no possible pain to make it so.
Typical military software projects in the 1970s and 1980s required formally documented and carefully detailed designs, involving "waterfall" builds with incremental steps for adding functions and exhaustive testing at each step. The code had to be well documented, with interface design documents, requirements definition documents, system design documents, database design documents, program development folders, and test plans and reports. Usually the code was documented to transition it to a government organization. Once the "cathedral" was completely built, the government team was to "move in" and take on ownership and maintenance.
Systems that actually fired munitions were even more carefully tested. The live-fire testing and certification processes for missile and munitions-type projects are still very extensive. These testing and certification processes often evolved in a reactionary way to resolve problems associated with the previous fielding of poorly designed systems and were intended to provide a valuable check on the work of vendors developing weapons systems that are dangerous by design. In fact, the nature of military software is critically enabling in terms of achieving functional performance. This made the DoD software project much more than a cathedral in style. It became a "fortress," and its details had to be constructed and managed as any good military fortress was: in secrecy.
- 5 Rules for Immediate Annuities
- Death in the Family: 12 Things to Do Now
- Dumbest Things You Do With Your Money
- 6 Online Networking Mistakes to Avoid
- 401(k) Mistakes to Avoid
- 5 Economic Scenarios to Keep You Up at Night
- The Real ‘Best Places to Retire’
- Best Credit Cards for You
- 12 Tough Questions to Ask Your Parents
- The Real ‘Best Colleges’
- Home Buyer Tax Credit: How to Cash In
- Why You Shouldn't Bash Cash
- 8 Phony 'Bargains' and Better Alternatives
- Danger: 3 Debit Card Scams to Avoid
- 6 Myths About Gas Mileage
- 29 Fees We Hate Most
- Quick and Easy Ways to Boost Returns
- Best Stocks to Buy Now
- Lower Your Taxes: 10 Moves to Make Now
- New Jobs: 8 Lessons from Real-Life Career Switchers
- The New Job Market: Who Wins and Who Loses?
- Health Care Reform's Public Option: Everything You Need to Know
- Volunteer Work When Unemployed: Should You Work for Free?
- Whose Recovery Is This?
- Long-Term-Care Insurance: 4 Biggest Risks to Avoid
Content provided in partnership with
Most Recent Reference Articles
Most Recent Reference Publications
Most Popular Reference Articles
- A world without nuclear weapons?
- 9 questions to ask your new lover: what you were afraid to ask, but always wanted to know
- How Tyler Perry rose from homelessness to a $5 million mansion
- Rejoice anyway - Zephaniah 3:14-20, Philippians 4:4-7 - Living by the Word - Column
- BEST HAIR SALONS in DALLAS, The



