In keeping with its goal to take all of its key software assets open source, Sun Microsystems yesterday announced that its 'Full Moon' Solaris Cluster software, which is used to create high-availability clusters for Solaris platforms, would be open sourced underneath its OpenSolaris project and using its own Common Development and Distribution License license.
OpenSolaris is the home of the community-driven but still Sun-dominated open source project that is creating the future Solaris operating system, codenamed 'Nevada'. Solaris Cluster, which was also known as Sun Cluster for a while, is installed at many thousands of companies worldwide, providing system failover. Sun says it currently sells thousands of licenses each quarter. Prices for the commercial-grade Solaris Cluster 3.2 run from $1000 per server for a single-socket box up to $100 000 per server for top-end E15K and E25K Sparc boxes. The clustering software is also available in the Java Availability Suite for $50 per employee per year and in the Java Enterprise Suite for $140 per employee per year. The software, like Solaris 10, runs on both Sparc and X64 architectures.
The current Solaris Cluster (release 3.2, announced in March) will be open sourced in three phases as Open HA Cluster, according to Paul Steeves, director of marketing for Solaris. The first phase of Open HA Cluster is releasing the code for agents, which are special pieces of code to make databases, middleware, and applications hook into Solaris Cluster seamlessly. Sun has created 24 agents already, for the major Solaris databases (Oracle, DB2, Sybase, MySQL) plus key applications from Oracle and SAP. The idea behind open sourcing the cluster's agent code is to not only show software vendors and shops that have their own homegrown Solaris applications how to write agents for their code, but to give them all the tricks Sun's own experts came up with making its own 24 agents. Sun is not open sourcing its agents for Oracle's 9i and 10g Real Application Clusters extensions, according to Steeves, because there are legal encumbrances restricting Sun from doing this at this point. But Sun is hopeful that these issues can be worked out.
In phase two of the Open HA Clusters project, the extensions to the core clustering code called the Geographic Edition will be released to the OpenSolaris community. It is this software that provides the active-active and active-passive clustering capability for Solaris servers over global distances. In phase three of the process, the Solaris kernel modules, the heartbeat mechanism for HA clustering, and all the core pieces of Solaris cluster will be opened up.
By choosing the CDDL license for Open HA Cluster, Sun is providing the same license for the clustering extensions to Solaris as it provides for Solaris itself. Sun considered the GNU GPL v2 license for Solaris more than two years ago when it decided to open up Solaris, and the company also looked at GPL v2 and v3 for Sun Cluster. "We did toy with the idea of GPL because it restricts people from taking code and not contributing," said Steeves. But in the end, he said CDDL prevailed.
The amount of code in the Open HA Cluster project is substantial, and the technology involved is significant. High-availability clustering is one of the more difficult technologies to develop, which is why there are so few alternatives. Solaris has well over 10 million lines of code, and after the 18-month roll out of Open HA Cluster, Sun will take over 2 million lines of additional code open source plus another 1 million lines of testing environment and related code. Untold pages of documentation will also be released.
Sun is hoping to get a rev of the open source versions of Solaris and Solaris Cluster as Express releases so people can beta test both open source products together.
Sun Cluster 3.2 and its kickers will continue to be available as a commercially supported product. The Sun Cluster 3.0 product was only available to support four-node clustering and only within the same data centre, but Sun Cluster 3.1, announced in August 2005, expanded to eight nodes and offered the Geographic Edition extensions that allow clustering over the Internet or through private networks on a global basis. With Solaris Cluster 3.2, Sun has expanded cluster sizes to 16 server nodes, and has done a lot of work to make it easier to use the product, particularly with Oracle 10g RAC. The 3.2 release also has a command line interface that is consistent with Solaris itself, improvements for managing Solaris containers, and dual-partition and live upgrade features that allow the downtime to be minimized in a cluster as software is updated on the nodes.