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
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)
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 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)
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 youll 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)
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 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
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)
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
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)
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)
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)
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
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
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)
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
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
Comments (none posted)
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 didnt 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 (119 posted)
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>>