That’s my theory. Here’s my reasoning:
The nature of open source projects is that they are built out of the small contributions of hundreds and thousands of developers all over the world. Think about it. This is a logistical nightmare. You have thousands of people with thousands of opinions firing in all sorts of directions. It’s a nightmare even if you have a strong governing body directing the work. Most software companies have leadership teams with the authority to guide projects, cut funding, lay off workers, add resources, negotiate scope, or determine priorities. With open source projects, the developers do all these tasks. It’s amazing really. How do they do it?
They establish a process for contribution. Then they design and develop collaboration tools and contribution workflows that make the process possible. In these workflows, they put checks in place to ensure high quality, solid integration, and attention to security. For example, the Linux project has developed a host of software tools including LXR, Git, and their own Kernal.org code repository to help manage the contribution effort. Other open source organizations like Mozilla and Drupal have since adopted many of these tools (like here, and here, and here).
Unfortunately, when you have groups of developers building software for themselves, you wind up with open source contribution infrastructure that only fits the needs of developers. And good software (by today’s standards) requires much more than developers. The best software, like Basecamp, Photoshop, or iOS is the result of collaborative efforts from several kinds of people with competing interests, including Graphic Designers, Interaction Designers, and Information Architects, to name a few. Can an open source project be successful if its contribution channels repel these kinds of people?
Maybe. Take a look at the open source success stories (we’ll define “success” as projects that grew to acquire a huge marketshare in their industries). We’ve got Apache, MySQL, and PHP… all successes, but it’s all software that isn’t even seen by the mass markets. Exceptions exist, like Firefox, but by and large, you could say that open source aimed at the mass markets has largely been a flop. Has GNU/Linux ever been a serious contender with Macs and PCs? How has Open Office (or Libre Office) fared against Microsoft Office? Have you even heard of Inkscape or GIMP or Thunderbird? Those are the free alternatives for software that you currently pay for.
If you have tried to use any of this software, I think you’ll quickly notice where the breakdown occurs. It’s pure and simply, poor user experience. And when user experience is poor, it doesn’t matter if your Photoshop wannabe can map a fractal trace using four different types of Mandelbrot parameters (and yes, it can). It doesn’t matter if if costs $700 less than the commercial alternative (and yes, it does). You’ll pick user experience over features any day of the week. And in order for open source to deliver a solid user experience, they’ll need to do better at bringing designers on board.
(note: by just glancing at the websites of the projects I’ve mentioned, the lack of contributing designers is evident. Only one site really outshines these rest… Mozilla’s. I cannot speak for their contribution processes, but clearly, they got designers involved somewhere along the way. And with designers on board, is it any surprise that they were the ones that got mass market penetration? Not to me.)
Fantastic links from an expert on these topics: