June 10, 2005

Voices of OpenSolaris

Author: Jem Matzan

Most operating system reviews and developer interviews rely on technical points to explain what a project is about and what benefits users might derive from it. We rarely hear from the people responsible for the lion's share of the work in the open source software world. So here's a less technical interview with some members of the OpenSolaris development team.
  • Justin Erenkrantz is as a Ph.D. student at the University of California, Irvine, in the Donald Bren School of Information and Computer Sciences. He's one of the system administrators behind the Apache Software Foundation (ASF) and a member of the organization's board of directors.
  • Liane Praza is a staff engineer, Solaris Kernel Development, Sun Microsystems.
  • Chris Morgan works in the financial industry in New York City running a development team.
  • Max Bruning teaches Solaris internals, device drivers, kernel crash analysis and debugging, and Solaris network internals to Sun engineers. He consults on Solaris and Linux, mostly helping to do analysis and debugging. He spent six years doing full-time kernel work (Unix System V Release 4-based kernels), and has been programming and using Unix since working at Bell Labs in New Jersey starting in the 1970s.
  • Stefan Teleman is employed at a financial services corporation in New York City, as a vice president of a group that develops complex, high-performance, secure trading applications for structured derivatives on Solaris and Linux.
  • Keith Wesolowski is an engineer on the OpenSolaris project.

NewsForge: What drew you to the OpenSolaris project?

Justin Erenkrantz: My principal involvement in the OpenSolaris project is to represent the Apache Software Foundation's infrastructure team. There are three other ASF infrastructure representatives in the OpenSolaris pilot program, but I'm by far the most vocal.

The ASF infrastructure team is a set of volunteers that manage all of the systems behind the apache.org system of open source projects. As open source enthusiasts who happen to use Solaris, we are looking to support the maturation of OpenSolaris as a viable open source project. As a side point, we'd also like to migrate away from Solaris 10 to OpenSolaris where that is feasible. At this point, we have only one Solaris machine in operation. We also use FreeBSD and Linux.

Liane Praza: I've been contributing to Solaris for a number of years now, most recently as a lead engineer for the Service Management Facility, or smf(5) in Solaris 10. smf(5) is responsible for starting up services on Solaris, and many Solaris services aren't written by Sun, so I spent a lot of time learning about just how rich our existing development community is. There are lots of Solaris experts out there, but there aren't that many common places to connect with other people developing software for Solaris. In addition to opening up the code for contribution, OpenSolaris also opens up the conversation about software development, which I'm excited to be a part of.

One of the most exciting aspects of developing software is to see what you've written used in a way you never imagined, and OpenSolaris offers new opportunities for creative use of the innovations in Solaris.

Max Bruning: I was told about the project by a former student from a device driver class that I teach for Sun engineers. In order to write drivers (and other kernel modules), access to source code is probably the most helpful tool available. Prior to source code availability, there were some driver sources available, but they were limited in scope, and most were for relatively old devices. I am not interested in "building" Solaris from source. Rather, I am interested in the possibility of adding new kernel modules and drivers to the system. Also, access to code allows one to check the interpretation of output from various tools. For instance, documentation may say that a given command/library routine works a certain way or tells you about some aspect of the system. With access to the code, one can check assumptions made about the way things work.

Stefan Teleman: For me it was the chance to work on my favorite Unix implementation, with my favorite compilers, and learn from the people who actually built them. It turned out that I met a lot of wonderful people with whom I have built personal relationships.

NF: What's the best aspect of OpenSolaris?

Justin Erenkrantz: There is a tremendous amount of knowledge and expertise contained within the Solaris Engineering team. Exposing this expertise to the general public can only help the collective knowledge of the community. There's a lot of potential here to do innovative things.

One of the coolest aspects of Solaris is learning how much review goes into each change before it can enter the Solaris "gate." A key challenge for OpenSolaris is going to be to "port" this review process without compromising quality. The process needs to be something that can work in an environment where folks can't attend face-to-face meetings or even conference calls. There have been discussions on the lists about how to adjust these processes for new external contributors. Work proceeds apace for documenting all of these processes prior to launch and will be a continual effort as folks ramp up and the processes get formalized.

Liane Praza: OpenSolaris provides both working code that consumes the Solaris interfaces, as well as a chance to go spelunking in the implementation itself when something isn't working as expected. There are lots of interesting and innovative interfaces in OpenSolaris that a developer can take advantage of in their application, including DTrace, smf(5), the Fault Manager, and event ports, just to name a few. It is easier to use these interfaces when you have working code examples and access to the implementation to supplement the formal documentation.

OpenSolaris creates a direct conduit between the community developing the operating system and those writing applications for that OS.

Max Bruning: OpenSolaris gives us the ability to answer questions that, in the past, required extensive reverse engineering. Reverse engineering is still a useful mechanism, but having source code (and DTrace/kmdb) available allows one to get answers more quickly and with a greater certainty that the answers are correct and complete. It's also nice to read ideas and suggestions that people have about ways to extend the system and make it better. Having people both internal and external to Sun gives a much broader perspective on how people are using the system.

Stefan Teleman: The absence of politics and the obvious desire on everyone's part to make it a success on its own merits are keys to the project. There's too much politics in software these days, be it open source, closed source, green source, what not. It's refreshing to be involved in a pure software project, driven by ideals of creativity and not by "us vs. them" antagonisms. I hope that other open source communities take note and try to innovate and prosper by the same principles.

Keith Wesolowski: Sun's largest customers have always enjoyed ready access to Solaris engineers; OpenSolaris extends that access to anyone with a clever idea or a pointed question. OpenSolaris developers interested in working on a piece of the system often have the opportunity to collaborate with the people who originally designed and implemented it. That's exciting for us, too, because the next great idea could come from anywhere.

NF: What is the most overlooked or most commonly misunderstood fact or idea about OpenSolaris?

Justin Erenkrantz: OpenSolaris is not yet everything that is shipped in Solaris 10. However, over time, I believe Sun is committed to making everything (that it legally can) in Solaris 10 available in OpenSolaris. This is a time-consuming process that will need to evolve over time as the governance structures are put in place. Attempting to judge OpenSolaris solely by what is delivered at launch time is not the whole picture -- the real test will be to see how the community and the code evolves over the next few years.

Liane Praza:

With the community features of OpenSolaris, even development code that isn't ready for prime time in the OpenSolaris source base will be available for people to experiment with earlier. One strong Solaris value today is that features aren't incorporated into even the development gate until they are production-quality. The Solaris Express program allows everyone to get access to development builds of Solaris earlier, which is a big win for folks who want access to our newest features. But some projects take months to get from working code to production-quality due to stringent quality requirements. OpenSolaris will allow people who want access to the unstable features to start playing with them earlier, and even lend a hand to accelerate their completion.

Chris Morgan: OpenSolaris really will be open, and really will be Solaris.

Max Bruning: The question I hear most frequently when I talk about OpenSolaris is: "Is Sun really giving out the source code? Is it everything?" I tell them, "Yes, Sun is really giving out the source code. And no, it's not everything. But it is enough to allow one to write the missing pieces on one's own." The other thing I hear is: "So what, it's too late. Linux has a broad community that has taken several years to get where it is." My response: "It's never too late for good technology. Both Solaris and Linux can benefit from a 'cross-pollination' of ideas and techniques."

The other complaints I hear are more to do with Solaris itself, the main complaint being, "Solaris is slow." To me, this means that the person hasn't tried Solaris 10. The visibility into the internal workings of the system provided by the combination of source code, DTrace, and other tools allows one to quickly identify performance issues (and bugs) within both kernel and applications. The tools plus source code combination is hard to beat.

One other complaint I hear has to do with Solaris x86. People say, "I tried Solaris 7 on a PC, but I couldn't get it to work. I haven't tried it since." Well, now is a good time to try it again.

Stefan Teleman: I have read a lot of comments about OpenSolaris, and I was disappointed at the misconceptions or misunderstandings permeating through some of them. I was also saddened to see that some of the comments were made by individuals whose words carry a lot of weight and influence amongst the many open source communities out there.

First off, we (the OpenSolaris community) are not a bunch of foam-at-the-mouth, rabid, anti-Linux haters, driven and controlled by this imaginary Dark Force of Linux Destruction. There is no Darth Vader of Solaris plotting to kill the penguin. Conversely, not every single GNU/Linux hacker (or apologist) is a bona fide Jedi Knight.

The vast majority of us use both Linux and Solaris on a daily basis.

Most of the misconceptions seem to be rooted in a certain degree of unfamiliarity with Solaris in general, and with Solaris hacker "culture" -- and I'm referring to the Usenet newsgroups culture of, let's say, 12 years ago. We tend to share certain personality characteristics: introverted, impatient, and fiercely determined to learn and do things on our own.

I think these characteristics are rooted in the history of Unix. It used to be a cryptic, difficult-to-use, "loner" operating system. If you wanted to learn and hack Unix, you learned on your own by trial and error. This doesn't make us less of a community, and it doesn't mean we don't share for the common good. We're just not gregarious. In contrast, other open source communities seem to have been founded, and have evolved, and prospered, on more social grounds. I'm hoping we can find a bridge between these two cultures, and we can get rid of at least some of this mistrust. We all prosper if we don't fight.

Keith Wesolowski: Sun is not a "hive mind." Many of the people we'd like to reach with this program have bought into popular cliches: Sun hates free software, or OpenSolaris is primarily a ploy to counter the marketplace success of GNU/Linux products. I don't pretend to know what our executives think about that, but the people in the Solaris organization who've been working literally for years to make this happen don't seem to feel that way at all. Corporations don't form communities; each and every one of us participates in the project as an individual. OpenSolaris represents each of our sincere and deeply personal commitments to open source and open development. Nobody forced us to be here.


  • Unix
Click Here!