The essential arguments that Mark Minasi makes in The Software Conspiracy: Why Software Companies Put Out Faulty Products, How They Can Hurt You, and What You Can Do is that it's possible to write bug-free software, and that consumers should demand it. Instead, shrink-wrap software companies set their goal as "good enough" instead of "bug free." This is no longer a tolerable goal for mass-market products, and it will ultimately harm the software industry as well as end users.
Although Minasi doesn't even try to supply evidence for "conspiracy" (perhaps the book's title is something the publisher suggested), he does name names and produces smoking guns suggesting that many American software firms are getting away with slop and greed.
For example, the chapter "Software and the Law" documents subtle changes that companies such as Microsoft have slipped into their products' End User License Agreements (EULAs), the case histories of EULAs in American courts, and the dubious status of the claim that they "license" software rather than "sell" it. His trump question is: Why do companies refuse to publish EULAs on their web sites so that customers could know the terms before running the install program?
As common sense as Minasi's argument is, it remains that there are at least three errors in the book:
- That the word "algorithm" is derived not from Al-Khwarezmi's usual appellation, meaning "man from the land of Khwarezm," but from some nickname that means "man from the town of Khiva".
- That Microsoft "built" MS-DOS (the most generous word possible would be "adapted").
- That the Y2K bug was in large part due to use of a two-digit ("99") year for space saving, which is dubious since any Cobol programmer would know how to save more than that by using a binary, rather than an (ASCII), display format for dates.
While trivial errors such as these usually would not affect a book's argument, this is an exception. Why? Because these errors make me wonder about the claim that we should be able to write bug-free software within the real world's constraints of time, money, or boredom. If Minasi, who is obviously conscientious and experienced, can't write bug-free books, why would we expect higher standards from programmers?
Electronic Review of Computer Books