Thoughts on open source and standards
We’ve gotten a lot of questions and generated a few blog posts since we announced Cloudware back in June along with our desire to start a standards effort. Many, like this post from James Urquhart, are from other vendors in the space concerned about whether this gives 3tera an edge. Others, like Rich Miller’s post, are just good technologists wondering aloud what we’re trying to accomplish and whether open source would be a better way to go. So here goes a post that’s sure to raise a few eyebrows.
Open source does NOT provide interoperability.
I know that’s not the popular wisdom, but IMHO it’s true. Consider for a moment that in the relatively new space of cloud computing there are already several services based on open source. Unfortunately, none of them interoperate. Why? There are two reasons I see. First, although there are open source systems for the base technology, they aren’t a complete solution. Each provider must complete the solution themselves. Second, and IMHO more important, providers are looking for competitive advantage. So, while open source may let them get to market early each provider is free to change the system, and many do.
Let’s consider a larger market for comparison. Linux is open source, yet there are countless variations. From debian to ubuntu, Suse to Fedora, Redhat to CentOS, and countless others. Variations between distributions are at the same time the power and problem of Linux. The ability to modify the system enables users and vendors are able to tailor it for their specific application. Linux can be stripped down to run in 16MB or can power the largest servers. I myself have used Linux numerous times as the basis for routers, switches and load balancers. It’s embedded in cell phones, cars, etc. Everyone of us depends upon Linux every day whether we know it or not. However, it’s precisely because anyone can modify Linux, that not all versions interoperate. Most of us can name software packages that only work with specific distributions.
So, one interesting question to consider is if all those embedded Linux systems exist, how do they interoperate. Obviously, my cell phone can connect to the tower and from there to the rest of the phone system. All my Linux based networking gear works together to create my LAN. The answer is this interaction happens at a layer above Linux, a set of interfaces defined by standards. In fact, Linux itself couldn’t exist at all without the standards that define the hardware it runs on. The growth in Linux was possible because so much of the x86 hardware interfaces are standardized. From ISA to PCI-X busses, from SCSI to IDE to SATA drives, graphics, keyboards, serial interfaces and memory are all standardized.
For example, take a look at Ethernet. Virtually every Ethernet port built in the past 15+ years will still work in your network. How is that possible given the technological changes that have occurred over that time? IMHO it’s because there’s a very well defined standard. HTML is a standard as well. HTTP is a standard. TCP is a standard. IP is a standard. USB too. The plug for your phone and your electrical socket are all standardized. When’s the last time you had trouble with one of them?
3tera supports the open source market. We use it and contribute to it. However, we feel it’s critical for users to be able to depend upon the interoperability of cloud computing services and that the best way to accomplish this is through standards. It’s also important to note that this in no way eliminates the potential for open source. Quite the opposite. Vyatta, for example, offers open source software based on networking standards. Apache emboddies the HTML and HTTP standards. So I’m certain we’ll see open source efforts built around cloud computing standards as well.
3tera will proceed with the standards effort and has begun to solicit participation, albeit due to my limited time I’ve only hit 20 to 30 folks so far, and we’ve had some positive feedback as well. We’ll provide data and describe methods proven to provide portable applications (something by the way no one else has yet demonstrated). If others share their capabilities as we’re proposing to, the result will be better products and services for users and a bigger market for vendors.

