I'm a community guy. In a company that has lots of products, both open source and commercial, I'm lucky enough to get paid to work on open source projects. What I've learned in my work with the community is that building a successful project takes more than many people think.
Some folks in the corporate world have a distorted view of how open source projects work. A lot of the corporate types hear about open source and think that sprinkling magic "open source" dust on their product will suddenly make it successful. They'll have contributors pile on and massive marketshare will follow. Soon they'll have a "best of breed" product and do very little actual work since the community will be writing the software, testing it, providing support, etc. Admittedly, I'm exaggerating to some degree, but only slightly.
A real disconnect exists between what many very smart business people think is possible and what actually is. I'm certainly not saying that commercially sponsored open source projects can't be successful, however I do tend to say "Whoa, Cowboy, let's think about this." Building a vibrant open source community requires much more than just doing a code dump and setting up a mailing list.
One thing I can promise all those "would-be" open source gurus is that building a community of passionate volunteers is alot harder than they think. I've decided to write a post that confronts some of the challenges that these very capable business folks might be overlooking on their way to Open Source Nirvana.
First off, open source has many benefits that we've all experienced or heard about so I won't go into them here. However to derive those benefits requires two important things... distribution and community. What do I mean by distribution? We'll get into it more in detail a little later, but suffice it say you have to have lots of people using and loving your project to get the kind of benefits that the business guys are looking for.
This sounds easy but its not. Whether people pay for a product or not you still have to convince them to use what you're offering and in today's marketplace where open source projects abound this is not so easy.
Secondly, you have to build a community environment where everyone participates and everyone is considered important (more on this in a minute). This one can be a challenge for the traditional side of the business since (a) they have never likely participated in an open source project before and (b) they won't know how at first. Not only that but your product's staff will have to learn to appreciate, not just paying customers, but everyone in the community.
If either of these elements go missing so do your chances of success. In essence open source is a "numbers game". What do I mean by that? Open source relies on users, lots of them, to work. That's because in many ways open source is about percentages. Some percent of users will be, just that, users (~90 percent), the other roughly ten precent will participant in your community in some way, maybe by asking or answering a question in your forums. The next one is the one that will blow your mind, of the ten percent of participants, only three percent of those will become contributors that fix bugs or add functionality.
What that means is for every 1,000 users of your software you'll have three contributors. Now, remember these are approximate percentages that exist within well run open source communities. If your community is not well organized or functioning as it should be, it doesn't take a rocket scientist to figure out which way these percentages go. Which gets me back to my original point. Does that really smart business guy or gal understand that his or her software will need 1,000 users to get three bug fixes?
Thirdly, you have to have support from all parts of the organization. If Marketing doesn't support the plan you'll fail. If Sales doesn't support the plan you'll fail. If Product Management doesn't support the plan you'll fail. If the janitorial staff doesn't support your plan it'll... well, you might be able to scrape by without the janitorial staff, but you get the point.
And if your company is new to open source there's a very good chance someone won't support what it is you're trying to do. Assuming everyone "gets it" you're still likely to have issues because of Change (change is capitalized because it will be big). If your product team or company has never attempted open sourcing a product they have no idea just how much change in business strategy will be required to be successful. Here's why: Sales.
When you open source your product you have to fundamentally change the way your sales process works since you are giving your product away for free. The typical commercial model relies heavily on lead generation, pre-sales, and "the close". This is a time honored way to sell things, right? Well in open source it's not quite the same. With open source you are trying to convert a non-paying user of free software into a paying user of some kind.
The "some kind" depends on your business model (this is an entirely different post so I think I'll just leave it at that). So back to the numbers thing again. So our sales process looks alot like our contributor process. Some people download, some install (some don't) which leads to a non-paying user which leads to, hopefully, some need for support or maintenance or maybe a commercial features which leads to a sale. If you actually want to know the percent, it's usually around 0.5-5% of downloads, depending on who you ask.
So what can we decipher from all this discussion about contributor and sales conversions? It's a game of numbers. You want as many downloads as you can get so that you increase your odds of getting a contributor or a sale. I actually am of the opinion that the only viable reason to have a commercial open source project is to increase your distribution and work the numbers.
If you believe that you can open source your product and have lots of contributors and testers but that you'll carefully manage the marketing so that you won't get too many non-paying users, you're wrong. You will likely wind up with neither contributors or conversions. Open source projects are made up of users that may or may not be paying customers, but that are just as important. Why on earth would an open source user be important? Simply put, any user that uses your project has potential to be many things. That jOhnNy d0e with the skull and crossbones avatar in your forums may be your next customer, contributor, QA person, marketeer, or partner. He may even be all of the above.
My advice would be to think long and hard about what it is you really expect to get out of your open sourcing efforts. Make sure you have Product Management, Sales, Marketing, and Engineering all in your camp and that they all really understand what it means to be open source. If not, the odds are against you.