|
|
Subscribe / Log in / New account

Distributions

Illumos: the successor to the OpenSolaris community

June 2, 2011

This article was contributed by Koen Vervloesem

In the August 2010, storage vendor Nexenta Systems announced Illumos, as a project to free the OpenSolaris distribution. The ultimate goal of Illumos is twofold: to replace all proprietary code that is still in OpenSolaris by open source code, and to build an independent community around the former OpenSolaris code base. Now almost 10 months later, Nexenta Systems organized its Nexenta European User Conference in Amsterdam on May 20 and presented its plans for Illumos and the Nexenta products, so this is the perfect opportunity to take a look at where Illumos is heading.

Code

The Illumos code base forms or will form the foundation of a couple of distributions, including a storage appliance from Nexenta, a cloud platform from Joyent, and the general-purpose OpenIndiana (which is the spiritual successor of the OpenSolaris distribution). One of its initial goals was to replace the few remaining binary-only components of the OpenSolaris code base by open source counterparts. Today, Illumos still has some of these binary-only components, such as the NFS lock manager, the IKE daemon (Internet Key Exchange, part of IPsec), some support libraries, and a few drivers, but according to Garrett D'Amore (Director of Engineering at Nexenta Systems) the Illumos developers are busy addressing all those issues. Also, while last year compiling Illumos still depended on the proprietary Sun Studio compiler, Illumos now also builds using GCC, although it needs more testing.

Illumos has already received code contributions from some hardware vendors, such as Areca and 4Front, and according to D'Amore there are additional code contributions in the pipeline, especially from vendors of host bus adapters and network interface cards. Moreover, Intel and LSI are technology partners of Nexenta, the main sponsor of Illumos, which means that Nexenta has access to specifications and engineering support of these companies. According to D'Amore, code contributions from both vendors will be coming. The most notable absentees here are AMD and Nvidia, which apparently don't have a friendly relationship with Illumos/Nexenta. However, in the comments of one of his blog posts, D'Amore explained that these relationships or non-relationships are not carved in stone: "I'm happy to be friendly with either NVDA or AMD or any other vendor that wants to reciprocate. Its just that at this point, only Intel of those three has stepped up for illumos or Nexenta."

Growing pains

Recently, there was some criticism about the way Illumos is being managed. Stamos Tolias has called for a fork because he is dissatisfied with the "narrow-minded, ZFS centric dictatorship and cathedral development model". Apparently he has funding and wants to go public with the fork in November, with project leadership coming from the University of Athens, financial support from an unspecified EU research fund, and EADS as a commercial partner. Tolias didn't respond to your author's questions for clarification.

As some of the criticism by Tolias is directed personally at D'Amore, the latter responded to the allegations on his blog:

First the claim is that I've got omnipotent control over illumos. This is absolutely false. While I created the project, and serve as technical lead, I've offered to step down if the developer-council and admin-council would like to me to do so. Notably my employer (Nexenta) has minority representation on both councils, and I've tried to keep the groups as neutral as possible. I said when I created the illumos project, and I still maintain, illumos is a community project, not a Nexenta one.

Further, D'Amore explains that Illumos is not under the absolute control of Nexenta:

I've also handed over determination of the Advocate list (the list of people who get to approve and integrate submissions) to developer-council. So far Nexenta has 75% of the advocate slots, but this can change at the request of developer-council. Since about 75% of the contributions to the illumos code have come from my team at Nexenta, this should hardly be surprising. In fact, I've flatly refused to add any more Nexenta advocates, even though there are meritorious candidates, until we get broader representation here.

Currently, D'Amore is working with the Software Freedom Law Center to create a legal entity for Illumos, which would be a foundation completely independent of Nexenta. So while it may be true to some degree that Illumos development is not happening as openly and independently as it could be, Nexenta is doing its best to lay the groundwork for a real community-made Illumos.

Nexenta

Nexenta is building on the Illumos base, and the result is twofold: an open source GNU/Solaris operating system, Nexenta Core Platform (NCP) on the one hand (we looked at version 2 in 2009), and a commercial storage solution, NexentaStor, on the other hand. The latter is a ZFS-based storage solution that is typically purchased from systems integrators and VARs as a part of a total solution with certified hardware from vendors such as LSI, Quanta, Dell, Supermicro, and Intel.

The key message from Nexenta is its so-called "Open Storage" approach: NexentaStor users don't face vendor lock-in for their data, because they can easily migrate away to any other operating system supporting (the same or a newer version of) ZFS, such as Solaris, FreeBSD, and so on. In contrast, the big storage vendors use a proprietary on-disk format, and their solutions are tightly coupled to their own hardware. With Nexenta, users can choose for themselves which hardware to buy.

While the user space of previous Nexenta releases was based on Ubuntu, Nexenta 4 (which will be released at the end of 2011) will be based on Debian 6 ("Squeeze") instead. The Nexenta engineers made this decision because Debian is more portable and Ubuntu has too many patches that make use of specific Linux features which makes porting the user space to the Illumos kernel more difficult. While Nexenta 3 was still based on the OpenSolaris kernel, Nexenta 4 will be the first Illumos-based Nexenta product. So with the change from the OpenSolaris kernel to the Illumos kernel and from an Ubuntu user space to a Debian user space, Nexenta 4 will be a big switch.

However, there's still a lot of "fear, uncertainty, and doubt" spread about ZFS and patents. Last year, storage vendor NetApp sent a threatening letter to its competitor Coraid, and as a result Coraid decided to stop reselling their ZFS based storage appliance (based on NexentaStor). There was also a mutual lawsuit between Oracle and NetApp, which had to do with NetApp's contention that ZFS violated certain of its patents on the one hand, and with NetApp's rights to use certain technologies that originated in Sun on the other hand. Oracle and NetApp settled their dispute, but the details of their agreement were never made public.

Nexenta and any other companies using ZFS in their operating system surely don't have to be afraid of lawsuits by Oracle: the CDDL license that the ZFS code was made available under explicitly allows the use of any patents Oracle might have on the code. However, NetApp or any other party can still sue Nexenta for violations of their patents in the ZFS code, although since the beginning of this year Nexenta is part of the Open Invention Network (OIN). In his keynote speech at the Nexenta European User Conference, CEO Evan Powell made it clear that he considered this membership as a protection against potential patent infringement litigation by NetApp: "If NetApp wants to sue us, we can sue them with the core UNIX patents from Novell that are shared through the OIN."

StormOS

In January 2011, Nexenta Systems also hired Andrew Stormont, the developer of StormOS, an Xfce-based derivative of Nexenta Core Platform. It's a desktop operating system for people who like the ZFS/apt combo that Nexenta offers, but don't want to install the desktop packages themselves (because Nexenta is not aimed at desktop users). Stormont is now working as a software engineer at Nexenta Systems, primarily packaging software for the upcoming Nexenta Core Platform 4, but he recently also submitted patches for Illumos.

As part of his job at Nexenta Systems, Stormont gets one day a week to work on StormOS, and most of his work at Nexenta ends up benefiting StormOS too, but StormOS is still pretty much a one-man show since it started. The next release, StormOS Flash, will be based on NCP4 with some components from Debian 7 (Wheezy), such as newer X.Org and Xfce packages. One of the new features will be a graphical interface for Xfce to integrate ZFS snapshots in the file manager, like the Time Slider functionality in GNOME on OpenSolaris.

A more experimental feature that Stormont is considering is FatELF to support 32 and 64-bit architectures in a single binary. The Illumos kernel is already capable of automatically booting up in either 32 or 64-bit mode based on the hardware it is running on, so it makes sense for the binaries sitting on top of the kernel to also automatically run in the correct mode.

In an email interview with your author, Stormont explains which benefits FatELF could offer to StormOS:

FatELF would remove the need for separate /bin and /bin/amd64, /lib/ and /lib/amd64 directories, and so on. It would also remove the need for the stinky isaexec command — which seems to be universally hated. It would also make packaging of 32/64 bit libraries easier — no need to hack 64 bit rules into Makefiles. And finally, it would make a portable install of StormOS possible, that could run in either 32/64 bit mode automatically. Most people cringe at the idea of FatELF, citing bloat as the main reason, but I think that is no longer an issue since most people have broadband and hard disks are large and cheap nowadays. I'm not sure if FatELF will ever make it into an official StormOS release, but I will definitely experiment with it.

Other companies

Nexenta is not the only one backing Illumos. Joyent is another big contributor, and it hired some core Solaris people like Bryan Cantrill and Brendan Gregg. Joyent has published a Git repository with their patches to the Illumos tree. In his announcement of the tree, John Sonnenschein wrote:

The illumos-joyent tree is a vehicle for Joyent to release patches to illumos quickly, in the same vein as the -mm Linux kernel tree. That is, it is not a fork nor an alternative development hub; both Joyent employees and community members are encouraged to bundle patches from illumos-joyent and fold them in to the mainline Illumos tree.

Some of these patches are fairly Joyent-specific, but others are useful more generally. Most of the patches are enhancements for zones functionality (operating-system level virtualization), as well as DTrace (the Solaris dynamic tracing framework) enhancements for better analytics in the cloud. Many of these changes will probably find their way into Illumos in the near future, although there's the practical issue that Illumos is using Mercurial while Joyent uses Git.

Another code contributor is the database company Delphix, which hired Adam Leventhal who worked on RAID-Z (a redundancy scheme similar to RAID 5, using ZFS) and is also a co-inventor of DTrace. Delphix seems to prefer to keep its involvement more quiet, as they haven't announced anything with respect to their contributions, but a cursory look at their commits in the Illumos repository shows that they are definitely involved. So while Nexenta Systems is still the main contributor, there are others too.

Google Summer of Code

After less than a year Illumos is already active as a mentoring organization for Google Summer of Code (GSoC) 2011. Two Illumos GSoC projects have been accepted: Harshit Jain will update Illumos to be able to boot with GRUB 2 and to support booting from a disk with a GUID partition table (GPT), which will be mentored by D'Amore, and Shashank Karkare will rewrite some of the Perl system components (like intrd and kstat) in C, under the supervision of Joyent's John Sonnenschein. The goal of the latter project is to remove Perl as a runtime dependency for Illumos.

Furthermore, Nexenta also funded three students that didn't get into Google Summer of Code. For instance, Andrey Sokolov will work on supporting Linux binaries on Illumos without zones (branded zones are a way to run Linux binaries on Solaris in a virtual container), Bayard Bell will work on an IKEv2 daemon to replace IKE for Illumos, and Viktor Ikonnikov will write a GUI frontend for the service configuration tool svccfg. For future editions of GSoC or Illumos Students, Illumos has an extensive list of project ideas.

ZFS working group

Another interesting development under the Illumos umbrella, although it is somewhat under the radar, is the ZFS working group. This group was founded a few months ago by Adam Leventhal and Matthew Ahrens (who has worked on ZFS at Sun/Oracle) of Delphix and Garrett D'Amore. Ahrens is the leader of this group. The goal is to facilitate collaboration of the community around ZFS, by coordinating the work and exchanging ideas. In particular, the founders had concerns about fracturing ZFS into sub-communities of the various operating systems that are supporting the file system.

The ZFS working group contains developers from Illumos/OpenIndiana, Mac OS X (most likely Don Brady developing ZFS support with his company Ten's Complement), FreeBSD (probably Pawel Dawidek who ported ZFS), Linux, and Solaris. According to D'Amore, Oracle has also a seat on the group. The workgroup's activities are not done in the open, and some of the members don't want their membership to be known, but it's the intention to publish results of the discussions regularly.

The first result from the ZFS working group is the feature flags proposal. In the announcement, Matthew Ahrens wrote:

The first product of the working group is the design for a ZFS on-disk versioning method that will allow for distributed development of ZFS on-disk format changes without further explicit coordination. This method eliminates the problem of two developers both allocating version number 31 to mean their own feature. This "feature flags" versioning allows unknown versions to be identified, and in many cases the ZFS pool or filesystem can be accessed read-only even in the presence of unknown on-disk features. My proposal covers versioning of the SPA/zpool, ZPL/zfs, send stream, and allocation of compression and checksum identifiers (enum values).

As Ahrens said, this feature flags functionality is needed because ZFS development outside Oracle is now happening in a much more distributed way, compared to when only Oracle/Sun developed ZFS. After ZFS v28, Oracle has stopped publishing its source code, and the developers of Illumos, FreeBSD, and other ZFS-supporting operating systems don't want to wait until Oracle's next code drop after the release of Solaris 11, so development goes on. Thanks to the feature flags, these developers outside Oracle could add new compression algorithms or new RAID variants without breaking interoperability: in most cases the operating system should still be able to access a ZFS pool or file system in read-only mode if it has an unknown feature. Feature flags will be implemented this summer and integrated into Illumos.

Conclusion

Illumos is clearly going forward, although the way it is doing this is frustrating some people. The Illumos developers have more of a cathedral-like development model, while some of the more vocal members of the Illumos community would like more of a completely open bazaar-like development model like Linux is using. The call for a fork and some criticism about the closed nature of the ZFS working group are consequences of these sentiments.

However, the critics forget that the OpenSolaris development model was much more closed. Although Sun released the bulk of the Solaris system code and called OpenSolaris "open source", there never was a real OpenSolaris community: it always depended too much on Sun and later Oracle, and both companies didn't make an effort to create an independent community around their "open source" project. Oracle's current development model for Solaris 11 is completely behind closed doors.

So while Illumos is not yet the completely open Solaris code base and does not yet have the vibrant community that many OpenSolaris people have dreamed of, things are going in the right direction. It's not a Nexenta-only project anymore, there will be an independent Illumos foundation, and the project has attracted support of some big hardware vendors. Now it's just waiting on the Illumos-based Nexenta release and the first stable Illumos-based OpenIndiana release to get the ball rolling and regain the interest of all the people who left the OpenSolaris community during Oracle's radio silence.

Comments (4 posted)

Brief items

Distribution quotes of the week

More rules will never save an organization. Sometimes you need rules, but I think that for a group like Gentoo to work well we need to keep them to a minimum. "Well, that's not written in black and white so I won't cooperate until it is" is no reason for anybody to pause even a moment before escalating. Unclear policies are a reason to assume good intentions - not a reason to overlook obvious bad intentions. You can't solve a people problem with a better algorithm.
-- Rich Freeman

A long time ago, far far away there was an Operating System named Red Hat Linux. In that Operating System there was an installer which had an option called "( ) Install Everything". Now "( ) Install Everything" was a wonderful tool for QA a release because one could get everything onto one system and find all the problems people could run into (oooh need more than 8GB to install stuff, oh look package XYZ conflicts with ABC, oh hey this package if installed will reboot your system.). It was also a bane of developers because people by their nature will install everything and then open bugs because one really only wanted Reboot-My-Box-Daily-0.1.rpm installed if you knew what you were doing. And because so many people would install everything and complain about things like "My goodness Red Hat Linux is bloated! It takes over 8 GB to install now.", it was decided to remove it.
-- Stephen Smoogen

Comments (none posted)

Linux Mint 11 released

The Linux Mint 11 ("Katya") release is available. It features improved multimedia support, an enhanced software manager, LibreOffice, and more; see the release notes and LWN's review of this release for more information.

Comments (5 posted)

Mageia 1

Mageia 1 has been released. Mageia is a community driven fork of Mandriva that began in September 2010. This release contains tools that will be familiar to Mandriva users, and a migration guide is available to upgrade to this release from an existing Mandriva install. See the release notes for more information.

Comments (2 posted)

openSUSE renames OBS (openSUSE News)

The openSUSE project has renamed openSUSE Build Service to the simpler and less confusing "Open Build Service", which has the nice property of retaining the OBS acronym. "In highlighting the benefits of OBS to the masses, the over-reaching assumption that the service is openSUSE-specific proved to be a deterrent. It clearly takes additional effort to convince a potential user that despite the name, openSUSE Build Service was not just for openSUSE. And the distribution-independent technological benefits became lost in the confusion. This effect is very apparent in face to face communication as you’ll almost immediately hear others saying "No, I'm a Fedora packager, this has nothing to do with me. Sorry." when they hear about OBS. This same effect [led] to less people reading articles or attending talks on the subject."

Comments (5 posted)

openSUSE 12.1 Milestone 1

The first milestone on the road to openSUSE 12.1 is available for testing. "It is the first milestone, hence far from stable, but the images are now finally building, so we have a good starting point for further development."

Comments (none posted)

Scientific Linux 6.1 Alpha 1 Release

Scientific Linux has released the first alpha for Scientific Linux 6.1. "This release has all the new updated packages from The Upstream Vendors (TUV) Update 1. It will install, and it appears to work, but no major testing has been done."

Comments (none posted)

Distribution News

Debian GNU/Linux

bits from the DPL: some oldies

Debian Project Leader Stefano Zacchiroli has an update on what he's been up to lately. "Since the last update of mine---released shortly after the recent elections---has been mostly about "DPL interaction tips & tricks", this one will cover the time span from mid April to now. Better get started ..."

Full Story (comments: none)

Debian and Linux 3.0

The Debian kernel maintainers look at the consequences of the change in kernel versioning. "The kernel team will not maintain linux-2.6 vs linux-3.0 packages. We will change the binary metapackages whose names include '2.6' into transitional packages, to be removed after 'wheezy', and we may rename the source packages linux-2.6 and linux-latest-2.6. There are likely to be many programs and build scripts that test for a kernel version prefix of '2.6' vs '2.4' and will behave incorrectly when they find '3.0'. Others require that there are at least 3 numeric components in the version string, which may cease to be true."

Full Story (comments: none)

Fedora

Fedora Scholarship 2011

Ian Weller has announced that Ricky Elrod is the recipient of the 2011 Fedora Scholarship. In an interview Ricky talks about his contributions to Fedora. "A lot of my work so far within the infrastructure team has been internal things that end users don't directly see. Whether enhancing tools that we use to monitor services, upgrading things that we use to provide the best possible infrastructure for users and developers alike, and working with people to coordinate when things are happening that the infrastructure has to make any kind of change for."

Comments (none posted)

Appointment to the Fedora Board and reminder of upcoming elections

Jared K. Smith has announced that Guillermo Gomez has accepted a seat on the Fedora Board. "Guillermo has demonstrated his commitment to Fedora through his tireless efforts on a number of different fronts, including working on packaging, development, and ambassador programs. He has also shown his ability to mentor new contributors and help grow the Fedora community. I have no doubt that he'll continue these efforts while on the Board, and that he'll bring his perspective to help the Board as it makes decisions affecting the direction that Fedora takes. I would like to publicly thank Guillermo for his willingness to serve, and I hope the entire Fedora community will join me in welcoming him to the Board."

Full Story (comments: none)

FUDCon APAC now open for bids

There will be a FUDCon (Fedora Users and Developers Conference) in the Asia-Pacific region sometime around the end of this year. The bidding process will be open until June 23, 2011.

Full Story (comments: none)

Retiring blogs.fedoraproject.org on 2011-07-01

Kevin Fenzi outlines several reasons for the discontinuation of blogs.fedoraproject.org, including a lack of maintenance staff, the existence of other blogging services, and low usage.

Full Story (comments: none)

Gentoo Linux

Gentoo Council Nominations for 2011 to 2012

Nominations for the Gentoo Council are open from June 3-17, 2011. "Nominated candidates must accept nominations before the nomination period closes to progress into the final ballot. Self nomination (and acceptance) is permitted."

Full Story (comments: none)

Ubuntu family

Ubuntu 6.06 LTS ("Dapper Drake") end of life

After five years of updates, Ubuntu's first "long-term support" (LTS) release, Dapper Drake (6.06), has reached its end of life. "Ubuntu announced its 6.06 Server release 5 years ago, on June 1, 2006. For the LTS Server releases, Ubuntu committed to ongoing security and critical fixes for a period of 5 years. The maintenance period has now ended for Ubuntu 6.06 LTS Server. [...] Ubuntu 6.06 LTS was a major milestone for the Ubuntu project, being the first long-term release. Its retirement evokes memories of Ubuntu as a younger project, and reminds us of all that we've accomplished together in the five years since we released the "Dapper Drake"."

Full Story (comments: 22)

Ubuntu 9.10 (Karmic Koala) end-of-life

Kate Stewart has sent out a reminder that v9.10 (Karmic Koala) reached its end of life May 1, 2011. The supported upgrade path from Ubuntu 9.10 is via Ubuntu 10.04 LTS (Lucid Lynx).

Full Story (comments: none)

Other distributions

Linaro Kernel 2011.05-2.6.38 Snapshot Released

The Linaro Kernel Working Group (KWG) has announced the availability of a kernel development snapshot: linux-linaro-11.05-2.6.38. "This snapshot is based on the 2.6.38.7 stable kernel with a number of changes developed by Linaro and integrated from upstream trees including the 2.6.39, OMAP, and Power Management trees to name a few."

Full Story (comments: none)

Newsletters and articles of interest

Distribution newsletters

Comments (none posted)

How much GNU is there in GNU/Linux?

Pedro Côrte-Real has posted the results of an investigation into the provenance of the code making up a Linux distribution. "Figure 1 shows the total LOC in Ubuntu natty split by the major projects that produce it. By this metric GNU software is about 8%. I didn’t include GNOME in the GNU category because it seems to now be effectively run outside GNU but including that the total for GNU would be around 13%. I found two things to be really surprising in this chart. The first is that the kernel is actually comparable in size to all the GNU software. The second is that small projects actually dominate the total amount. It seems that at least for what Ubuntu packages, the origin of the software is highly dispersed."

Comments (121 posted)

Bacon: Six Months Of Rocking Ubuntu Events

Jono Bacon has announced several upcoming events for Ubuntu contributors, including Ubuntu Developer Week, Ubuntu Cloud Days, Ubuntu Global Jam, and more. "Education and learning has always been an important part of the Ubuntu culture. It is important to us because we always want to present an environment in which everyone is welcome to participate, whatever your skills, location, or experience. We want to make it really easy to get involved in Ubuntu and be a part of the revolution. :-)"

Comments (none posted)

Page editor: Rebecca Sobol
Next page: Development>>


Copyright © 2011, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds