Sun's boosting its efforts to put Solaris on a par with Linux by releasing binaries for its OpenSolaris Unix platform, the company announced this week. But what are the odds of it getting close to Linux in popularity?
Judging by experience, those odds aren't great. Over the 20+ years that I've been observing and writing about this industry, what's clear is that most initiatives go nowhere, and that deepness of pockets doesn't automatically equal success; there's a lot more to it than that.
Take Lotus: it had a great product in the form of Agenda back in the 1980s but it was just too complicated for most users. While it garnered almost universal praise from geeks, only a few hundred thousand copies were sold -- and now, ironically in view of the OpenSolaris discussion, it's offered as open source. It seems the product was ahead of its time -- and nothing's ever replaced it.
No matter how good the product, all the other factors have to be right too -- unless it's such a revolutionary widget that it overrides other considerations. The question is whether the OpenSolaris project, which Sun dubs Indiana, falls into this category.
New binaries -- new dawn?
According to Sun: "Project Indiana is a new project to create an OpenSolaris binary distribution. This distribution will focus on providing a single CD install with the basic core operating system and desktop environment, with the opportunity of installing additional software off network repositories." In other words, here's a pre-packaged version of Solaris, Linux-style.
Things are not quite what they seem though. This is only an announcement -- Sun won't release the binaries until next spring, nine months way from its announcement. For this industry, that's a very long pre-announcement. However, there will be beta release this autumn, and there'll be updates every six months.
Sun's aim is to mimic the Linux distribution model and so expand the market for Solaris. "Over the last five or 10 years, orders of magnitude more people in the world know the Linux environment than know Solaris. This is a problem," says Ian Murdock, Sun's chief OS strategist and a former CTO of the Linux Foundation. As an ex-Linux guru, he should know.
One analyst, Tom Kucharvy, senior vice president at Ovum, reckons that Sun is not aiming to slow down with Linux per se but to increase the exposure of Solaris. As such, the free binaries and other activities are aimed at developers.
Sun argues that it has compatibility on its side. The rationale is that there's a number of Linux distributions, each of which is subtly different from the other from a binary compatibility point of view. As Sun's group manager for Solaris Larry Wake told us: "We've been underselling Solaris - compatibility is often an issue with Linux so we have a real virtue that people don't appreciate. We guarantee compatibility between releases, which is relevant to ISVs and enterprises who write their own code."
So in contrast to Linux, Sun says it'll apply the Java model and, by ensuring that all versions are compatible, make life easier for developers. Once they become familiar with it, the plan is that they'll switch to the commercial version from which Sun will profit by selling support services. Much like the model Red Hat applies with Fedora/RHEL, the idea is that the open source version will act as a test bed for the commercial version.
But Kucharvy agrees that there's too much market momentum to slow Linux. and the developers who currently both use and develop for Linux are highly likely to be the same people at whom Sun is aiming Indiana. So why would you switch?
Solaris has advantages over Linux, including its transactional file system ZFS (Zettabyte File System), which was launched in 2004, and made it into OpenSolaris last year.
ZFS is designed to support virtual storage pools while being very robust and resilient. And the 128-bit file system has huge storage capacity -- at launch time, project leader Jeff Bonwick said that: "populating 128-bit file systems would exceed the quantum limits of earth-based storage. You couldn't fill a 128-bit storage pool without boiling the oceans."
Solaris also brings key features such as dtrace, which Sun and many developers see as critical in a modern OS for debugging purposes.
Wake also argues that Sun has a large, 35,000 strong support staff -- "customers said they were knocked out about how large support staff were," he says. "We have one of the best Unix support organisations in the world."
Can Sun fly in a Linux world?
Despite Sun's engineering expertise, it would be hard to argue that pre-packaging Solaris makes it a revolutionary product -- so it must stand or fall by the criteria by which other products are judged.
Solaris is primarily designed for high-end commercial systems. By definition, there aren't as many of those as the total by several orders of magnitude, given the degree to which small and medium-sized businesses outnumber large ones.
But if Sun wants Solaris to become more mainstream, it needs a different business model. Is Sun set up for that, not just in terms of its internal systems but also its sales and marketing operations, and its channels? The volume of changes to be made could take a significant amount of time to set up.
What's more, Linux has working in its favour ubiquity, ease of use -- a deficiency in Solaris for which Sun attracts criticism -- and its ability to be all things to all people, IT admins, developers, enthusiasts and desktop users alike. Ubiquity implies a widespread skills base, just one of many considerable advantages that go a very long way to help lock out potential competition, including Solaris.
All this is not to say that Sun cannot make headway in the Linux market. If it does so, it's likely to take share from top feeders such as Red Hat, Novell -- and possibly Oracle.
But if it's to get anywhere near the ubiquity of Linux, a lot of changes need to be made. The question is whether Sun is willing to come down from the mountaintop to deliver its Solaris tablets to the rest of us, with the levels of usability and technical support that a mass market requires.