The war of words over which is better, commercial versus open source, in the form of Solaris and Linux, is hotting up. In the latest of a thread of blog responses and rebuttals, Sun Solaris kernel developer Eric Schrock refutes the arguments of Linux kernel developer Greg Kroah, on a number of points. The argument follows Sun's announcement that Solaris code will be opened up.

Issues at stake include the way that decisions about the inclusion of kernel features are made - whether by their popularity among the developers or customer demand. Schrock said that Solaris is developed following "a decade of interactions with real customers solving real problems. We're not just a bunch of monkeys out to do management's bidding."

Kroah also asserted that binary compatibility was an argument that users don't care about, to which Schrock comments that "we have customers paying tens of millions of dollars precisely because we claim backwards compatibility". Schrock also asserted that, while Linux projects exist that come close to adding these features, none of them is "as polished and comprehensive" as those in Solaris.

Schrock's latest rebuttal in what is becoming a flame war of commercial enterprise OS development versus the community-based approach boils down to:

Reliability
This is "more than just 'we're more stable than Windows'," said Schrock, adding that Solaris' superior list of reliability features include:

  • Predictive self healing that can re-start the service without rebooting the machine
  • Automatically repairs of bad data without affecting the application
  • Service management facility can ensure that transient application failures do not result in a loss of availability
  • Fault Management Architecture can take CPUs offline in response to hardware errors, and retire pages based on the frequency of correctable errors

Serviceability

  • If the kernel crashes, customers can send a concise file to support without having to reproduce the problem.
  • An administrator can type a single command into any Solaris machine and see a history of all faulty components in the system
  • Disks exhibiting questionable data integrity can automatically be removed from storage pools without interruption of normal service which prevents outright failure
  • Dynamic reconfiguration allows entire CPU boards to be removed from the system without rebooting.

Observability

  • Administrators (not kernel developers) to see exactly what is happening on their system for problem-solving purposes
  • Hardware trap statistics, and CPU event counters can be used to gather hardware-assisted profiling data

Resource management

  • Users can control a number of constraints on a per-process basis
  • Processes can be grouped into tasks for easier management
  • Zones allow a system to be partitioned and administrated from a central location

Others

  • Solaris includes a kernel debugger while Linux does not

What do you think? Is this fair comment? Or it is one-sided and hopelessly wrong? Discuss it on the forums here.