It is interesting to see the growing momentum behind open-source and the problems that it is showing. I have experienced some of these over the last couple of years and felt it worth listing them.

I am referring to these challenges as being internal, as they are caused by the open-source community itself, and not because of some external companies marketing machine. Now, living in the open-source world makes it easier for us to recognize and know of these challenges before the users of our tools, so perhaps we can do something about it.

Some of the challenges I have noticed (I’d be curious to hear of more challenges and solutions to these):

  • Religion: Perhaps this is more true at MIT than other places. I came here expecting open-source as a great source of driving innovation, but then I met Richard Stallman and his ‘guilty until proven innocent’ approach. Perhaps every community needs to have one or two extremists, but they scare me because of the damage they can do to the community itself. I can only hope here that Religion is not as big an issue among the rest of the community, and by reading Mike’s post I am more hopeful.
  • Low Quality: Beyond the open-source foundations, most open-source projects that I have used have had significant quality issues. Perhaps the community needs to work together on a rating system for projects to describe the project quality? Maybe all we need is to break down the ‘alpha’ and ‘beta’ terms into something names with more technical meanings, such as ‘used every-day by 50% of users’, ‘rated over 80% by users in terms of usability’ or ‘fixed 95% of all known crashing bugs’.
  • Virality: It is surprising how many well-educated and successful think of open-source as always being viral. While I do agree that it is is important to understand virality issues in open-source code, it is hard to convince people that only a portion of the open-source projects have viral code. I have been a fan of the innovation that can happen on open-source platforms and in general recommend companies to help open-source communities in return for appreciation and indirect marketing to the community members, however, this has been hard because of the “won’t we then have to release our code”?
  • PR: If almost everyone company supports open-source (and some for possibly devious reasons), then users will end up hearing open-source in many context and will possibly end up being disappointed in many circumstances. I am not sure if there is any real solution here, except for projects to emphasize the ways or particular strengths that open-source brings for them. Perhaps we need to more actively promote the open-source projects which have enough mass that are being built mostly by companies as a secondary function of their core product (such as with the Apache Web Server, and as Doug mentioned the Eclipse CDT.

It is worth noting that these challenges are not faced by the many open-source foundations that exist, i.e., in particular the Apache, Eclipse, and Mozilla foundations. Infact recently when talking to non-coders about software development I have found myself more often comparing approaches to these organizations and providing their key characteristics such as community, collaboration, and alternatives to standardization, as opposed to even mentioning open-source. Perhaps, at some level I feel that the challenges have diluted the Open Source brand when compared to that of these foundations.

On the topic of ‘brand dilutions’ and other business school terms, as a side note, I wanted to thank Howard for taking on Open Source in his characteristic biased, opinionated, yet logical style. If anything, it has raised good long-lasting discussion in the past, and I am glad to see Open-Source challenges being raised so that the community can try tackling them. (…and yes, I do need a favor from him. :-) )