Wednesday, May 14, 2008

Portability, Accessibility, Openness and the Market.

It would appear that our future is one of both utility computing providers and marketplaces with consumers switching between one provider and another. This is what a shift to a service from a product based economy means.

A cornerstone of such a marketplace is portability. This means access to ALL of your data with multiple providers offering services which interpret ALL of your data in exactly the same way. There can be no additional or missing data or features and compliance to a standard becomes paramount.

However providers are not going to hand over strategic control of their business to a third party, so whatever standard there is will have to be open.

Well there are two types of open:-

Open standard: usually a formal document that establishes uniform engineering or technical criteria, methods, processes and practices which is publicly available and has various rights to use associated with it. [source:Wikipedia]

Open Sourced Standard: a completely free/open source reference implementation of a service. The open source implementation is considered to be the standard.

For example, OpenID is an open standard whereas Google's Open SDK is close to being an open sourced standard (being a free/open source reference implementation of Google's AppEngine service). I say close, because the SDK doesn't actually operate in the same way as GAE.

Whilst open standards will provide accessibility to data, this is not the same as portability. You do not necessarily have ALL the data and there is no guarantee that it will be interpreted in the same manner (interoperability) by another service. With an open sourced standard, there should be no such issues. If there are, they are transparent and can be quickly solved.

This doesn't mean every provider just implements the open source standard. There is plenty of room for competition at the level of service provision, but then that's the point: the world of services is not the same as the world of products.

Competition in the world of products is based upon feature set. In the world of services, competition is based upon price and quality of service with the product itself being standard.

When I switch electricity provider, it's not because they have a better type of electricity but because they have a better service. Whilst switching of electricity providers is based upon portability, in this case standards are enough because those standards define our entire interface and relationship with the provider. In the case of utility computing it is the software product that we are using as a service which defines our entire interface and relationship with the provider.

If you want portability, then that product has to be open source or completely compliant to an open sourced standard.

The alternative is monopoly and then finally regulation.


James Urquhart said...

Excellent overview of your general argument, Simon. I am beginning to wonder if Google did enough: check out what Sun is doing with Project Caroline; the entire stack is open source, not just the development API...

swardley said...

Now that looks interesting, thank you for the pointer James.