Saturday, June 19, 2010

Traditional Server Guy's Views on the Linux Desktop

While Linux is growing leaps and bounds (by feature and performance; not deployment, Redmond still rules the race and will probably do the same for quite long), it's time we spread the same in the mass psyche, public mind share. So, where do we start? Noobs? New converts? Non-profit, governmental organizations? Or from the top, the busy Enterprise Linux server room managed by a traditional server guy? To me the latest seems a good starting point.

Now let's define who a "Traditional Server Guy" is? He is one who oversees all the server tasks, manages jobs, assigns works to the 2nds in commandment. He is a busy person who deployed Linux desktops couple of years back somewhere across some user desktops and has no time to either catchup with the recent advancements or to maintain the leftovers. He still believes CentOS 4 is the most stable desktop around and assumes ver.5 is still in beta (point to be noted, CentOS 6 beta might be brewing in devs' circles). Puns apart, he has been managing the business well, so he has a better command over all the departments.

Here is a few of his theories that coincides with traditional rules of Linux, that have long been challenged and changed.

  1. Performance is squarely dependent on the proximity of hardware-software timeline. In other words, a dated software works better on a dated hardware. Conversely, a new and shiny hardware needs the latest software. Latter is 100% true. But not the former. In theory (and in reality) it was recommended that the user should install a contemporary linux OS in relation to the hardware, and it was really a good advice. But slowly the paradigm changed by many factors. In recent years there has been enough refinement on how linux handles drivers, manages system memory and prioritizes tasks on desktops; this ball game was changed to a great deals after kernel version 2.6.31. Of course, kernel alone is not solely responsible for this sweet change, there are tons of changes in userland and system scripts. I have seen the dated computers perform better on CentOS 5.5 and Fedora 12 than they did on Centos 4 or 5.2 or Fedora 10.
  2. Age of software has nothing to do with performance, moreover newer packages require more memory and cpu cycles owing to the inclusion of more features and eye-candy. It's true in some cases, but not always. For example, OpenOffice 1.1.1 was a pig at its time, new features added, programs refined, but it was still a pig till ver. 2.0. Then the real changes seemed to show up... on the next point releases the focus was more on performance than features. And on reaching OO.0 3.2 we got a swift office suite that can revolve circles around the older office suites. The story is same with Firefox. First, it was slow, then slower, but later some dramatic changes and it became a faster and less resource hungry browser at ver. 3.6. This trend in software advancement is obvious. First, we punch the features, define libraries and dependencies. Then focus shifts to remove the dead-weight and do some refinement to squeeze more performance out of it.
  3. CentOS is a great server and desktop. The statement is partially true. I've installed CentOS server only a few times. Since then it has been working well. It's steeped in the tradition of RHEL stability whose focus has always been the enterprise server. No doubt about it, CENTOS IS A GREAT SERVER. But the same is not true in case of desktops. It's more of a closed and almost a loser to catch up with the alway-merging diversity of desktop hardware. Taming it to meet your requirements is a Herculean task, though it can be done. CentOS is a fit-it and shut-it desktop where stability and security enjoy the most priority. Other linux poster-boys such as Ubuntu, Fedora and hundreds of Debian siblings still value stability (if not as paranoic as CentOS), but for them performance and feature-richness is all that counts the most. Needless to say, it's easy to customize them to your needs. Just do and compare the ease, success and benefits of compiling your kernel in Debian and CentOS. Dirty your hands at the package management tools of both the venerable distributions; add/remove programs, tweak them! You will know to the truth - RHEL clones are not as tamable as Debian siblings. The bottom line is: it's the best to deploy CentOS on servers, but you can find better alternatives for your desktops.


Tucanae Services said...

Good observations all around. I would add one other note.

4) It is time users learned to master the top 3-4 desktop systems -- Windows, Linux and Mac. Not every desktop OS/application suite is suited to every purpose. Use the best of the three for your intended task.

Its time to stop being a 'hammer for every nail mindset. EVen I the Linux Zealot have come to that conclusion.

manmath sahu said...

Thanks Tucanae for dropping by and leaving such a beautiful comment. I totally agree with you. OS should definitely be just the tool to get the work done, not the religion or cult.
Mac, Win or Lin, it does not matter. May the best win the race.

Anonymous said...

ha, I will try out my thought, your post bring me some good ideas, it's really awesome, thanks.

- Norman

How about this