Open Source Pitfalls

Innovation abounds with open source, but some code gets left behind on a virtual compost heap

Bugtraq, Silly Disclosure, and Open Source

The volume on the Bugtraq mailing list is so high these days, I often just disregard it unless I'm familiar with the product in question. But something there recently grabbed my eye: an announcement for version 0.0.1alpha of the product in question.

This really annoyed me. I pay by the byte for my downloads, like almost everybody here in Cambodia, and this dope was wasting my bandwidth with a bug report to a general security list for a problem in version 0.1alpha of this open source package! The gall! I'm a big fan of full disclosure, but this illustrates one of the problems that is becoming more and more prevalent on lists like Bugtraq. People are posting not with the intent of solving problems, but rather for the purpose of inflating their own reputations. How obnoxious.

Then I questioned the assumption that was the basis of my annoyance: People don't use alpha software on production sites -- but is that really true? For large enterprises, I suspect it is. For small and medium sites? Maybe this person really knows more than I do about these things, and this is serving some larger good.

I suspect that most, if not all, of Dark Reading's audience knows the old adage about Microsoft products: Not ready for real use until version 3. Think back to MS-DOS, Windows, and Word if you are wondering about the origins of that rule of thumb. This is no longer quite as applicable, and it has been replaced by the idea that a new version of software isn't ready for prime time until Service Pack 1 is released. (See Not Your Grandpa's Microsoft for an interesting perspective on this theory.)

But what about open source? Is there any reliable, version-based metric for identifying when a product is worth looking at?

The question is of course bound to result in an answer that is too general for all cases. But I suspect we can usually assume that versions 0.9 and up are in the right range, and 0.5 and below, particularly anything explicitly labeled as alpha, are not worth serious evaluation.

But in this case, the project with the vulnerability is not only in alpha (actually, they claim pre-alpha status), but has been inactive for five or so years.

What is it that could explain the vulnerability announcement last month? Most likely the research was motivated by either a) the desire to use the code, or b) the discovery of somebody else using the code. This illustrates a strange feature of open source code. Somebody has an interesting idea, starts to write the code, and gradually lets the project die for lack of interest. It stays out there, though, just waiting for somebody to start using it.

While I love open source, this is one of those dangers that I've never really considered before. It really does open up people to using code of a quality that would never, ever have been released by a commercial vendor. I dislike the fact that some of my all-time favorite games are no longer available, but there is something to be said for old and/or incomplete code dying.

Of course, at the end of the day, people really should take a cue from version numbers. If I ever allowed 0.0.1 version code into production at any site I was in charge of, I'd expect to be dragged out back and shot.

And then I'd want it announced on Bugtraq, for my reputation's sake.

— Nathan Spande has implemented security in medical systems during the dotcom boom and bust, and suffered through federal government security implementations. Special to Dark Reading.