Living in the Clouds

More than a few months ago, Richard Stallman commented on cloud computing and made some striking remarks.

It’s stupidity. It’s worse than stupidity: it’s a marketing hype campaign. –RMS

I understand why Stallman said what he said, however I think he’s looking at the problem from only one direction when it should be viewed from multiple directions.

Stallman’s position is that “cloud computing” equates to handing your data over to organizations/systems that are out of your control. In many cases, this is absolutely true and even dangerous. To this end, I say that when using apps in the cloud, one should make sure that there is some, relatively painless, way to export all of the data that the application may have.

I think Google Mail is a great example of an application that makes retreiving your data easy, chiefly by supporting known standards (namely POP and IMAP) and providing export functions for things like your contact list. For this reason, I feel pretty comfortable letting Google manage my mail for the time being. In return, I get some nice things that would be difficult to provide on my own, such as really powerful search, a consistent interface no matter what computer I use, and replication of my data with copies likely spread to multiple physical locations.

Now, where Stallman starts to make a lot of sense is when you consider organizations and users that need to have absolute control over their data. You can’t get this with a cloud application by the very fact that you don’t control (Stallman would probably say own) all of the software and the systems that are managing your data. This, obviously, can be a big problem if you need to make guarantees about the system to your customers.

In general, I try to remain aware of the above concerns. The reason I like Open Source Software is that I feel it empowers users. It is wonderful to know that you don’t have to pay a tax to any set of companies in order to use the hardware that you own to its fullest potential. Computation is much too important to have it controlled by any limited set of corporations or people. Stemming from this follows the support of open standards and formats. I don’t want my data to be locked in to some format that can only be manipulated by program X.

Carrying this idea forward,  I see a large opening for cloud computing. What Stallman failed to realize is that the concept of cloud computing can be used to provide greater access to the data that I do control. To me, cloud computing, at its heart, is about making users’ data more accessible. Why should this idea not carry over to the data on my desktop system? Why should the software that I run not be able to take full advantage of the Internet and the connectivity it provides?

Following with Stallman’s central argument, I think he would favor some way of sharing photos online other than using a service such as Flickr. But to a large portion of the users, I think, the main draw of a service like Flickr is the community. I could always share my photos by running my own web site that simply provides a way to navigate through my images, but this misses the point.

What I think should be investigated, for example, is some way to take the photos on my computer and have them, without effort, become part of the cloud. I don’t lose control of what I’ve created and what I own, but others are able to access my data, comment on my work and, generally, participate in a community.

I think this blog post by Google gives good insight to the sorts of advantages that cloud computing brings.

In coming years, computer processing, storage, and networking capabilities will continue up the steeply exponential curve they have followed for the past few decades. By 2019, parallel-processing computer clusters will be 50 to 100 times more powerful in most respects. Computer programs, more of them web-based, will evolve to take advantage of this newfound power, and Internet usage will also grow: more people online, doing more things, using more advanced and responsive applications.

By harnessing the power of a collection of computing systems, interesting things can be accomplished. What I would like to do, is be able to plug my system into the cloud.

Instead of having to sync my smartphone with my system when I’m at my desk, my phone should simply have access to my data, no matter if that data lives in a box under my desk or a server in Google’s cluster. Access should be seamless and updates should be available on every system, without me having to connect a cable to each one individually. If I add a contact on my phone, I should be able to view that data on any device that has access to the web.

This is what I’d like to see cloud computing bring to the table. If the open source / GNU community doesn’t recognize this or attempt to support it, I think they will be doing their community a disservice. Open source software can make an impact by making cloud computing more peer-to-peer rather than the largely client-server mode that it has currently. The open source movement would likely not exist if it were not for the Internet, so it would seem counter-culture to not make an effort to support growing connectivity to the next level.

What could be more open than that?

Those who are interested should read this article on Ars Technica for another opinion that mirrors my own as well as to see how some current open source projects are embracing the idea of the cloud.