Saturday, December 8, 2012

Linux is Free and it Shows


"Year of Linux Desktop" has always been a delusion of grandeur, or the so called pipe dream at best. It'll remain so for the future n-number of years, cos Linux is free and it shows, feels and works like everything free, with a connotation of "Cheap".

There's no problem in its being free and open source as long as it works for the majority of userbase, which it certainly doesn't. Why? Because it lacks the commercial gloss people are used to. Against popular belief, you won't have to practice closed/proprietary means to achieve that polish and gloss. All that's important is certain orderly and cohesive approach to how software work, in both users' and developers' point of view, and a clear direction. For example, Android is both opensource and free, yet it brims that much desired commercial gloss, courtesy the big G's focus on user experience. The Big G knows what to flaunt, what to hide, and so on.. and on..

On Android you don't bother which bootloader to load - grub or lilo, which DE to choose from - KDE, Gnome, LXDE, Blackbox (there're a dozen others), how to set system initiation - systemd, sysvinit, innserv... how the sound and audio subsystems talk to the rest of the system, bla..bla..bla... Here these ugly system software work under the hood, users are unaware of it for a lot of good reasons. This is how the big G establishes order in an otherwise chaotic open source model of software development.

The prevailing model of linux and the software built around it suffer from three perennial diseases due to its overtly free nature of "Fork everything and Break everything" development:

#1 Shoddy quality of software: Forking model of development that leads to bad testing, rapid release cycle and unnecessary overdo. Users are often forced to fix certain problems where they should not happen in the first place. For example, a certain sound card works out of the box on a certain distribution, needs to do some manual editing of certain config file on some other in order the sound to work, wherein still others the users are forced to remove a certain component and install/build something on their own. Whereas the kernel versions, alsa/pulse components, DEs and the usual software stack are the same across all these examples. Reason? Bad integration! Morever, these type of user annoyances are not restricted to sound only, they are there in network, graphics, power usage, and then some more, in other application software too. The situations/annoyances aggravate further when every distribution puts together certain types and versions of the system and application software different from every other and in a different way, where most of them seem similar on the surface.

#2 Overkill: Forking and freedom to do everything leads to unnecessary overkill of time and efforts and further contributes to shoddiness in software quality. For example, what KDE or Gnome should do? Develop DEs and a few DE-specific tools/appls, right? But that's not the case, they keep constant focus (and ignore the core activities) on things they should not do in the first place. First of all, application software should not be DE-specific, yet every DE, be it KDE or Gnome, has its own set of office suits, browsers, messengers, media players/managers and system utilities and tools. This, more often than not, results in poor duplicates of certain industry standard software. Intrigued? Just compare KOffice with LibreOffice, K3B with Brasero or XCDroast...? Everybody loves to skin a frontend, cos its' tough and boring to squash the bugs out of standard libraries such as gtk and qt, and backends such as cdrdao or growisofs.

#3 Always in transition: Lastly, this forking and chaotic nature of development creates an environment where the platform is always in a state of transition. Consider the period of transition such as hal >> udev, alsa >> pulse, xserver >> wayland, module-init-tool >> kmod. Sadly, it has been so from the very beginning, and it will remain so till eternity. It is a major contributor to user annoyance. How about consolidating various forks, putting enough manhours and creating something that will just work, in stead of forking every which way possible and breaking things on the way.

I'm sure only very few will agree with me. Cos most of the so called open source community members consider free software as a cult than a tool for general well being. For them choice (read it Chaos) is everything. And yet they expect a placebo effect to these perennial diseases of bad quality and performance. They'll poop, fork here and there, make badly integrated incohesive software tank to drive to the nearest supermall, whereas a lean street bike would have been a better choice.

5 comments:

Sanders said...

I completely agree with what you said here, as for proof that you're right, just look at the mess the crazy gnome people caused with the whole gnome 3, they even broke gtk, to the point that people do not trust them anymore.

Barnaby said...

Looking only at the drawing I thought I wouldn't agree with the article, because in my experience 'it' does work. But after reading the whole post - you're right.

David Robertson said...

I only slightly agree. My experience with Mint has been a good one. Not perfect, but I have had an equal share of problems when early adopting a new windows or with android. Did you see the first lock screen widgets in Jelly bean, and programs like Itunes are constantly crashing from one of the richest companies in the world. Mate and Mint are perfect for me and I have thought about going from two thirds windows of my three desktops to two thirds Mint.

manmath sahu said...

Hi David,

Thanks for dropping by. I don't say that Android and Windows were not hasslefree. But over the years they have fixed all those show-stopping problems. Whereas in Linux it's always a moving target. And that's the real problem

Anonymous said...

I agree totally. Lack of certain standards, parameters, continuity, (whatever the term is) is what is keeping Linux from becoming a desktop of the masses. All distros wouldn't have to fall in line but if 3 or 4 did then the word would get around and more people would be willing to give Linux a try. Most people know next to nothing about their computer. If it doesn't boot to what they are used to seeing then "it is broke or has a virus".
Been using Linux for several years. Still consider myself a newbie. First distro to try was PCLOS 2007. Tried many others but now use PCLOS 2012. Still look at other distros but most of them can't measure up to PCLOS.

Share your thoughts