2/14/2008

Mother Nature’s Debugger

The Goldenrod crab spider is a nasty piece of goods. A master of camouflage, it can mimic the color of its surroundings, rendering itself invisible to prey. Basically, it catches bugs by means of obscurity.

Check out the accompanying photo, which I took in my front garden. It tells the whole story: a yellow flower, a yellow crab spider, and an unfortunate fly that couldn’t tell the difference.



Obscurity is good for the spider, but not so good for humans. In business and politics, for example, hidden practices often, if not always, lead to corruption. Transparency is usually the cure, which is why a global organization dedicated to fighting corrupt practices calls itself Transparency International.

Mind you, transparency isn’t just good for CEOs and politicians; it’s also good for software developers. Vendors who publish their source code and develop their software products out in the open benefit from having more eyes inspecting their code — and the more eyes you have, the easier it is to catch bugs. (Spiders figured this out long ago.) Customers, for their part, can study the code and learn how to make best use of it. They can also use it to improve their own debugging efforts — which means even fewer bugs.

Basically, transparency is good for both the vendor and the software user. And there’s nothing obscure about that.


Using more eyes to catch more bugs.
 

1 comment:

ThunderBlade said...

Great article and great pictures! But you forgot one thing. Opening the source code of your program means that all the other programmers - even those that work for the competition - can see how you solved particular problems. From there, it's not far to stealing your solution in seconds instead of spending days or even weeks to come up with an own, maybe different, maybe worse but also maybe even better, solution.