How to torpedo your own open source project.

My friend Leanne has a wisdom that I am only beginning to understand. A couple of weeks ago we were having pints of beer at an old college hangout and topic of conversation got onto computers. At this point a mutual friend interjected:

“But the Macintosh is the best computer platform available. How can you not think it will take over the entire PC marketplace?”

— DW

Now, if someone accuses me of being a Mac fanboi I’ll demure so I agree with his statement about the best platform. But I’m more than willing to argue over his question. As I learned long ago from Leanne:

 “Being the best product in the market place does not guarantee that you will win in your market.”


 As denizens of open source this is an axiom that we would do well to understand. Most time when I meet Linux fanbois, especially in businesses outside of the computer industry I both admire and am appalled by  some of the things that they want to do. I wish they would ask themselves the question:

 If Microsoft is not the best product in it’s marketplace why does it have the best marketshare? 

In operating systems Microsoft is certainly not the best product in the marketplace. It has the most users because of a combination of things. Not to be minimized in that list of attributes is the support that Microsoft gives to it’s customers. (In fact support is probably the main reason why Mac OS X is the best product in the OS market).

 For denizens of Open Source the support line is critical. As this economy rolls onward more and more of us will be getting the opportunity to build cool business projects on Open Source. When we do this we must understand that being the best tool in the market place isn’t enough. So when you are making the decision between say FreeBSD, CentOS, and Red Hat Linux: Unless you know that you or someone a lot like you will be supporting the project until you are  90 years old and buried. You’d better choose Red Hat or have a damned good reason for choosing something else. As a consultant I’m getting used to seeing and hearing IT managers freak out when they find out that some mission critical app is running on an operating system that they haven’t heard of. Trust me, you are very lucky if your Manager is even aware of CentOS.

 If you must choose an open source application for your project it’s very important that the application has developed to the point of having both a stable and a development branch. Because no matter how sexy the development branch is, if you want to see the project end up with a reasonable life span then you’d better choose the stable one.

 These are two of the things that your Director of Open Source Development and CIO want to see. They want to see it for a lot of reasons:

 Imagine, a mission critical app is intermittently up and down because of a bug in the operating system. Two managers, one’s on the phone to Red Hat in North Carolina and the other is grovelling through Google looking for a source code kernel patch for FreeBSD. Which one gets to keep his job after the problem is fixed?

 Imagine, your intranet project that needs just a couple of tweaks to authenticate against Active Directory so it can go corporate. The expertise to do so doesn’t exist in house because you left for that cherry job at Google. What does your manager say when he finds out from his consultant that you need another 20 man hours to pull the project onto a stable release the wiki software that you chose for the foundation?