Friday, July 18, 2008

Enterprise Participation in the Open Source

In an interesting post
The solution for Google is to either adopt a more open stack in parallel to what they currently use, or to open source their internal technologies (as Facebook and Yahoo! are doing) in the hope that they will spread and gain adoption from more developers.
In fact, the above statement can be applied to any enterprise IT shop. All big shops I worked for rely on more or less sophisticated custom component libraries and application frameworks. While there is nothing wrong with a custom approach, oftentimes such libraries and frameworks are built to work around bugs and functional limitations in existing open source projects. E.g. I've seen quite a few components that wrap log4j.

An alternative approach that appeals to me is to get involved in the respective open source community and contribute your modifications and extensions to the underlying project. There are several benefits of such as approach:
  1. The custom in-house code becomes focused on the business domain and specific infrastructural issues providing a competitive advantage.
  2. The commodity infrastructure becomes more robust as quality open source projects tend to evolve and improve faster than their branched or wrapped in-house counterparts.
  3. New developer ramp up time decreases as the amount of the custom code they need to learn decreases.
Historically the only way of getting a competitive edge in an IT-centric business was to build your products on top of an in-house technology stack. The times are changing. The abundance of quality open source components allows for diverse opportunities. Utilization of open source in the enterprise becomes a commonplace. Remember to contribute to open source projects as it is good for YOUR projects and YOUR company in the first turn.

0 comments: