One of the hot areas in 2008 was cloud computing, and 2009 looks likely to be a year that is equally occupied with the subject. But cloud computing represents something of a conundrum for the open source world.
Much of it is built using free software infrastructure - naturally enough, since it scales well both in terms of performance and cost. But it's not clear from a legal viewpoint whether providing cloud computing services constitutes distributing software in the sense of traditional free software licences like the GNU GPL.
That represents something of a loophole - one that the GNU Affero GPL seeks to close. Another issue is to do with data portability, or lack of it. Just because the back-end software is open doesn't mean you can get your data out easily. And so we have the paradoxical situation where free software is being used to create data lock-in.
It's still early days for cloud computing, so maybe it's too much to expect complete answers to these problems. But at the very least we need to be thinking about how to go about coming up with those answers. Here's s omething that might help , the Open Cloud Consortium, which:
1. supports the development of standards for cloud computing and frameworks for interoperating between clouds;
2. supports the development of benchmarks for cloud computing;
3. supports open source software for cloud computing;
4. manages a testbed for cloud computing called the Open Cloud Testbed;
5. sponsors workshops and other events related to cloud computing.
In truth, there's not much there yet, but at least it seems to be making the right noises. Here's some of the open cloud computing software it lists:
Hadoop is the most wide deployed open source software for cloud computing. It is available from hadoop.apache.org/core.
Hadoop is deployed on all the nodes of the Open Cloud Testbed.
Thrift is a software framework for scalable cross-language services development. It integrates a software stack with a code generation engine to build services that work efficiently between C++, Java, Python, PHP, and Ruby. Thrift was developed at Facebook, and is available as open source at [http://incubator.apache.org/thrift/].
Thrift is expected to be available shortly on the Open Cloud Testbed and will used to interoperate different cloud middleware and to simplify the development and deployment of cloud applications.
The last of the cloud computing apps on this page is slightly different, because it is being supported directly by the OCC; it's one that I've not come across before: