As part of Sun Microsystems' first CommunityOne, Ian Murdock, Sun's chief operating system platform strategist and a self-described "Linux guy", hosted a noteworthy session that explored a curious question: How can we make Solaris a better Linux than Linux? Murdock has a storied history in relation to Linux. A Linux user, developer, and advocate since 1993, he founded Debian in 1993, with the goal of creating a complete operating system around the Linux kernel and expanding Linux to a broader audience. In 1999, he co-founded Progeny, a Linux distribution vendor that focused on customization for appliance environments. He was CTO of the Linux Foundation (formerly known as the Free Standards Group) from 2005-2007, and has been chair of the Linux Standards Base from 2005 to the present. "What Is a Linux Guy Doing at Sun?" Since recently joining Sun, Murdock has been repeatedly asked, "What is a Linux guy doing at Sun? Doesn't Sun compete with Linux? Isn't Sun anti-Linux? Doesn't Sun want to kill Linux? Has he changed sides?" "That's not how I see it," explained Murdock. Linux, Murdock made clear, must be understood as far more than an operating system kernel. "When people say they want Linux, they want the user environment that the various distributors have built around the Linux kernel. It's the GNU utilities, the GNU Desktop environment, the compiler tool chain, Apache, MySQL, Ruby on Rails, and so on." He emphasized that Linux is a technology, a business model, and a community. Murdock centered his address around a quote from Marc Andreessen, who said: "Solaris is a better Linux than Linux." "If people thought of Linux as a kernel, that statement would make no sense," explained Murdock. "Linux and Solaris are different kernels. But in the context of a business model, it makes perfect sense. If Andreessen had said it five years ago, when Solaris was a proprietary operating system, it would have made no sense."
Murdock then offered an admittedly simplified comparison of Linux and Solaris. Linux is a kernel on top of some hardware with some system libraries and the POSIX interface, the UNIX standard interface, plus some GNU extensions. On top of that are applications, none of which operate directly with the kernel. Moving up the stack there are higher-level platforms like the X Window System, the GNU desktop environment, and others. At the top level are open source apps that Linux users rely on daily, such as Firefox, OpenOffice.org, Thunderbird, and others. Solaris has a different kernel and a different implementation of the system libraries, but it implements most of the same interfaces as Linux. "There are fewer extensions because Solaris adheres more tightly to the POSIX standards," observed Murdock. "Moving up the stack there is the X Windows System, Firefox, Thunderbird, OpenOffice and so on, much as what's on Linux. Linux and Solaris are not very different, especially if you compare them to operating systems such as Windows. In the last couple of years, I have come to see that Solaris has great technology and that Linux users have much to gain from Solaris." So How Could We Make Solaris a Better Linux?
The Familiarity Problem First, Murdock addressed the familiarity problem, the challenge of making the Solaris environment more familiar for Linux users, and making it easier to get Solaris on Linux computers. In 2007, getting Solaris on developer workstations means getting it on laptops. "Laptops are the most bizarre proprietary environments in computing," said Murdock. He explained that, for developers who are worried not only about the operating system, but about building applications, developer workstations are mission-critical environments, so if a laptop only wakes up 90% of the time after being suspended, the operating system is without value -- which is why Macs, which can be relied upon to wake up 100% of the time, are so prevalent. He suggested one sensible strategy: instead of trying to put Solaris on all laptop environments, choose one that is everywhere -- like the Mac -- and get it to work there. Murdock demonstrated how most of the open source tools that Linux users prefer are present in Solaris stacks and can, with some work, be configured in a way that Linux users will find agreeable. He pointed out that Solaris excels at backward compatibility, a significant weakness for Linux. Murdock explained that it should be relatively easy to reserve traditional Solaris features for current users through a command switch that moves users back and forth from the traditional Solaris environment to one configured for Linux users. "This sounds like a job for zones," pronounced Murdock.
Another issue he addressed is release models. "People in the Linux community hear a name like OpenSolaris and want to know where they download it," observed Murdock. "They discover that OpenSolaris is not an operating system but some source code that may or may not be complete. So we need to change the way we release and manage Solaris so that it matches the expectations of Linux users. What if we had a six-months release cycle periodically and supported it for a seven-year period so there would be one Solaris and not numerous versions?" Murdock then addressed an issue that he imagined was cropping up in the minds of listeners: What is the point of making Solaris into another Linux since we already have Linux? Aren't I just making Solaris look like another Linux distribution? He insisted that he wants Solaris to be a better Linux than Linux. "Given that Solaris has some very compelling technologies, this should be possible," insisted Murdock. Twitter Twitter He then told a story about a hot new Web 2.0 application, named Twitter (http://twitter.com/) (a self-described "global community of friends and strangers answering one simple question -- What are you doing?'"), that's written on Ruby On Rails and runs on Solaris. "It's pushing Rails further than it's ever gone before," he explained. "This was a group that had a very short window from development to deployment -- you hope you are popular but not too popular. You can suffer death by success if you can't scale your service needs." Murdock observed that it ostensibly should not matter whether Twitter is written on Solaris, Linux, or Windows, but Twitter found itself calling down into Rails and being slowed by bottlenecks that cost half a second, which can kill an application on the web. DTrace () to the Rescue "This was a job for DTrace, which can peer into your running system so you don't have to construct an approximation of the environment and then debug it," Murdock explained. "DTrace was pointed at Twitter, found several bottlenecks, and removed them so that performance was improved by 30%. Here's the point: Because Twitter was running on Solaris and not Linux or Windows, DTrace was able to quickly debug it. Otherwise the problem could have been fatal to Twitter." Does the Operating System Still Matter? Murdock asked: Does the operating system still matter? A comparison of the number of applications written in the operating system versus those written to the Web in recent years suggests the operating system is diminishing in importance. But the example of Twitter suggests otherwise. "Operating systems matter, and competition is a good thing -- especially in open source, where we all win," said Murdock. He pointed out that Sun has done a good job of seeding and respecting the OpenSolaris community. Sun has recently considered putting Solaris under terms of the GPL (General Public License) version 3, but it is clear that the Solaris community opposes this. "What's interesting is how young this community is, and how easily they have been able to disagree with their corporate parent. Can you imagine the Fedora community disagreeing with Red Hat? This is a testament to how much Sun is willing to let the community operate on its own," concluded Murdock. See Also
Ian Murdock | ||||||||||||||||||||||||
|
| ||||||||||||