« Bose and Vinyl - Multi-Generational Audio | Main | What is Professional Services Automation (PSA)? »

August 4, 2006

Open Services: An Alternative to Open Sourcing Code?

With Matt and Jeremy going back and forth on what it means to be a good open source citizen I can't help but throwing out something that's been on my mind. I wasn't at OSCON and didn't catch the full conversation so maybe this came up (or has been said in the past).


So here's my question: Is open sourcing code the pinnacle achievement and is it always the best an organization can offer to the open source community?

Open Services: An Alternative to Open Sourcing Code

This is mostly about Google, because I'm more familiar with their services (I only use Yahoo! for TV listings). I think it applies to many of the companies in and around the open source arena, particularly those moving toward Web 2.0.

In a word, even if it were possible and made business sense, I'm not sure Google's best contribution to the community would be to open sourcing their codebase. I'd argue that their open services are a compelling alternative.

Yes, there are secrets in the code that people would kill to get their eyes on, and there's a lot to be said for the community being able to learn from/use the work Google is doing and perhaps even participate in development.

But for argument's sake let's suppose that management had a choice between allocating resources for organizing, cleaning, and packaging up code for public consumption and developing open (or registration-required) web services and other APIs. As an average Joe I might like the idea of being able to grab, modify, and run the Google codebase but the more practical thing is to let them run it for me and give me umpteen different ways to use their code by exposing it as a service. The computer is the network right? Dare I suggest that for a majority of the folks out there interested in Google's source code that using the Google-provided services provides an easier and better alternative than actually having the source code? And open services like the Google Maps API provide the code and the data. Having just the source code makes no sense for the hundreds (or is it thousands?) of sites that have leveraged Google Maps using the API.

I know, there are some people and organizations that would get a lot more out of having the source code from Google. Running an application that relies on Google's services has some flaws. There's always uncertainty about controlling functionality changes and data availability. And many folks aren't interested in using code that runs somewhere out of their control or provides no assurance of longevity. All important questions, but do they negate the contribution of open services? I don't think so.

So does making your code available by opening it up as a service count as open source? I'm not sure, but if I worked at Google or Yahoo! and was being pressured to talk about the company contribution to open source I would definitely spend a little time highlighting the services efforts. It's not a replacement for opening the source code, but it is a very valuable contribution to the open source and development community.

Update: Glad to see in some of the stuff Tim is saying that this post isn't way off base. Tim has been pushing for an open services definition and gives credit to folks developing open services.

Posted by mike at August 4, 2006 8:21 AM