Articles / Bringing a Commercial Produ…

Bringing a Commercial Product into the Open Source Community

Recently, I was approached by a company that was planning to release its core code into the Open Source community. Unfortunately, they didn't have a lot of experience with the Open Source community, nor did they have an understanding of what draws developers to work on a specific project. They were aware that word-of-mouth seemed to be the main method for building interest in the Open Source world, but they wanted some advice on how to get the word out in the first place.

At first, I didn't think I would have much advice to offer. After all, I don't have any experience marketing a commercial product as Open Source. However, a little consideration on the matter revealed that my eight years of observing the world of Free Software and Open Source hadn't gone completely to waste. The first opinion I could offer was the belief that "if you build it, they will come." In other words, if you really do have a good product that stands out from others of its kind, you won't need to give yourself a heart attack from waving your arms around and screaming at the top of your lungs trying to get the message out.

Of course, you do have to spend some effort to advertise yourself. The obvious place to start is with the big sites that cater to the entire Open Source world. Organizations like Apache, SourceForge, and freshmeat act as points of meeting and support for all developers and users, and thus serve as focal points for the community as a whole. Any aspiring project that wishes to make itself known would do well to join with these communities.

In addition to reaching out to the community at large to spread your fame, I can't urge you too much to give ample care and attention to your own private community of users and developers which forms around your Open Source project. Make sure that the development process of the project is as open and transparent as possible. Make it easy for people to submit their own contributions for inspection by the project's controlling developers. Be responsive and friendly to contributors. Keep the lines of communication wide open through mailing lists, public source code repositories, and whatever other collaboration mechanisms you can imagine.

You can also maximize the ease of entry for potential users (and thus potential developers) by developing installation packages that integrate well with all of your target platforms. It pays to seek to have these packages entered into the package distribution repositories of the major community-backed operating system distributors, such as Debian, Fedora, FreeBSD, and many others. Doing this successfully requires a certain level of collaboration with the respective communities that produce these operating systems, so expect to sink a little effort into joining with them. As a Debian user, I know that the first way I look to satisfy my software needs is by searching Debian's official package repository. I'll usually only search places like freshmeat and SourceForge if I haven't found something satisfactory in Debian's pool of packages.

If you're still seeking communities to join, try joining the communities that exist around other software projects that are related to your own. If it's possible to plug your software into another bit of Open Source software (or vice versa), you can use that as an excuse to build a bridge between the two communities. Be relevant and communicative to the community associated with this other piece of software. Soon, you'll have a lovely little web of relationships with other projects, and the recognition of your software will spread far and wide.

Here's another hint: People are almost always users of an Open Source project for a significant period of time before they even think about becoming developers for the project. The process is often slow and gradual. Don't expect a gold rush of developers to hop onboard the bandwagon. Using myself as a pretend example, I'll start just by using the software for a while, until I find a shortcoming in the software that I want to address, at which point I'll begin investigating how to modify the source code to do what I want. If I think it's worth the effort, I'll make the change and submit a patch, continuing to communicate with the upstream developers (that's you) until we've reached a consensus about implementing my change into the main code base. If the experience is pleasant, I'll probably repeat this process a few times, maybe even becoming a frequent contributor. Perhaps I'll become so involved in a particular aspect of the software that I begin to lead the discussions regarding it on the mailing list and become author of much of the code regarding that aspect. At that point, someone might feel the time is right to delegate the maintenance of that particular module to my authority. Who knows? The community around an Open Source project is an organic thing, and although it's a bit unpredictable, it grows steadily if nurtured.

Finally, I'd like to express the opinion that most people who contribute to Open Source projects do so out of self-interest, not altruism. This may be enlightened self-interest, but it is self-interest nonetheless, so you should market to potential contributors with that sort of psychology in mind. Don't expect to milk the altruism cow, because she's not real. Time is money, and people donate their time and energy to Open Source software because they believe that they will be rewarded with a better software product.

Thanks for offering your code to the world. I hope you find it a pleasant and rewarding experience!

Recent comments

05 May 2005 00:58 Avatar mdnava

One thing to add...

I agree with you, your article is very good but I'd like to add one thing about:


> % Time is money, and people donate their time
> % and energy to Open Source software because
> % they believe that they will be rewarded with a
> % better software product.

Well, that's true, but we can be rewarded also with the proper recognition for our work, which for me can be enough if I have covered all of my family's primary needs.


As Linus Torvalds once said: "One of the things I think Linux has succeeded really well at is to let people shine".


So my advice is... Give something at which people can shine and they will come at your door in high numbers.

22 Mar 2005 11:56 Avatar certel23

Re: Joining the crowd


> Now the next question we need answered,

> how to convert a commercial product

> based company into a service oriented

> open source entity completely?

Can't one do both?

15 Mar 2005 13:59 Avatar LionKimbro

Altruists exist. Just don't rely on us.
Don't expect to milk the altruism cow, because she's not real.


The advice is good, (don't expect altruists,) but the reasoning is wrong.


I consider myself an altruist who works on Free Software and public infrastructure on the Internet. I know several.


I just wanted to say: We exist.


But there's an economy on our altruism, and we have to be careful where we spend it.

05 Mar 2005 14:06 Avatar spooker

Joining the crowd
This article comes at an interesting time. My company announced last week that one of our commercial products will be opened next Monday and the process of opening it fell to me.

Figuring out the license was one aspect that was found to be interesting, my boss wanted the project to fulfill certain business goals he had. Though sometimes this felt at odds with the community I have been involved with for years. (My thanks go to Zak for helping get over this hurdle)

This product has been languishing while we have spent our resources in other commercial endeavors for the last year, but people still use the free version and still buy the product itself. We hope that by opening this to the world at large we can reward the people who have ridden the storm through previous bugs and have been wishing for new features.

Now the next question we need answered, how to convert a commercial product based company into a service oriented open source entity completely?

05 Mar 2005 10:19 Avatar chmod700

Commercial to Open Source
Interesting point of view, and well said. I was struck by the sentence you gave, "Don't expect to milk the altruism cow, because she's not real.".

Such a realistic perspective on life; and your philosophy seems consistent with a Christian world view.

Although I've been following open source for a few years and have read a little on the dynamics and such of this way, I am not a developer and have never contributed in that sense. Thanks for your thoughts, I found them interesting.

Cheers!

Screenshot

Project Spotlight

Kigo Video Converter Ultimate for Mac

A tool for converting and editing videos.

Screenshot

Project Spotlight

Kid3

An efficient tagger for MP3, Ogg/Vorbis, and FLAC files.