Performance Zone is brought to you in partnership with:

Mitch Pronschinske is the Lead Research Analyst at DZone. Researching and compiling content for DZone's research guides is his primary job. He likes to make his own ringtones, watches cartoons/anime, enjoys card and board games, and plays the accordion. Mitch is a DZone Zone Leader and has posted 2576 posts at DZone. You can read more from them at their website. View Full User Profile

Illumos: Determined Not to Let OpenSolaris be Another Darwin

08.03.2010
| 8199 views |
  • submit to reddit
Oracle's neglecting of the OpenSolaris Governing Board has led to an ultimatum which will expire on August 19th, at which point the OSGB will dissolve itself.  In order to preserve the advancement of OpenSolaris community and the open source code, Nexenta employee Garrett D'Amore, who worked on Solaris for many years, is building a new derivative of the OpenSolaris OS.  Illumos (originally Illum OS) is the name of the project, and D'Amore and his supporters are determined to see that the OpenSolaris community doesn't end up like the Darwin project, which was an open source version of Mac OS X's code.  DZone attended today's conference call introducing the new OS.

Introduction

People involved with OpenSolaris will know that the project actually has some closed source components.  D'Amore believes that this is one of the core concerns in the community.  Some of the critical closed source components include:

  • lib i18n (needed to build a C library)
  • NFS lock manager
  • Portions of the crypto framework
  • Numerous critical drivers (e.g. mpt)

These closed components present problems for companies that have products that are downstream dependent, such as Nexenta (the company that D'Amore works for), Belenix, SchilliX, and others.  

Simon Phipps, a board member of the OSI, voiced his support for Illumos on today's conference call, and compared it to the project IcedTea, which eventually led to OpenJDK (from which IcedTea was downstream) becoming fully open.  

Community

D'Amore was able to work with "some of the smartest people on the planet" when he worked on Solaris, so when he says that he's currently working with world class engineers on the Illumos project, you can tell that there are some amazing developers behind this OS.  There are currently twelve developers right now, and certainly more on the way.

Illumos is completely independent from OpenSolaris and it can't be shut down or unable to progress because of corporate management (as is the case with the OpenSolaris Governing Board).  The Illumos community will own the project's identity and there will be no central company holding sway over the project.  The project currently has many sponsors including Nexenta, Joyent, BeleniX, Greenviolet, SchilliX, BerliOS, Everycity, and more.  Oracle has also been invited to participate as an equal peer in the project and D'Amore is waiting for their response.  Illumos, is definitely not a competitor to Solaris, said D'Amore.  

Garrett D'Amore is currently the chairman of the project, but he will eventually move the project towards a consensus-driven meritocracy.  

Technical Aspects

OpenSolaris contains some great technologies including ZFS, DTrace, Crossbow, Zones, and more.  The project contributors have created Illumos from a derivative (child) of OS/Net (aka ON), which is a consolidation that makes up the Solaris/OpenSolaris kernel and the critical system utilities.  D'Amore says that the project is still very young, but it will make great strides before the year is through.  

Illumos is not a distro, it is just the Binary ISO with the minimal bits needed to bootstrap a distro.  A distro may be in the future for Illumos, but right now it will be up to the community to develop various distros from a neutral packaging.  Nexenta has contributed a tool to generate .deb files from IPS.  

The project's goal is not to be a fork, but instead, a parallel-but-separate derivative that aims for 100% ABI (Application Binary Interface) compatibility, which means you should be able to take an application that runs and compiles on Oracle Solaris, and run it on Illumos.  The project will also work on making a 100% open source OS by building an open libc, kernel, and drivers.  Significant progress has already been made in both of these areas.  D'Amore also wants Illumos to be a self-hosting Sun OS derivative. 

                                              

x86 and amd64 driver support is available (see website for more details), along with VMware and VirtualBox support.  SPARC support isn't ready yet, but it will be soon.  Other architectures are also possible if the community wants to support them.  Right now, the project has replaced the closed bits of libc (including full locale support), and replaced the most critical closed source utilities.  There are replacements for some drivers now, and the system is able to boot.  

On the other hand, Illumos will not be a complete clone of the Oracle upstream project.  One of the exciting parts of the project will be the experimental repository, which can accept changes from contributors that might not be acceptable in Oracle's upstream (but if they were, they would certainly contribute back to Oracle).  As long as it doesn't break the ABI compatibility, variations from Oracle's ON are encouraged.  "There is a lot of room for innovations," said D'Amore.

Another important point was made by Bryan Cantrill, a former Oracle manager (co-inventor of DTrace) and current Vice President of Engineering at Joyent.  Although they want to maintain compatibility with Solaris and not take any divisive steps in development, the ability to fork with the Illumos project is a key requirement or "check" for true open source projects that the former OpenSolaris board, managed by Oracle, didn't have (since the code wasn't entirely open source).  The ability to fork lets a project innovate and not get hung up on governance models.  Illumos will be the insurance that the community needs.

D'Amore is currently looking at BSD, MIT, and ASL v2 for Illumos licenses.  He wants to make sure that licenses are compatible with the Oracle upstream.