Source code is an inanimate object.

Via Miguel de Icaza, I came across this summary of Google's Summer of Code Mozilla projects. Miguel posted a similar summary for the Mono projects. I encourage you to take a couple minutes and read through the summaries.

Notice a difference between the summaries? No, I'm not referring to the fact that the Mozilla summary is mostly crestfallen while the Mono summary is general upbeat. Instead, notice how much Miguel talks about the people behind the projects where the Mozilla summary only mentions the people in abstract.

I'm not saying that Miguel's focus on people is why the Mono projects were more successful than the Mozilla projects. I contrast the two summaries because they provide the perfect backdrop for a fundamental truth I believe about Open Source projects.

Source code is just an inanimate object. Community is what really makes it all work.

I bring this up now because I've had several people tell me that they have some source code that is "really cool". It does something that some people would probably find interesting. So, they were asking me if I thought it was a good idea to release the source code as "Open Source".

Invariably, I'd smile and say, "It depends."

It depends on what your goals are. If you want to release source code as the seed for getting a group of people to collaborate together then I say, "Go for it!" For example, I pushed for the WiX toolset to be released as an Open Source project because I wanted to build a community around solving software installation problems. Today the WiX toolset improves because there are thousands of people that use it, praise it, curse it, write about it, and some add more code to it. At the same time we make new friends, learn new things (about software installation and other happenings in the world) while, generally, having a good time.

On the other hand, if you just want to drop the source code where people can download it and walk away then I would ask, "Why bother?" Dropping off source code like this is no different than providing some sample code in an MSDN article. People may look at the code and admire its beauty but it certainly does not create a living "Open Source" project.

Of course, someone else may come along, download the source code and create a community without you. If this is your goal then I would encourage you to instead focus on finding a community leader for your source code. Without a community leader, your source code is likely to go as far as the Summer of Code Mozilla projects... nowhere.