Illumos sporks OpenSolaris
Spooning Oracle for now, but ready to fork
If you were hoping that someone would fork the OpenSolaris operating system, you are going to have to settle for a spork. You know, half spoon and half fork. That, in essence, is what the Illumos, an alternative open source project to continue development on the core bits of OpenSolaris, is all about.
The disgruntled OpenSolaris community has been ignored by Oracle since it acquired Sun Microsystems back in January, and the project's governing board has threatened to commit ritual suicide by the end of August to try to get Oracle participating in the open source Solaris development effort.
Development on OpenSolaris has all but stopped, and the project has really stopped being a community at all. So Garrett D'Amore, a former Sun and Oracle software engineer who worked on Solaris for many years, decided to do something about it.
D'Amore has been senior director of engineering at Nexenta Systems since May; he left Oracle, where he was a Solaris kernel and device driver architect, a few months after Oracle took control of Sun. Nexenta is one of a handful of companies that are backing alternative distributions of OpenSolaris, and therefore it has a vested interest in keeping OpenSolaris moving forward.
D'Amore gets his paychecks from Nexenta, so he wants OpenSolaris to continue to evolve as well. But the project is dead in the water and the community needs a new place to hang out and tweak code for inclusion in a code base.
That, in a nutshell, is what Illumos is all about - for now. D'Amore is adamant that Illumos is not a fork of OpenSolaris and it is definitely not an attempt to create an alternative distribution separate from OpenSolaris. This not an honest-to-goodness forking of the OpenSolaris code base. At least not yet.
What Illumos is doing is taking the core OpenSolaris kernel and foundation, which is called OS/Net or ON inside of the former Sun, and creating a repository and development community around that. ON includes the kernel, C libraries, shell and shell utilities, file systems, and networking functions of OpenSolaris.
"We are not a distribution in a normal sense," says D'Amore. "It is more of a code base." And one that Nexenta, Belenix, and SchilliX, who do create alternative distros for OpenSolaris, can in theory base their future releases upon if they don't like what is - or isn't - coming out of OpenSolaris.
The OpenSolaris community doesn't like the idea of the code being in control of a non-participating steward. "One big goal of the Illumos project is that is it not a slave to any corporate interest, be it Oracle or Nexenta or anyone else." D'Amore has invited Oracle to participate in Illumos, but like the OpenSolaris community, has not heard anything from the software giant.
Aside from the radio silence from Oracle concerning OpenSolaris, outside code contributors are not seeing their code approved by Oracle for inclusion in the OpenSolaris repositories, and binary releases that are missing in action, OpenSolaris has other issues that Illumos will deal with.
The biggest problem is that an important minority of the code distributed with OpenSolaris is closed source, something that has annoyed the OpenSolaris community for five years. Sun didn't allocate resources to fix this and neither has Oracle.
D'Amore says that a significant percentage of the libc C library (libc_i18n to be precise) is closed, as is the NFS lock manager, portions of the kernel's cryptographic framework and functions, and a bunch of important drives. D'Amore says that the situation is analogous to Apple's "Darwin" open source variant of its Mac OS operating system, which was missing just enough stuff to make it not truly an open source operating system.
So Illumos wants to fix that, and D'Amore put his
money time where his mouth is and spent the past couple of weeks coding the missing C library parts, which can now be slipstreamed into OpenSolaris where the closed source bits are now in the real release. Over time, D'Amore wants to solicit help and have the Illumos community spend the time and brainpower to get all of the code in the ON stack open source.
While not technically forking OpenSolaris, the Illumos project is most definitely going to continue development on the ON core code in OpenSolaris, submitting all of its code changes back to OpenSolaris for Oracle's inside Solaris techies to review and approve. (D'Amore says that outside contributors have not seen any OpenSolaris code tweaks approved by Oracle in months.) This cooperation with Oracle is the spooning part.
But D'Amore concedes that Oracle's interests with OpenSolaris will be necessarily different from those of the OpenSolaris community and the new Illumos, and this could lead to a formal break with OpenSolaris and Oracle. Sun's goal with OpenSolaris was to have as many free hands as possible coding as many drivers as possible and certifying OpenSolaris and then Solaris on as much machinery as possible.
This is a carbon copy of the approach the Linux community used to get Linux on the widest distribution of machines that the IT market has ever seen. (And probably will ever see.)
Oracle's goals for Solaris are to run it on its own and a select number of other platforms, and tune it to run its own software stack well. But OpenSolaris and now Illumos may have divergent goals, and some code this new community wants and needs may not be added into the OpenSolaris distribution by Oracle.
"We will make changes in the code that Oracle will not take back into the code," D'Amore concedes. "This has more to do with Oracle business decisions. Some of the code we create Oracle would like to have open source replacements for. But the things that people in the community want to work on are not the same things Oracle wants to work on."
As for Sun's idea of getting Solaris running on everything possible, D'Amore says that "Oracle totally gets that this was the wrong way to capitalize on Solaris" and the fact that Oracle could buy Sun for $5.6bn is the only proof you need. "I think Larry is right," D'Amore says, referring to Oracle's chief executive officer. "Solaris is going to be in a lot more shops, but on a much tighter base of hardware."
For now, D'Amore says the main thing is for the contributors of the Illumos project to create their tweaks to the ON core and submit them back to Oracle through OpenSolaris and submit them to the same quality control and monitoring processes that Sun used.
D'Amore is currently in charge of Illumos as a benevolent dictator, and Nexenta is supporting his work on the project and kicking in some funds. A dozen developers have joined the effort so far, and D'Amore is soliciting corporate sponsorship of the effort.
The project could expend over time to include other affiliated projects, such as those dealing with X11, desktop, and C++ runtime components as well as alternate OpenSolaris distributions on Power, ARM, and mainframe processors.
Having said all the delicate things about wanting a "collaborative and cooperative relationship" with Oracle for OpenSolaris development, D'Amore says that if the OpenSolaris community were abandoned or shut down by Oracle, "then this starts a big fork".
Illumos is for the moment a kind of insurance policy for the OpenSolaris community, until Oracle announces its plans for the project - perhaps at OpenWorld 2010 in late September. ®