InfoWorld reporter Matt Asay posted a column recently about Oracle Database 10g Express Edition (XE), our lightweight database product built on our commercial database engine that is completely free to develop, deploy and redistribute.
In addition to saying some very complimentary things about a colleague of mine, Monica Kumar, Matt asked, "[W]hy not just open source the whole thing, Monica, and let people pay you for a supported, certified version?"
This raises an interesting discussion about what open-source is. Is it the free software that matters? The open source code? The community of developers?
I think the first thing to consider is how "open-source" begins. I see four main models:
- Organically built community turns into corporate support model
- Corporation builds new community and starts with fresh code base
- Corporation takes existing closed-source code base, donates it, and attempts to create a community around it
- Corporation takes existing closed-source code base, finds an existing community, and donates the code to that community.
JBoss follows the first model: an entreprenuer looks at a community of developers working on an open-source project (first release in 1999), and founds a company (2001) to provide commercial support for that project. JBoss continues to replicate that model by identifying active, successful open-source development communities, then hiring the lead developer(s), and creating a support organization.
The Eclipse Foundation comes from a completely different direction (the second model). IBM decided that it wanted to make a major impact in the market for integrated development environments that developers use on a daily basis. So IBM a) endowed a foundation, b) assigned a bunch of its own developers to start writing new code from scratch, and c) allocated marketing resources to start building a community of non-IBM developers to join the project. There is still a great deal of debate about how much control non-IBM Eclipse contributors have been able to wrest from IBM, but the Eclipse Foundation has on the surface, opened up the project a great deal.
The third open-source model can be found in Beehive, a proprietary, closed-source project developed by BEA that the company ultimately donated to the Apache Software Foundation as a completely new project.
The fourth is seen with Oracle ADF Faces–a family of over 100 JavaServer Faces components–which is being donated to the existing Apache MyFaces project.
It looks, then, like there are three main characteristics of open-source:
- Free software
- Open source-code (ability to fix bugs or customize on your own)
- The community of developers dedicated to the project
It’s that last point, the community of developers, that I think Matt has forgotten about. Anyone can offer free software. Anyone can offer source code. The community, however, is what matters, what takes time and effort to build, and what, I believe, will ultimately determine if the project is successful. Without a community behind it, you’re just dumping commercial software into an open source project and hoping for the best.