What Will Make Your Project Successful?

In the previous installment of An Open Source Business, we talked about how to determine if an open source project could also support a successful business. Now let’s look at how to build a successful commercial open-source project.

Before starting your project, ask yourself:
What will make a commercial open source project successful?

Believe it or not, most developers get this question wrong because of two myths about software — and doom years of work before they’re begun.

The Two Myths

Here’s the myth that many commercial software companies have:

“The best software is the one with the most features.  If we could just get more features in our program, we’ll be able to get more customers and topple Microsoft.”

And here’s its equivalent at many open source projects:

“The best open source project is the one with the most people.  If we get more people in our project, we’ll get more contributions and more features, and then we’ll be able to topple Microsoft.”

And What’s Wrong with That?

For commercial software, the number of features is not as important as ease of use.  Sure, I want my software to do what I need–but then that’s it.  Don’t confuse me with all those other screens, menus, and buttons.  I’ve got a life and want to get back to it.

For open source software, the most important thing is having good code.  Every project needs more users and more developers, but without the proper technical foundation to absorb them, an open source project could easily hit a wall.  (I actually wrote about this almost exactly two years ago under “The Limits of Open Source.”)   A successful open source projects must be extensible, stable, and technically interesting — otherwise, who would want to work with your code base?

Now Here’s the Hard Part

If you want to have a successful commercial open source project, you need to do both.  You need to create software that is both easy to use and is technically strong.  It should have enough features to be useful, so that your project could support your business.  Longer term, though, your project — and your business — will succeed only if your software is easy to use and well written.

goat-high-wire

This may sound like a tough balancing act, but it’s exactly what has worked for opentaps Open Source ERP + CRM.  Sure, our users  are looking for a program with enough features to meet their needs.  But why do they choose opentaps?  Because they find it easy to use, and because they like its strong technical architecture.  This is why we’ve invested so much in giving opentaps a stronger technical infrastructure and making it easier to use — and we’re just getting started.  If you like opentaps now, then just wait — you ain’t seen nothing yet!

In the next installment of “An Open Source Business“, we will look at competitive strategies for an open source project.

3 Comments

  1. I gotta agree with both of those myths. Especially the “features” myth. It’s amazing how people will buy software based on checklists without caring how it works.

    We went with opentaps because it was easy. We wanted someone open source and I remember employees seeing the options and saying “please let’s use opentaps.” I wasn’t sure if it was the right move at the time, but having an ERP that’s simple for your employees to use is a major advantage. I can’t imagine running an operation using anything else. The whole point of software is to remove complexity. I don’t see how you can use software to eliminate complexity if your employees can’t figure out how to use the software.

    Unfortunately, bad UI is mainstream in ERP world. Opentaps is really at the forefront of ERP in this regard.

  2. Yup, but that\’s pretty common sense – unless your like the nth open source CMS. That\’s something I absolutely cannot understand. Why do people praise the bazaar dev style so much. I\’m working on an open source project, but I don\’t want just anybody messing with the code base. That would ruin it. I\’ve seen to much poor code and I don\’t want it entering my code base. When the software is fleshed out, then others can contribute to a well laid out code base. Or they can contribute patches and I will rewrite or modify them to fit nicely. I just don\’t see any value in the huge user base BS.

  3. I think its impractical to include more than you need to fulfill your intentions for the program.
    Also, I think Tcl/Tk is a good example to what you said about “both easy to use and is technically strong.” It is very easy as a language, as I have used it more than even C. And yet it gets closer to being as pretty as GTK or other languages.
    I should probably find out how they do it so well next time I want to do an open source project.