Are there too few people who understand desktop Linux ?

Submitted by dag on Wed, 2009/04/29 - 01:19

I just read the ComputerWorld article "Are there too many desktop Linuxes?" and once again I think the author is missing something very obvious and important.

If we are talking about Desktop Linux, we are talking about the consumer and enterprise market. If we are talking about the consumer and enterprise market, we are talking mostly about non-technical people and not me or you (since you are reading my blog, I do not consider you the average computer user).

I usually describe the consumer and enterprise market to be 99% of the population, which I often visualize as: my mother !

For those that are already confused, my mother is non-technical and not a power user. She uses applications and often struggles with tasks I consider basic. But this mostly means I too have a skewed perception of computer users and basic computer skills.

(If your mother is too distracting as an example, consider you are a support engineer of a big enterprise and you are in charge of the enterprise desktop systems of the company's management including the CEO.)

A desktop Linux system is a means to a goal, and not the goal itself for 99% of the people.

Now the following list of facts exists and may be inherited in the consumer and enterprise markets:

  • Technical people have little time or patience to upgrade, maintain or provide support for the 99% of other people. I can do it for a selected few only (in my spare time).
  • My mother (or your CEO) is only interested that her applications work reliably, she does not need the latest bleeding-edge features, nor does she want new versions of applications or a new OS every 6 months that may look or behave differently to what she is used to.
  • I am not interested in updating/upgrading my mom's computer whenever I pay a visit because the OS demands that from me. I'd rather do other things with my time.
  • The longer I can have my mom's computer running (think years) in a secure manner, the fewer worries I have.
  • Every intervention that can be avoided, is time I can use for something else. Or is money saved for the company.

This means that high-maintenance, bleeding-edge Linux distributions, while very useful to the selected few, are not a nice fit for 99% of the market because they change too often, require work to update them and change often spurs breakage, instability or behavioral change.

"If it ain't broken, don't fix it." applies in the consumer and enterprise market very well (unless maybe when you make money by fixing).

So, we end up dismissing all distributions that:

  • have less than 5 years of support (security updates)
  • have a new release (and forced upgrade path) that is less than 3 years
  • update applications during the course of the lifetime with little consideration to support/stability

Which means most Linux distributions are not suitable as a Desktop Linux for the majority of the population. So not Fedora, not Ubuntu, not OpenSUSE, not any of the other distributions except:

  • RHEL/CentOS
  • Ubuntu LTS
  • SLES/SLED

the Enterprise distributions. And I have nothing against the Fedora/Ubuntu/OpenSUSE/whatnot distributions of today, they are very needed for driving progress and for fostering the Open Source community. But please, not at the expense of the non-technical end-user.

I know that many of you have compelling reasons to like and use bleeding-edge distributions, and that is fine. But please also consider that your requirements are not necessarily the same requirements as my mother or your CEO. And the way you manage your own computer does not scale very well if you need to support 10, 100 or 1000 end-user Linux desktops.

LTSP desktops

I agree with the article, but we're about to migrate our desktops to Fedora 10 since LTSP 5 (with local storage) is not well supported on RHEL/CentOS (https://fedorahosted.org/k12linux/wiki/RHEL5Server). Time will tell if it's worth the hassle.

Would it be supported in

Would it be supported in RHEL6 or CentOS-6 ? If so it might save you some time to wait 8 to 10 months and start off implementing using RHEL6 or CentOS-6 instead.

RHEL 5.4 will have fuse support (and RPMforge has fuse included too) so if fuse is the culprit that can be fixed.

I fear that projects like LTSP are making a big mistake by using Fedora for the desktop, especially because Fedora 9 users are advised to first upgrade to Fedora 10 before upgrading to the upcoming Fedora 11. Going directly from Fedora 9 to Fedora 11 is not supported and will not work.

This basically means that you will have to change the end-user desktop every 6 months, or have to merge 2 updates every year to have security updates. Which is something I would not like to support, or have my users to endure :-/

I hope it works out well and I am certainly interested to hear from your project back in 18 months time (because that is usually when the maintenance drag becomes apparent to the organisation).

"I fear that projects like

"I fear that projects like LTSP are making a big mistake by using Fedora for the desktop, especially because Fedora 9 users are advised to first upgrade to Fedora 10 before upgrading to the upcoming Fedora 11. Going directly from Fedora 9 to Fedora 11 is not supported and will not work."

Wrong. It is supported explicitly. Read the packaging guidelines and lifecycle policy.

http://fedoraproject.org/wiki/LifeCycle

I read this in the Fedora 11

I read this in the Fedora 11 release notes

Upgrading from Fedora 9 directly to Fedora 11 using yum is not possible, you must upgrade to Fedora 10 first, then upgrade to Fedora 11. See http://fedoraproject.org/wiki/YumUpgradeFaq for more information. You can also use preupgrade to upgrade directly to Fedora 11 using anaconda, minimizing the system downtime by downloading the packages in advance.

at:

http://docs.fedoraproject.org/release-notes/f11preview/en-US/ar01s02s02....

So the devil is in the details. How this works for a typical LTSP setup is non-trivial to me.

Being the desktop Linux

Being the desktop Linux support person (as in, no computer support from me unless it's Linux) for various relatives, I can agree with what you say. However, intentionally slow-moving distros like CentOS have one disadvantage on the desktop: what happens when new hardware comes along? It sometimes does. The user would be perfectly happy with the existing Linux version, but the new computer won't run it. Or an interesting USB peripheral is not supported in the kernel it is running, but would work in the much newer kernel of a bleeding-edge distro. This is where the lack of stable binary driver interface in Linux is a disadvantage.

I agree, but this is changing

I agree, but this is changing since a few releases for RHEL/CentOS. From the changes in RHEL 5.2 and 5.3 you can see that Red Hat spends a reasonable amount of energy in backporting infrastructure that is not server-oriented (wireless drivers, X drivers, power management, ...) but they also backport support for chipsets, storage drivers, etc, which are needed for servers too.

Since more and more companies are willing to pay Red Hat for desktop related features (eg. Cisco was involved with the wireless infrastructure backport in RHEL4 to support their laptops), Red Hat sees a business case in adding more support. And we all benefit from that on the desktop too.

It does require one to choose its hardware based on what is supported (which is something enterprise do anyhow), but consumers are less informed and that offers a challenge. (The CentOS wiki has a list of supported laptops for this purpose, more help is appreciated)

I am optimistic for the future though thanks to the kernel interface needing less and less change which already makes it easier to backport drivers. The same is true for Xorg and other hardware related software components. We have seen a lot of new development in the past few years that focused heavily on the desktop experience (and the required infrastructure for that) of which we can reap the benefits in the future.

I am excited for what is coming with CentOS-6 in that respect.

Agree entirely.

I think you summed it up well.

Using an LTS based distro for the 'main' is quite reasonable.

Those more inclined to tinker may benefit from 6 month refreshes, but the majority won't.

agree... however enterprise desktop is not consumer desktop

I'm running centos5.3+kde3.5.10
its pretty stable and usable linux desktop for corporate market...

if u are talking about consumer desktop it's different story... oem :) rules... imho centos 6.0/6.1 would be first capable consumer oem product...well waitnig for it...

ps. love your work (centos team is changing life of small entrepreneurs like me)... pls don't bother those people complaining about late realese of 5.3...

wish you and your wife happy times together... ;)

There are constant problems in some zones...

Hello,

Being the Linux support engineer for a large company in Romania, I entirely agree with Dag.

However, there are a few things to note:

There are some zones where little or no apparent progress has been made for YEARS. For example, it's almost impossible to use a scanner in Linux, if you don't own a SCSI one (the models in the official compatibility list, parallel scanners, are sooooo old or poor in an USB-dominated world...)

Another zone is mobile phone interaction - there is still no way to easily syncronize your cell phone with Thunderbird - a task that any non-technical user performs in Outlook Express on a daily basis;

I am a Romanian user. Despite the late progresses, CentOS 5.3 is still unusable as a desktop for non-technical users, because it lacks correct standardisesd Romanian keyboard arrangements and fonts with comma-below diacritics - in other words, one still cannot correctly type a text in Romanian language...

Finally, a desktop user still needs VERY EASY support for a few "gadgets", such as USB or PCMCIA modems from mobile phone companies. In Windows they are used to easily connect to a VPN, in a road-warrior setup; in Linux, even with OpenVPN, it is still problematic to (reliably) run an utility to connect with your USB cell dongle (think Huaweis...)

If a few features like these are completed, users will stick with a more stable (and conservative) distro, like CentOS or Debian, instead of Ubuntu, Fedora or alike...

Regards,
Razvan

The consumer market obviously

The consumer market obviously is more complex than the enterprise market, but I did not want to go into the specifics of each. But that is the main reason why Red Hat only targets the enterprise market with RHEL, while Fedora may be Red Hat's strategy for the consumer market. I am not sure whether it is, even less that it should be. But no strategy might turn sour later given that other distributions fill this gap nicely.

Some of the remarks you make are closer to the consumer market to me, but I guess after-hours every enterprise user becomes a consumer too. :-)

Scanner support
I always thought Linux was behind with regards to supporting consumer devices. But when I bought me a cheap scanner/printer/copier device from HP I was surprised that with little effort I can now scan over the (wireless) network.

I did have to build my own gscan2pdf package, but it works better than the Windows tool that HP ships with it.

Once again, buy hardware that is known to work, or return hardware that fails to work on Linux (and specifically mention why you returned it).

Mobile phone interaction
Also in this domain I do not have much experience. I use Google Calendar and sync my Nokia E71 over the network using the GooSync service I pay for.

What does work fine on my CentOS-5 is bluetooth for mobile internet access as well as accessing the phone's filesystem. I have an fstab entry using fuse-obexfs which enables me to press one button in my Gnome Disk Mounter applet to access any file on my cellphone.

Also here, you may have to be careful with the hardware you choose.

Romanian keyboard support
This bit saddens me, because it should be fairly simple to fix this. I am surprised that something like this is (still) an issue in 2009 and stunned that this has no influence on the enterprise market ? Red Hat does have people in Romania, no ?

Red Hat on the Romanian market

Hello,

As a paradox, features like easy scanning and/or Thunderbird syncronization are requested more in an enterprise medium than at home. That's at least in Romania, where few companies own internal directory services like Red Hat Directory Service, IBM Lotus or Active Directory.

There are mainly independent PCs, pretty powerful and up-to-date, but no brand-names.

In most companies, there is also a lack of regulated IT management (by a qualified and informed IT department).

As for Romanian keyboards, correct support *is* present in Fedora, but adoption in RHEL is delayed indefinitely. Please see bug #450396.
We *do* have a pretty strong localization team, translators, etc...

As for Red Hat's presence in Romania:

Despite a few banks or telecom companies using Red Hat solutions internally, there is no *visible* presence of Red Hat in Romania, Bulgaria, Moldova or even Hungary. Of course, there are two or three local representatives (NOT computer stores), official RH courses, but that's not enough for the "man on the street" being aware (the way they do with Microsoft software). There are no computer stores displaying Red Hat or Canonical products, there is no Red Hat marketing for the large public, no local support, no banners...

The absence of a Red Hat office in Romania, that would coordinate all these, is also a strong dissapointment issue for local Red Hat users/community. Putting the nearest official Red Hat office in Vienna is FAR from enough and a bit disregarding for all countries in the Eastern Europe, from Poland, Czechia and Hungary to ex-USSR republics, Moldova and Bulgaria...

IMHO, the issue of Red Hat (& Canonical) sales in Eastern Europe being pretty low is a reversed effect: the sales are lowered because the apparent "absence" on the local market and lack of "visibility", not because the lack of "need for product" or potential clients. Please think other products, like cars: the DO sell more LUXURY cars in Romania than in Germany. So there are money on the market... ;-)

Regards,
Razvan

Ubuntu LTS

I don't want to pick on Ubuntu itself but given your requirements (>= 5y support), I don't think even Ubuntu LTS is suitable as a desktop system.

While Ubuntu LTS is support for five years, this holds only true for a subset of the packages - the "server" ones. "Desktop" packages are only support for three years: https://wiki.ubuntu.com/LTS

fs

Interesting point of view

Didn't think about it this way.

Still, enterprise OSes tend to have less focus on the desktop, but more on the "server" role. Maybe ubuntu LTS does that well, I haven't tried it.

Discussions of how well an

Discussions of how well an operating function performs on the desktop often focus on the "personal" desires of the user, such as support for the persons hardware and preferred applications. This is relevant and almost the whole story for a home computer. In the corporate environment these considerations are only about half the issues. In that environment there are the problems of automatically updating software on machines, controlling security policy, getting commercial software that is designed to work with MS Windows servers to interface with Linux machines, getting Linux to interface with MS "Active Directory" etc. So I think that Mother is only a good picture of %50 of the corporate picture (i.e. she is the ordinary users) Add Mother's son who must maintain the whole clan's computers (i.e. the IT department) and you can see the corporate picture. I think this view explains why Red Hat Enterprise Linux has the upper hand on Ubuntu.

Bleeding edge vs Cutting edge

"This means that high-maintenance, bleeding-edge Linux distributions, while very useful to the selected few, are not a nice fit for 99% of the market because they change too often, require work to update them and change often spurs breakage, instability or behavioral change."

99% users can stay all times up-to-date easily, without problems and secure. ALL THE TIME!

What longer you stay on one version, more features will come to new version and the bigger and more problematic the change will come. What means more teaching, more time and at last, more money spend to new version. If user stays always on the newest version, (6-12month release cycle) there ain't big problems, only small ones. You can keep your current settings without touching them and you get new features.

Every task, can be made better. You can need features what are missing or you do not even yet notice how things could be made better.

The users, normal users are DEVELOPERS as well as all software engineers who code the software. The users (99%) are those who gain experience from the software and they notice what is done well and what is done wrong.

The software engineers should listen the users and they should develop the software to meet those needs what users wants, and more important, _what they need_.

This means that the information from users to engineers is needed to happend in daily purposes. Software engineers should get statics what are problems of the software so they can improve it, bring needed features and do what users want.

And this means that users need to have access to use the upstream version of software. So they can get the improvements and they can get the features what they need. All that makes the users life much easier than stick in years on the old version.

There is lots of problems on the old versions of applications. You can not always fix security/feature bugs on them like you can do on newer version. What older the version is, that harder it usually comes. And that means the old version and the newest version comes too different that maintaining those comes very complex, if not impossible. Longer you use old version, more you slow down your self because you do not get the secure, maintained and improved software. And more money you will spend in long run when you ain't upgrading in short periods what takes just small amount of maintenance time.

The typical transfer between 6-18 month release is not a problem at all. But switch between releases what is longer than 3-5 years, comes very complex. I have not yet seen any good transferr between Ubuntu LTS versions or Debian stable versions. All companies and projects has have more problems on those than the companies what upgrades every 6 months.
They have spend more money to teach users to new features and they have missed A LOT of time and money by using old version of software what does not have features what speeds up their working time and adds features what improves their workflow.

Only lazy IT-support person will suggest to stick on the long term supported version. Corporations etc lives on quartertimed world, where year is sliced to 4 periods. They usually do not plan longer than few periods and in max few years. They can not see the problems what comes on the long term usage because they just think they will save money when they skip versions and do not pay licenses etc.

We all know that corporations and users do not run just the applications what are preinstalled on system. They do not use the predefined settings what is set to applications. They customise the system and application configurations and in long time, there comes lots and lots of the things what need to be transferred seamsly between old and new release of distribution what is few release newer than current one. And things just gets broken because of that.

Software developers makes sure that newest stable is working without problems with the last stable. But they can not make sure that newest stable works well with much older stable version. There might have happend so many changes that you need to reset your configuration files, reconfigure the new version and adapt the new features and that just makes the whole stuff more complex than it could be.

"If it ain't broken, don't fix it." applies in the consumer and enterprise market very well (unless maybe when you make money by fixing)."

Do not use that wrong way! That means it when you code, you do not change the code what is working, so you can maintain the backward compatiblity.

Improving software _ain't_ fixing it. Fixing has nothing to do with the adding features.

Those like you, who use that wisdom wrong way, slows down the development and slows down the whole world because the information between users and software engineers comes very complex, the information comes too old and it ain't valid anymore. Users do not have anymore the correct and newest information what would help software engineers to develop sofware to fill needs what all the _USERS_ need.

There is the wisdom what is the point and over rules what you say. "Release early and release often".

When you update your software to every version, you get new features, bugfixes and security fixes right away. In long run, you do much less task to maintain the software and learn the new features than those who waits years.

Right now you are suggesting that most users in the world, should use old versions of application, old standards and leave out new features.

In contrary, it's like you are saying that Windows users should stay on IE6 and web-developers should make their sites for it.

The softwares gets more features, improvements and fixes and so does all the standards. And you can not get newest standard to old software if it is implented to newest version of the software. You are just in loophole where you can not work together with the world what is going on edge of the development.

Lazy people say "It is better to use this version next 3-7 years so we save lots of money and time". They just slow down the whole world and makes everything more complex what ain't needed.

Lazy people ain't wise enough to plan and design the IT-systems that upgrading is easy and takes no time.

Smart people plan everything and deploy systems so that you can just press a button and upgrade all systems without problems (or just with small unique problems what are easy to repair)..

I work for two company. In other we have over 1300 desktop computers, few hundred of those are around the world (laptops etc) and in other we have littlebit under 500 and only small amount of those are laptops what are outside of office longer than few days.

We use Linux bretty much all of them (there is few Windows XP systems because of photoshops and few other special applications) and we have mainteined now on both corporations, since 2004, all systems without big problems every 8 months. In that time, we have 2 months time to plan the upgrade of systems and wait important fixes for new releases. And almost biggest problems of all, is that we need to get computers to Internet and stay there for few hours. Both companies have saved lots of money by this way and our task is much easier because it just works.

One of my co-worker tried two times the 18 month cycle on simulated environment and it failed on both times. Too many problems all the time.

And yes... I do exactly this for my mother computer too. Every 8 months I just give few commands and after 1-2 hours the system is upgraded and her computer has worked flawlessly since 2005, not a clitch at all. Problems have be very basic stuff... Level of "How do I get added attachment to this email?", no single technical problems at all... (and no, it does not run Ubuntu!)

But, I would not recommended bleeding edge distribution (Fedora) to any normal user. Cutting edge is fine and typical distribution is just perfect, like Mandriva and OpenSUSE. Ubuntu is out of it's class, too much overhyped.

Using Linux as a desktop computer

Well for the non-techies as in those people who have never seen and touched a computer yet, if you let them use Linux for the first time, then I believe they will have no trouble adjusting since it is "Linux" that they first woke up to in the computer world.

I think it is more hard for those who "woke" up using windows to shift to Linux. I believe that for this people the most appropriate solution is to create a Linux desktop distro that works exactly just like windows.

One more thing, I am very much pro-open source, in fact I use Linux on my laptop and open office in all our office desktops. But the fact of the matter is that its very hard to install programs on Linux. For people migrating from windows, installing program in Linux should be made more like that of windows.

By the way I've not tried any of the distros you mentioned by I think Linspire and Xandros is quite close to "windows" but I believe they still need to work more on it.