Linux and Solaris face off
Some reader experiences
Earlier this year, we asked our readers why people thinking of Linux aren't also thinking of OpenSolaris (or vice versa), now that both are pukka OSS operating systems.
Well, one reason that people might choose to miss out on OpenSolaris is because we're (in general) a conservative lot – once bitten, twice shy – and a lot of people have had bad experiences with Solaris (and, dare we say it, also with Windows and Linux) in the past. No matter how much software and UI improves, it takes ages for the community to accept this. A reputation that took years to build can be lost with one bad release – but won't be quickly reinstated with one good one. So there will always be people who resist change – and why not, if what they have now works for them.
However, various people pointed us at NexentaOS and "an OpenSolaris-based distro focused specifically on developers". So perhaps things have improved for Solaris lately and, as I said in the original article, it's now worth another look.
But there are issues to check out. For instance, Matt Rose wrote in to say: "Our customers run AIX or Solaris. There are few significant differences between these two OSs (or indeed Linux) from our application's point of view, but there are significant differences between IBM and Sun's JRE. This means everything we do has to be targeted to one of those vendor's JREs. This limits us to Windows or Linux if we want to use the same OS for both vendor's JREs."
He concludes: "There's not much Solaris offers us for development above Linux (I can't actually think of anything we would care about) and there are no IBM JREs available for it. [But] if Sun's freeing up of Java means IBM's API becomes more compatible, this might change."
Nevertheless, some of you found that Linux wasn't issue-free either. Herve Regad-Pellagru, for example, has been a long-term Linux advocate but says: "Well, let's face it, after spending so much time fixing problems with Linux, including at the school where I've deployed it, I'm forced to view the problems of Linux [as]:
- A dogmatic view of the technicity: some parts, like USB support are largely broken for users, by design.
- Neverending reinventing [of] the wheel: how many times was the scheduler, the MM layer and the modules interface redone totally since kernel 2.0? Each time. Of course, each module providing support for any given piece of HW is obsoleted, and unless it's redone by some good will, it's gone for good. That's the end of any vendor support.
On the other hand, he recognises that "the fantastic progress of the desktop part (Gnome, Nautilus and all what is behind) is absolutely stunning...and totally portable to Solaris or any Unix. This is the real workhorse of freeware.
"Freeware has to find another kernel to run on, as a desktop for devs or anyone else. Might be OpenSolaris, why not? I believe the folks at Sun have understood the need and sure as hell I'm downloading OpenSolaris tonight!
"Sorry, Linus, but to me, the Linux goal, aka being an incentive to vendors, and an incubator, is over, now is the need for something the user finds usable, and supported."
So, I had supporters of both Linux and Solaris writing in, and my overall impression was that there is now a valid choice – providing you were using the latest versions and resources – with neither OS being the obvious "right answer".
Oliver Jones provides an even-handed summary: "I've been a stalwart Solaris x86 user for many years now - I refuse to run Linux on my hardware, when Solaris makes the penguin look decidedly second-rate." For reliability, he says: "I truly can't fault the Sun option: I consider that if Solaris is good enough for the banks, it's good enough for me."
But, he also says: "To be honest, Solaris isn't without issues - the number one I see at the moment is the user experience (especially with regard to hardware support). Sun really needs to plough some more development resources into hardware support, but we're getting there: Solaris x86 is absolutely fantastic compared to how it was in 2004, but it still has a while to go. Having the likes of Nvidia on-board is great, and hopefully the hardware support will accrete with time - as more people see the benefits of going Sun."
He talks of the need for a "consumer-friendly" installer and consumer marketing and says that: "The good news is that Intel could be a real asset, now that Sun and Intel have gotten into bed (again). Intel controls a lot of how computers work, and they could easily help Sun get a few consumer things right. Currently, ACPI support is non-existent in Solaris x86 - having Intel's support might mean that Solaris x86 gets the same level of energy support as Windows."
However, for businesses, he thinks Solaris is a bit of a killer option - about the same level of difficulty to handle as Linux and "every Solaris installation basically works the same way", he says, while, "Linux has a huge problem in that every distro has its own way of doing things, and it makes supporting Linux prohibitively expensive".
Rather surprisingly then, not everyone loves the Penguin. An anonymous reader wrote in to say: "Having developed for work purposes on Windows, Linux and Solaris in the past three years I am well placed to give an assessment to the experience on each platform. And, from a C++ programmer's perspective, the worst experience is Linux. Quite simply it doesn't work properly. gcc is fine as far as compilers go, but gdb is the most unstable debugger I've ever had the displeasure to use. Plus, there seem to be some bugs in the debugging information that gcc puts into the executable which makes it even worse."
Even more surprisingly, in present company, he quite likes Windows (to be fair, other people have commented that the "end-user experience" on Windows could be aspirational for both Linux and Solaris). "Visual Studio is a good tool and the debugger works very well - but for very complex projects it can be a little unstable. Since VC7.1 the standard is probably better supported than [with] gcc. Rational Purify, Quantify and Intel's VTune all have great up to date versions with a lot of capability for memory checking and profiling. Also VC++'s debugging mode gives a lot of useful information about memory leaks and can identify some memory problems before needing third party tools like Purify."
However, he comes down in favour of Solaris, which, he says: "comes out head and shoulders above the rest". "Since Sun Studio11 conformance to the standard has become an important issue for Sun, and they have done pretty well. They are the only compiler vendor I know who aim for boost support as a policy. dbx is simply outstanding. It is stable, gives good information, and has in-built tools that provide the same capabilities as Rational Purify, Quantify, VTune, etc. It is the best integrated development platform I have come across, and for a home users perspective, you can do difficult development without needing these expensive 3rd party tools. All in all it is very good."
This one will obviously run and run. David Carter, for example, works on a commercial product that runs on SPARC/Solaris, Windows, and Linux – and also on some open source software that runs on Linux, Solaris, OS/X and eventually Windows. He finds Sparc machines slow and expensive: "I've still chosen them over Windows primarily for the better development environment, but have wished while doing so that I could use Linux on a faster machine. When we finally decided to support Linux, I rejoiced."
For his open source work, Carter finds that: "Patching a Solaris box is a pain in the a**. Linux is so much easier. Sun's patch management systems are geared at paid for clients, and it's pretty impossible to path the multiple Solaris systems I use for development and testing. So I don't. I develop on Linux, and use my old Sun boxes for testing only." He realises that Solaris on x86 is an option but "at this point, I don't see any advantage to making the switch that would justify that effort. Just as I don't run Linux on Sparc, I'm not likely to run Solaris on x86 any time soon".
Let's finish with a final quote from Oliver Jones: "Time will tell if Sun kills the penguin - or not. But one thing is certain, without the penguin we would not have had Solaris x86. This is one thing that is definitely worth remembering Linus Torvalds in a positive light for."
Yes indeed – and I, for one, think that Linux and Solaris will co-exist for a long time, although with Open Solaris steadily increasing its popularity outside the Enterprise. ®