December 5, 2005

Opening Solaris opens door to community, derivative distros

Author: Stephen Feller

When it released the source code to its Solaris operating system, Sun Microsystems bet that people would pick it up and run. Sun said it wanted to see a community form around the OpenSolaris code, and take it beyond what the company had done with it in its more than 25 years of development of the OS. Today the community Sun was looking for seems to be coming to life.

Since the OpenSolaris community was launched in June, at least three derivative distributions -- SchilliX, BeleniX, and Nexenta -- have been created and released. Parts of OpenSolaris are also making their way into other operating systems. A port of DTrace is in the works for FreeBSD.

Claire Giordano, director of the OpenSolaris marketing team, said that almost 10,000 people have registered at the OpenSolaris community Website, and that more than 24 OpenSolaris user groups have been created worldwide.

"We're pleased as punch that developers are innovating on the OpenSolaris platform," Giordano said. "[We wanted] to create a platform for innovation by enabling community members to use the OpenSolaris technology for their own products and projects ... and to grow the ecosystem around the OpenSolaris technology."

Although Solaris itself had been free to download and use for some time, the source code had not been released to the public. Giordano said that customers had been requesting access to the code with increasing frequency and that Sun's goal in releasing the code was to marry its technology with an open source community development model, where they see the company and the community benefiting greatly as a result.

Parts of OpenSolaris are still not open source, however. Moinak Ghosh, who works for Sun in Bangalore, India, and is the lead developer on BeleniX, noted in a post to the Bangalore OpenSolaris user group in July that OpenSolaris was not yet self-hosting. This prevented what he called a "pure bootable OpenSolaris environment," because some components are still closed source.

Sun has laid out a roadmap for all components to be released under an open source license by sometime after July 2006.

In addition to meeting customer requests for open code, OpenSolaris will have educational benefits as well. Giordano said that Sun expects Solaris to become more widely used in computer science curriculums at universities around the country as a result of the code release, but that the real, immediate educational benefits will be felt by Sun employees who work with the operating system -- and she said it is already happening.

"The conversations on are making a difference," Giordano said of the site's message boards and mailing lists. "Beyond the obvious benefit of the contributions from community members that have been integrated into the OpenSolaris source base, the OpenSolaris community members who do wear Sun badges are benefiting from the direct connection to community members who don't wear a Sun badge."

Bring on the derivatives

SchilliX, an OpenSolaris-based live CD, was the first OpenSolaris derivative released, only days after Sun's release of the OpenSolaris code. OpenSolaris can be installed from the SchilliX CD to a hard drive or USB memory stick. Lead developer Jörg Schilling did not respond to requests for comment in time for this story.

BeleniX was the second OpenSolaris-based distro to be released, with the 0.1 version debuting in early October. lead developer Ghosh said he sees the code release as an opportunity for Sun to get wider acceptance of Solaris, as well as a way to stimulate further interest in using it.

"This is also the opportunity to expand the Solaris platform to fill in many more niches and application areas," Ghosh said. "This is possible only via open community participation."

Ghosh has been working for Sun for two and a half years, but he is not a part of its OpenSolaris team. He started working on BeleniX in his spare time -- what he said was three months of weekends and late nights to figure out how to get the live CD to boot. Calling it "a great learning experience," Ghosh spent that time filling in the holes left by pieces of Solaris whose code has not yet been released to the community.

Ghosh said he started at the bottom by learning how system booting works with the Nevada release of Solaris. Ghosh also found other issues along the way that required him either to pore through Sun's technical documents or pick the brains of his Sun coworkers.

"I wanted to implement things from scratch," Ghosh said of his massive research and self-education about Solaris and building a live CD operating system. "Some will call this reinventing the wheel, but for me it was one big learning experience."

Ghosh said he also "borrowed a couple of ideas from" Debian, Knoppix, and SchilliX, but tried to avoid "understanding their implementation" because he wanted to figure it out himself.

The GPL and CDDL butt heads

Nexenta debuted on November 7, and has generated more interest and discussion than BeleniX and SchilliX combined because of its hybrid development as a Debian-based OS using the OpenSolaris kernel and filled out with a majority of packages that originated in Ubuntu, said Alex Ross, a developer on the project.

"Nexenta, at its early stage, creates a new set of opportunities for open source developers," Ross said. "The early stage is one thing, but there's also the fact that it is already stable to the degree that we run all our stuff on it."

The OS is so stable to start off with because of its dependence on so much that has already been developed, leaving what Ross said is a relatively small Nexenta team to weave it all together.

From the start, Ross said, the user experience is simplified because "it looks and feels like a Linux box, or more exactly, an Ubuntu Linux box." Although he said it's not a priority, the look will be customized in the future to create a unique identity for Nexenta, but the team is more focused on continuing to add to Nexenta's available packages. The Nexenta repository already has more than 2,300 packages.

The aspect of the operating system that has generated most of the discussion is the fact that Nexenta is very "GNU-centric," Ross said. While the OS uses the OpenSolaris kernel and core runtime, including the Sun C Library, the rest is GNU-related open source software. The controversy, however, comes with the use of Debian's dpkg package management system.

Some Debian developers and community members took issue with Nexenta's use of GPLed software in conjunction with Sun's Common Development and Distribution License (CDDL), which is considered by some to be incompatible with the GPL. The issue raised by the community is whether Debian's GPLed binaries can be linked to differently licensed libraries. Many users believe it cannot.

Debian founder Ian Murdock expressed dismay over the community response to Nexenta. Murdock, who admitted in the post that perhaps Nexenta did not introduce itself to the Debian community in the best way, said he didn't feel the use was a violation of the license, and in fact was "excited" by the potentials of improving on Solaris.

He cautioned those voicing opposition to Nexenta that if they are right about the licenses then, at best, those pointing the fact out were gaining only a moral victory based on a technicality.

Debian developer Josh Triplett disagreed, saying that "while it is OK for someone to distribute GPLed software for Solaris or any other system with GPL-incompatible libraries, it is not OK for someone to distribute GPLed software 'along with' Solaris and those libraries."

According to Triplett, "Compiling GPLed software against a GPL-incompatible libc and other system libraries does not make those libraries derivative works of the GPLed software -- rather, it makes the binary of the GPLed software a derivative work of the GPL-incompatible libc and other system libraries. Such a binary is non-distributable."

"The intent of the GPL is to prohibit derivative works of GPL code from being proprietary, not to prohibit GPL applications from being linked to GPL-incompatible libraries," Murdock said in response to Triplett. "The former is a goal; the latter is a technicality in pursuit of a goal."

Ross admits that Nexenta could have done better in terms of communication, but that Nexenta Systems, the company formed behind the new OS, has done its "due diligence prior to starting work on Nexenta."

"We hope that the common sense will prevail," Ross said. "The claim that one kind of free and open software cannot be distributed with another kind of a free and open software defeats the common sense. It's like saying that 'free' means something else. And the next logical step would be to say that 'peace is war,' and with that get straight into Orwell's 1984."

While Nexenta and Debian iron out their differences, work is continuing on OpenSolaris derivatives and porting pieces of OpenSolaris to other OSes. The most notable development is the porting of DTrace, the Solaris code tracing tool, to FreeBSD by developer Devin O'Dell.

According to his blog, the first milestone of his roadmap has been accomplished, and a binary was released on October 9. O'Dell also said that Sun is supporting his work on FreeBSDTrace by supporting him with hardware on which to continue his development of the software.

The future of open source?

Mike Eisler, a developer for the network storage company Network Appliance, wrote that the OpenSolaris community may well be "the future of open source communities" because of its visibility, organization, and the time and effort Sun is putting into guiding it along.

"I think the bigger point is that because Sun has made so easy to navigate, so easy to participate in, and so open to 'outsiders' ... those 'outsiders' are going to find that they get much more leverage with OpenSolaris than with other open operating systems," Eisler wrote.

"High leverage attracts participation, and the path from participant to contributor can be a slippery slope. Whether this higher leverage translates into increased market share for OpenSolaris versus other open source kernels remains to be seen, but the design and execution of may represent the future of open source communities."


  • Unix
Click Here!