Open Source as Incubation (Part 1)
July 13th, 2005We’ve all seen open source being adopted by major companies. Even recently Microsoft. One thing that I’ve noticed most recently is that open source projects are an efficient way to incubate and bring a project to maturity. I’m hypothesizing that by being closer to their users, getting feedback earlier on and being able to gauge project adoption, a company is able to create better software.
So I’d like to take a look how open source can help in software development and potentially in business as well during what I would call a ‘project incubation period.’ (Although let me make it clear: Open Source != Good Business IMO) Project incubation period doesn’t necessarily mean alpha or pre 1.0 as I see it, it is the time between when a development starts on a project or a portion of the project and the time when it reaches ‘success.’ Although your definition of success may vary…
The Feedback Loop
Let me take an example from my development efforts: XFire. XFire started as just a way for me to play around with SOAP and develop services faster. It became clear early on that the people I talked to favored a component oriented approach. So now we have support for the Spring, Plexus, and Loom containers. It also resulted in a much more flexible design and users consistently talk about how easy it is to embed now.
By engaging your users you’re able to understand their needs more. During a marketing campaign the will always do focus groups. Developers should be doing the same thing. Product adoption isn’t always technical, it’s psychological as well. What you view as a small nitpick may be the defining hurdle that stops a user from using your project.
If this all sounds like agile programming – I think thats what it is. Open Source adds an additional spin though. By engaging a larger audience you may find “stories” which are important to your users or completely new audiences that you didn’t think of.
(more to come on this topic tomorrow…)