Thursday, December 28, 2006
Maybe open source isn't all that open?
Being Mr. Enterprisey, I suspect that many folks will be of the opinion that my peers aren't interested in contributing or are hampered by dinousaur antiquated corporate policy. While this may be true of some large enterprises there are other issues that need to be discussed. For example:
- So am now starting to wonder if the reason more developers don’t contribute to open source projects is that they have the perception, real or not, that they are not welcome.
This is 100% on the money for many open source projects. For example, have you ever observed anyone from the Ruby on Rails community ever reaching out to enterprise folks to ask them to contribute or at least participate? To feel welcome, one should be encouraged by the community itself to expand. One analogy would be the difference in me inviting someone into my home vs just expecting them to walk off the street, put their feet up on my couch and help themselves to whatever is in the fridge. A discussion is warranted on what communities can do to welcome outsiders.
Having had the opportunity to sit on a panel with Marc Fleury at OSBC last year, I came to the conclusion that he was a great business man. Likewise, I also concluded that I would never make the effort contribute to a JBoss project. Part of the rationale for contribution is in having choices. JBoss is placing in spaces where they are innovating but that there is already choices in terms of other open source offerings. There are already sufficient J2EE containers, Portals and BPM engines that are open. In fact, while I would say that in the J2EE space, JBoss is equal in terms of functionality (some things they have that others don't and vice versa), JBoss is simply inferior in terms of its portal implementation (Liferay beats it by miles) as well as JBPM (Intalio and others are also ahead). The point is if one is going to make the effort to contribute, they will more than likely choose what they either use and/or feel will be the winner.
Of course, since I am employed by a Fortune 100 enterprise whose primary business model isn't technology, the reasons for contributing aren't so that I can gain consulting revenue by demonstrating participation nor embracing any notion of professional open source. If I spend time at home writing code for an open source project, the reason may be driven by ego which JBoss robs of its contributors. For example, I know that the folks over at Aviva contributed the JBoss ESB. What I would want to see is JBoss pumping up Aviva and not just themselves. Compensation comes in many forms and for those who are not employed by technology-oriented companies, compensation in the form of ego (marketing, sense of community, etc) is crucial to getting contribution. Maybe some hype can be created by JBoss employees of all of the wonderful contributions by non JBoss employees.
A third consideration not frequently discussed is that contribution can come in many forms. I would argue that open source doesn't really need more developers to contribute source code but really needs lots of folks writing good documentation. What if the open source community decided to encourage others to become published authors and writing books to help use products. As a series editor for Springer Verlag, I would love to receive book proposals on Enterprise BPM Patterns, Enterprise Rules Architectures and so on. Contributing to Wiki's is moderately useful but folks sometimes need more structure.
A final consideration (for now) says that contributions also can come in form of serving as a sounding board for ideas. In the same way, I encourage Venture Capital firms to bounce ideas off me and for that matter to reach out to architects in other Fortune enterprises. The open source folks can do the same what-if testing not just against those paying them to create features but in terms of making things generally applicable so that it attracts an even larger population.
The one thing that I often say at work is that we shouldn't adopt any open source product unless it has outside contributors. One thing that makes something sustainable is knowing that the community has your back. Just having folks from a single company being paid to write software doesn't equal community. I would be happy as hell to see industry analysts actually figure out the size of community for each open source project in this regard. Maybe folks from JBoss could provide this for JBoss projects?
In terms of my own planned 2007 contributions to open source, I will be commiting to contributing to the authorization specification as part of the OpenID community. The funny thing is that I will be going against my better judgement in that enterprises tend to desire to contribute to things that are measurable like implemented software as we really can't do anything with ideas alone. Ideas need to be turned into software. What I fear the most is folks from Sun such as Pat Patterson, Sara Gates,Simon Phipps, Robin Wilton, Don Bowen and folks from Microsoft such as Kim Cameron and Jason Matusow openly supporting initiatives such as OpenID but not taking deliberate steps within their respective employers to actually implement the OpenID specification and any resulting authorization enhancements. I too am somewhat constrained in that the perception of anything that isn't implemented will be perceived as an academic exercise that was a waste of time that will put the ability to contribute to open source projects in the future at risk...