Thursday, May 14, 2009

Proprietary Software: Know When To Say When

In some cases, proprietary software is well-designed and thoroughly tested. In others, it gives vendors an easy way to mask incompetent work. Guess what happens when taxpayers foot the bill for companies that take the second approach?

The software used in breathalyzer tests has been the subject of more than one legal challenge. Back in 2005, a Florida court ordered one vendor to turn over its source code for analysis after a group of DUI defendants challenged the validity of their breathalyzer test results.

Two years ago, the defendant in a New Jersey DUI case asked the court to order a similar analysis of another company's breathalyzer software. The software maker, Draeger Safety, had argued unsuccessfully that such an analysis would unfairly compromise its Alcotest 7110 source code.

Draeger had cause for alarm -- but not because competitors might pilfer its source code.

Here is what Base One Technologies, the company assigned to review the Alcotest source code, had to say about Draeger's software:

The Alcotest Software Would Not Pass U.S. Industry Standards for Software Development and Testing: The program presented shows ample evidence of incomplete design, incomplete verification of design, and incomplete “white box” and “black box” testing. Therefore the software has to be considered unreliable and untested, and in several cases it does not meet stated requirements. The planning and documentation of the design is haphazard. Sections of the original code and modified code show evidence of using an experimental approach to coding, or use what is best described as the “trial and error” method.

The Alcotest, Base One concluded, "should be suspended from use until the software has been reviewed against an acceptable set of software development standards."

Among other problems, Base One found more than 19,700 defects in Draeger's source code -- including errors in three out of every five lines of code.

Is Draeger's software any more reliable today? Only the company knows for sure, and I doubt it's talking.

Shoddy breathalyzer software, however, simply illustrates a more general problem. When companies make bad software purchasing decisions, the market ultimately holds them accountable for their mistakes. It's an effective way of sorting out the relative benefits of proprietary versus open-source software, as the thriving open-source business model continues to prove.

Public-sector software buyers, however, must address a very different set of priorities. For starters, they are ultimately accountable to the taxpayers whom they serve and whose money they spend. Open-source software, by its nature, gives the public a window through which to assess the value of the software their public servants purchase.

In addition, as the Draeger case shows, the public sector must maintain the highest possible standards when it comes to public safety issues. Isn't transparency the best way to ensure government agencies are actually meeting these standards?

Many open-source software advocates and government watchdogs point -- with good reason -- to problems with e-voting software as an example of what can go wrong when the public sector relies too heavily upon proprietary software. As the Draeger case proves, however, this this is a problem that extends far beyond the nation's voting booths.

0 comments:

Post a Comment

I moderate all comments. Trolls will be hunted down and sold to black-market organ-harvesters.