The Importance of Free Software in the Cloud

Do you think that free software is important to cloud computing? I personally think it is crucial, and here is why.

First of all, let me define what I encompass when saying “in the cloud.” I certainly do not limit myself to software as a service (SaaS) as Richard Stallman was referring to when he stated that “cloud computing is a trap.”

In the cloud, from the perspective of this blog, refers to all the components that together make up cloud computing; from the infrastructure (IaaS), to the platform (Paas) and to the software (SaaS), as shown:

cloud-components

In this pile, SaaS is only the tip of the iceberg. The individual is left to choose whether they should or should not use a public SaaS infrastructure to store data or else they’ll be falling into a trap. From the enterprise perspective, due to the fact that you can deploy a cloud infrastructure within your own network, the risks are not the same.

Risks Ahead

As I mentioned in my previous blog last month, the use of proprietary software and data formats are a heightened risk when used in the cloud; even more so if the transparency regarding which technology is being used where, is not provided to the user.  What I did not mention though is that there is an effort to standardize the interactions between the various bricks in the cloud, through the definition of standard APIs.  Last time we counted there were more than 13 vendors proposing their APIs as a standard, and just about as many standard committees trying to define what the standard API should be. I don’t foresee much hope to reach a resolution in the near future, and that is obviously part of the problem.

Optimistically, let’s imagine that through the use of some magical wand, a standard is finally agreed upon quickly.  Whether it is by ECMA, DMTF, IEEE, or whomever, does not really matter.  What will really matter is whether this standard will come with a reference implementation that is free software.

Why is that? Well, let’s try to look back at software standards that do not provide a reference implementation which is free software. There are multiple examples of this, with SQL, .Net,  and DocX coming immediately to mind. Would you consider those good examples of standards that allowed user independence from the software they use?

Smarter Approaches

On the other hand if you look at TCP, OpenDocument, TLS, HTML (again, just a few random examples) the very fact that free and open source implementation of them existed  prevented vendors from deviating from the standard, or else they would not be inter-operable. Moreover, with reference implementation that is free software, why would you go through the pain of reinventing the wheel unless you were really forced to, or were willing to re-implement it in a better (faster) way, but still exposing the same API. Of course every standard evolves, but if the evolution is conditioned by the release of matching free implementation, this is the real key to a standard that actually protects the users.

At the moment, two interesting initiatives exist on the infrastructure level (IaaS). The first one I’ll talk about is Red Hat’s DeltaCloud, “an API that abstracts the differences between the clouds.” In a nutshell it tries to provide the same direction which Red Hat provided with libvirt at the hypervisor level.  It is too early to see if an ecosystem of tools using this API will emerge, as this will be the key success measurement. The second is a series of free (and non-free) software projects that have built themselves around implementing a cloud infrastructure that responds to the same API that Amazon’s EC2 uses.  It assumes that Amazon’s API, which is the largest deployed one at the moment, will become a de-facto standard. This is the approach chosen for Ubuntu Enterprise Cloud, and it pays, as tools such as RightScale or CohesiveFT which had been built to manage EC2, quickly embraced UEC.  The good thing is that as DeltaCloud supports the EC2 API, it does not really matter which API will win in then end, as long as it is a free software one.

However, API standardization is only one of the reasons free software is important to cloud computing, albeit an important one. Cloud computing does obey the same rules as computing in general from the perspective freedom, but this freedom becomes even more important if you are thinking about outsourcing a part of your computing environment. Data, software and competitive freedom suddenly all become crucial elements that any enterprise should watch when considering their outsourcing options, as the TIO Libre workgroup has been finding out.  I would personally add that net neutrality is also an important factor in your ability to bring back your outsourced service to you. If the day you bring back your service, you realize that you cannot share it on the Internet anymore, or that you cannot run the software stack, or that you cannot migrate your data, the operation will be highly compromised.

I hope this sheds some light on why free software, and other correlated freedoms, is so important to cloud computing. It doesn’t necessarily make it easier in the short term, but will definitely pay in the end. “The price of freedom is eternal vigilance” (Thomas Jefferson), is as true a statement in the computing world as it is elsewhere…e.

nickbarcetNicolas (Nick) Barcet is server product manager at Canonical. Guest blog entries such as this one are contributed on a monthly basis as part of WorksWithU’s 2009 sponsorship program.

9 Comments on “The Importance of Free Software in the Cloud”

  1. aikiwolfie Says:

    I think free software is crucial if people in general are going to adopt cloud based services. It’s the get them hooked and make them pay later approach. People expect thing to be free on-line. But they will pay if the services are good enough.

  2. aikiwolfie Says:

    Freedom software or open source software is more important. We need many eyes checking the code and many brains maintaining the code. Security is paramount in the cloud. It’s so important we can’t afford to have super secrete closed systems.

    Just look at what happened to Microsofts’ Sidekick product.

  3. Simplicius Says:

    After the recent Microsoft/Danger/Sidekick disaster, I wonder if Azure will turn into a Blue Cloud of Death.

  4. aikiwolfie Says:

    Is it a surprise Microsoft made promises it couldn’t keep? Nope!

    Is it a surprise a Microsoft product crashed in a disastrous manner leaving all the data supposedly irretrievable? Nope!

    Is it a surprise now that at least two class action law suits have been filed in different parts of the US the defendants are now saying they might be able to get all that data back after all? Nope!

    Am I tempted to use any Microsoft “cloud” services? Nope!

  5. neo Says:

    Nicolas,

    It seems rather hypocritical that Canonical would launch proprietary clouds like Ubuntu One and Landscape and then talk about the importance of Free software in the cloud.

    If you consider Red Hat DeltaCloud important, how about contributing to it instead of tying yourself to the EC2 API?

  6. Nick Barcet Says:

    As I hate repeating myself, please see my reply to Anders at http://www.workswithu.com/2009/09/09/ubuntu-ready-for-the-clouds/#comments

    Then, I’ll bring to your attention that my statement “even more so if the transparency regarding which technology is being used where, is not provided to the user” fully applies to Ubuntu One an Landscape, and in the good sense, since both provide Open source clients which means that protocols and storage formats (if applicable) are available to anyone that would like to use them. Moreover, Ubuntu One uses S3 to store user’s data, which means that you have a great deal of choices when it comes to which client to use to access your data. And since your data can also be replicated to as many clients as you wish, I wouldn’t see how we would be locking in users anyway…

    Finally, on the remark of “tying ourselves to the EC2 API”, do you really think that we are tying ourselves? Please elaborate and explain to me what contributing to Delta Cloud would bring to our users at this point? The ability to use a proprietary tool that only runs on Windows? Moreover, when we made our choice, at UDS, a year ago, Delta Cloud was nowhere to be seen. We’ll certainly re-evaluate our choice at our next UDS in November, and since these discussions are public, I invite you to join and help us make the right choices.

  7. neo Says:

    Oh, the tired old, we need “secret sauce” to make a good business argument that I have heard so many times from proprietary vendors. How does “Ubuntu One” match the philosophy of Ubuntu as stated in

    http://www.ubuntu.com/community/ubuntustory/philosophy

    You are clearly locking users in with a proprietary service that doesn’t work on anything except the latest version of Ubuntu. If you don’t see that, perhaps it is because you are being paid not to see that.

    You explained yourself how DeltaCloud is similar to libvirt (which I might add Ubuntu is using but not contributing to). Promoting the EC2 API via “Ubuntu Enterprise Cloud” certainly helps Amazon establish EC2 API as the “Standard API” instead of helping your customers move across public and private clouds regardless of the platform which is what DeltaCloud is attempting to. Alternatively if you value EC2 API more, the least you could is contribute to KVM. KVM was definitely there to be “seen” for a long time.

    I am not going to travel all the way to some Ubuntu developer conference to give you any input. If you want my input, I am glad to give it here or on a mailing list.

  8. huats Says:

    Neo : Please don’t start a troll like that… I really think nicolas’s idea was to promote the usage of Free Softare for Cloud computing. He described 2 approaches (DeltaCloud and UEC) in that area, without saying one is best than the other, even if I am sure he has his own opinion.
    I do think you are firing the wrong opponent there…

    Oh and there is no need to travel to participate to a Ubuntu Developper Conference, you can participate from your place using IRC…

  9. neo Says:

    huats,

    I being critical of dubious talks of free software clouds considering the business model of Canonical being so tied to proprietary clouds and single system API’s like EC2. Calling it trolling is just a way to avoid discussing serious issues of lack of participation from Canonical in the broader ecosystem.

    I am not going to sitting on IRC either to give my feedback. I am giving it right now, right here. That should be more than enough.

Leave a Comment

Blog-Powered Site
By ContentRobot