Two weeks ago, Sun Microsystems made a major announcement where they committed to making their entire software portfolio open source. Some of their software is available now as open source, and they have committed that the software that isn’t will be made available for free for now and as open source very soon.
Several other server-based computing websites posted links to news articles about this announcement, but I wanted to dig deeper instead of just linking to the Yahoo news article. The fundamental question that I want to answer is: “Given the fact that Sun is a Unix company, how will them releasing their software affect the Windows server-based computing community?”
To answer this, we first have to look at where Sun is today. Then we’ll look at what these announcements might mean and some of the complexities around them.
What does Sun have to offer in the server-based computing space today?
When looking at Sun’s current offerings, their server-based computing-related products fall into two groups:
- Sun Rays (Thin client devices and server software)
- Secure Global Desktop software (The stuff they got from Tarantella)
Sun Ray Thin Clients and Servers
Sun makes thin client devices called “Sun Rays.” These Sun Rays are true thin clients in that they do not run anything locally. There is no local operating system, and they do not boot from servers or download images on demand. A Sun Ray thin client is just a graphics processor and a keyboard and mouse that connects to a Sun Ray Server via TCP/IP. (Think of them more like a KVM than a complex thin client device.)
Sun Rays connect to Sun Ray Server software running on Solaris or Linux servers via a server-based computing protocol developed by Sun called “ALP” (Appliance Link Protocol). ALP is kind of like ICA or RDP, although it was developed with more device support (so it has capabilities like USB device redirection built-in). (Check out this head-to-head comparison between ALP and ICA. Flame wars will ensue I'm sure.)
Since Sun Rays do not run anything locally (other than the tiny ALP client engine in the firmware), they don’t really need too much to operate. In fact, Sun Rays from 1999 are 100% usable with today’s software.
If you want to connect to a Windows Terminal Server or Citrix Presentation Server from a Sun Ray, then you would install the RDP or ICA client software on your Solaris server and your Sun Rays would “double hop” to the application. (Sun Ray client to Sun Ray Server via ALP, then Solaris Sun Ray server to Citrix server via ICA.) Remember, a Sun Ray doesn’t run anything locally, so you cannot install the ICA client directly on the Sun Ray. Of course the upshot of this is that there is no management software for Sun Rays because you don’t need it since there’s nothing to manage.
Sun (Tarantella) Secure Global Desktop
Sun’s Secure Global Desktop software runs on a Solaris or Linux server and allows that server to provide all sorts of applications to users (Windows Terminal Server via RDP, terminal emulation, etc.) There used to be a version of the Secure Global Desktop software that ran on Terminal Server and allowed users to connect directly via RDP. (In fact, this product competed with Citrix Presentation Server.) However, Tarantella licensed that product to ProPalms a just before the Sun acquisition, and Propalms is in the process of buying it outright. (Check out my audio interview with Owen Dukes, Propalms’ CEO.)
What does Sun’s “free and open” announcement mean?
As I said, Sun has made all of their software available for free effective immediately, with the commitment to make it all open source too. So in the context of the server-based computing world, that means that Sun has committed to making the following software products open source:
- Sun Secure Global Desktop
- Sun Ray Server software
- ALP protocol details and client specification
This is where it gets interesting. Let’s start with Secure Global Desktop. Secure Global Desktop was written by Tarantella. (Okay, technically it originated with IXI, which was bought by SCO, which then split to form Tarantella, but that’s another story…) In order to make Secure Global Desktop fully compatible with Microsoft Terminal Server, Tarantella purchased an RDP development license from Microsoft. This essentially gave Tarantella access to the inner workings of RDP, ensuring that their products fully supported all the features of RDP, and letting them “extend” RDP for their own needs.
Tarantella also licensed some terminal emulation technology from Pericom (now owned by Neoware) and in order to build those capabilities into Secure Global Desktop.
When Sun bought Tarantella, the RDP development license did not transfer (as per the original license agreement with Microsoft. Sun then re-licensed RDP from Microsoft so they could continue the development of Secure Global Desktop and generally enhance interoperability of their products with Terminal Server.
Fast forward to Sun’s recent free and open announcement. Sun has now committed that they will release Secure Global Desktop as open source. But can they really do that? Will Microsoft and Neoware really let Sun release open source code based on their closed-source code?
Of course the answer is “no.” So where does that leave Sun with respect to Secure Global Desktop? They have a few options:
- They could renege on their commitment to releasing Secure Global Desktop as open source and instead release it for free (but closed source).
- They could incorporate other open source versions of the closed source software they licensed. (i.e. they could use the open source rdesktop instead of the Microsoft RDP code, etc.)
- They could release as much of it as they can as open source, with portions of it closed source. (I don’t know whether this would even be technically possible.)
Moving on, let’s look at what their open source commitment could mean with respect to their Sun Ray software and hardware. If Sun released all this as open source, several cool things could happen.
- Any thin client hardware vendor could start making Sun Ray / ALP compatible devices. Today there are only a few vendors that have Sun Ray / ALP protocol licenses (Naturetech and Tadpole), but an open source ALP specification would mean that companies like Wyse, hp, and Neoware could all offer ALP-based thin client devices. This would probably drive into Sun’s profits since that would make Sun Rays into a commodity item, although it could spur Sun server sales. (On a side note, did you know that Sun now sells Opteron servers that are certified for Windows Server 2003?!? They have a 1U four way server that looks pretty sweet.)
- The community could write ALP client software for regular x86 computers. This could be either via a bootable CD image (to essentially turn a PC into a Sun Ray) or as a Win32 application that runs on Windows. (Imagine an ALP client similar to existing RDP or ICA clients.)
- The community could write an ALP protocol driver and extension for Microsoft Terminal Server. Much like the way that Citrix adds the ICA protocol support to Terminal Server, this open source package could add ALP support to Terminal Server. Personally I think this is the most interesting, because right now third party companies who want expand Terminal Server in really cool ways have to pay a lot of money to Microsoft to license RDP or to Citrix to license ICA. I’ll bet there are a lot of smart people with cool ideas and no money that could make some really cool things, and an open source ALP access method to a Terminal Server would most certainly encourage great things from the community.
Unfortunately it’s just a waiting game. The Sun Ray software and Secure Global Desktop are all free right now, so we can start playing with them immediately. The million-dollar question is when/if Sun will follow through with their commitment and open source those products.