Three types of Linux computer
10 April 2007
Getting Hardware (sans Windows)
Today, I read an article that Mark Shuttleworth recently wrote called `Pre- installing Linux`_. He argues that there are two issues holding back supply of GNU/Linux desktops (from here on Linux=GNU/Linux). The first is that the economics of selling PCs is bound heavily up with Microsoft as the monopoly supplier, I agree with him here.
I have never actually bought a Windows licence myself, although I have ended up anyway with a surplus of them. No, I am not giving you one, that would be like giving you cigarettes. Anyway, I plan to make an art project out of the shiny little licence code stickers.
My last purchase was the cheapest Mac laptop that I run Gentoo on, because it was educationally discounted and I did not know, at the time, about all the great deals that are out there now. The next time I upgrade it, I will use a Linux retailer. My Desktop was a home build. So my answer, for now, is that Linux users should just opt out of the big companies and home-build desktops and buy laptops online from smaller companies that resell computers without Windows, there are actually quite a lot around these days.
Bugs not features
Shuttleworth's second point is that we configure our system to the finest detail and want specific hardware inside. Well, I know quite a few Windows gamers that are very specific indeed with their hardware and spend all day tuning up their systems. Anyway, he says:
> Worse, we are not “Linux” users, we are users who want version 6.06.1 of Ubuntu, or 10.2 of SuSE, or Fedora 6. We want a specific distro, and in many cases also a specific VERSION of that distro. In order to please us, the vendor has to offer an enormous matrix of possibilities - machine and distro/version.
I agree with his observation of these two phenomena but disagree with his interpretation. I personally think these are bugs rather than features. We are fussy about hardware because we need to buy hardware with working drivers. Otherwise we have bought an expensive brick.
The other bug is because Linux distributors just have not got the perfect formula down yet. I believe that if you designed it correctly, you could pre- install a Linux distro on a compatible computer and have 90% of people leave it alone. People only care about the things that are broken, if they just work then you do not notice that they exist.
We do not care about distros
A controversial thought. But do we really care about what distros we use, I mean really actually care about that as an an end in itself? When it is up and running and your machine is set up how you want, one Linux distro is more or less the same as another. Apart from having a silver rather than brown bar at the top, if I write this post in gedit on Gentoo or gedit on Ubuntu, there is no difference.
The value of a Linux distribution is in getting you from blank hard-drive to working or playing with whatever you bought the computer to do in the first place. So installing, packaging and upgrading, beyond that I am using epiphany or mplayer and do not care about the distro, in fact, I want the distro to disappear.
One major problem in the past has been that you get one CD set for all possible uses. You then have to spend a lot of time in, say, Anaconda trying to get to where you want to go. Because most people are not expert in selecting packages, then they have to spend a lot of time later installing the packages they forgot earlier.
So we only care about distros because they are broken, in five years time, they will work and I doubt we will care much at all.
There are three types of Linux computer
Windows is a horrible operating system because it has to be, it is like a hand-me-down jumper that is too small and has holes in. The problem with Windows and hand-me-down clothing is that one size does not fit all. The solution to the clothing problem is charity shops and ebay, where your clothing can be reused even if your little brother is bigger than you.
I am going to talk about x86 white boxes here not embedded systems, or dumb terminals or single function appliances. With that (huge) proviso, there are three main reasons that you would install a Linux operating system on an x86:
- Server
- Workstation - for the IT Professional: Developer/Administrator/Web Developer/etc.
- Desktop - for normal, non-technical, human beings
So I personally use Gentoo Linux for one and two, and Ubuntu Linux for number three. On the server, Gentoo Linux has really good support for virtual hosting including a wonderful little command called webapp-config that manages your instances of web applications and keeps them up to date, i.e. if you have ten copies of a web application. I have not yet found this matched in other distros. Maybe you have, if so then let me know below please.
Again Gentoo is quite good at the workstation. You want all the documentation and examples for all Python libraries and applications but not for Perl or C or whatever, no problem, Gentoo will do that for you. You want to have three versions of a library slotted, no problem, Gentoo will do that for you. To be honest most distros are good at the Workstation, because Workstation users are easy to please, success is counted by the number of packages, just throw more in and the users will sort out their own systems.
Of course, where Gentoo fails miserably is the end-user desktop, because that is not what it is designed for. You have to do quite a lot of work yourself to get near to some reasonable selection of packages. If you type emerge gnome then you get a really weird selection of stuff that the Gnome foundation thinks that you want. Some of it is fantastic and some of it is useless. However, the point is that nobody actually leaves the system in that state, you then install all the stuff that you actually want over the top.
The non-technical end users do not want five media players or three web- browsers, they do not want Eclipse or a CVS client. That is why I was quite pleased to see Ubuntu, it has one application for everything and a printed book that tells you what they all do. I could give that book to a non- technical relative and they can work through it one page at a time, no need for years of technical experience.
Ubuntu Linux was the first distro that gave you a reasonable set of defaults for the non-technical user (first one that is free to download, others such as Linspire have been down this path before, and OS X of course, if that counts). It still has problems, but half of those will be fixed with a year or two when the GPL Java and Gnash are completely ready and installed by default. I still would like to see a 'non-US' CD that has all the media codecs in for you at the start.
More difference, less implementations
So ahead, I forsee alternating cycles of change. One cycle will be differentiation as distros specialise more into the three different user categories, someone like Ubuntu or like Novell will forge ahead in the end- user space, while someone like Redhat will storm even further ahead on the server. I say 'like' because it could well be new, yet to be created, distros that eventually dominate the three categories, I suspect so as it is sadly easier to create a new project than fix one of the old ones and get it to change course.
A brand can only be stretched so far before you become a supermarket own brand, i.e. bland and undesirable. No matter hard they try to market it, people just do not want to buy water from Coke, there is just not the headroom to handle that, and Coke are never going to be committed enough with the water to stop you drinking sugary drinks.
I think it very unlikely that any distro that aims for all three user groups will be able to do them justice individually, and I expect that to become clearer as the end-user desktop continues to take off and the usability compromises that will need to be made.
The other cycle will be consolidation. At the moment there are hundreds or thousands of small distros, and a special portal, distrowatch, does a good work at providing navigation between them. As the distros sort their defaults out and leaders start to emerge in the three categories, the need for these small distros will decrease. Most people want to create something that people might use, so if the main distros eventually get up to scratch then these highly-creative hobbyists will glide along to creating themes or upstream packages.
P.S. Discussion continues `in the comments`_.




1 Chris says...
I agree with 'more difference, less implementations'. Essentially what I think you've done is identify the three major 'sectors' - server, professional workstation and home (-office) desktop, each of which should be catered for by a separate distro. Personally I would use Debian, Gentoo and Ubuntu respectively. Each should cater for its own market niche rather than trying to be everything to every man.
I think it's key to stop referring to Linux as the operating system. An operating system in my mind is a kernel, a user interface, some form of package management system and a set of core applications. For example, in a desktop scenario I would refer to Ubuntu as an operating system - the Linux part being deprecated because it's only really of interest to us geeks.
Likewise, I think application developers should make more noise about the fact that there is an 'Ubuntu version' of their apps, whether or not it is equally compatible with other distros. This helps developers as they can be relatively sure of what software and libraries are available on the user's machine by default, in order to avoid having to install too many dependencies (regardless of how easy this may be in APT). It also helps users if they are looking to move to Linux because of a particular package. Instead of thinking, "I want to move to Linux to run application X... oh crap, what distro do I choose?" they would think "I want to move to Ubuntu to run application X, I'll go and download it."
Sure, this may leave other distros out in the cold, but if we're going to consolidate the number of distros out there this has to happen. Not that I think we should consolidate down to just three, as there's always room for competition and choice, I just think that 'Linux' is far too fragmented and confusing for anybody non-technical to even consider without a degree of hand-holding.
Posted at 3 p.m. on April 10, 2007
2 Zeth says...
Hi Chris, thanks for coming over.
>the Linux part being deprecated because it’s only really of interest to us geeks.
Certainly, my gedit example could be extended even further, it makes no difference whether I am using gedit on Linux, Solaris or BSD, I can still type the same words. I imagine in ten years time, no one will bother to distinguish between Solaris, Linux and BSD. Especially since GCC and Glibc will triumph below it and Apache, GNOME and KDE will triumph above it. Your company just has a support contract with Redhat, Sun or whoever.
Libraries will consolidate underneath and Applications will become more compatible above. The proprietary Unicies are on life support already, the only one that was going anywhere was Solaris and that is no longer proprietary. The proprietary Unicies have no cards left. They can use modern libraries and applications and slowly morph into Linux, or they can just attempt to die gracefully, keeping the holes in the hull plugged long enough to scuttle the ship to dry land.
Apple is no exception, eventually they will have to become more free/open source, use Windows or or spin off the personal computers altogether.
>I think application developers should make more noise about the fact that there is an ‘Ubuntu version’ of their apps
I do not quite see it that way, I think sooner or later, the one package will just work everywhere but Windows. So a 'Linux application' will just be an 'application'.
I foresee that all current complicated package manager set-ups will slowly fade out and every program will just reside in its own directory, i.e. we will have something rather similar to gobolinux, (which is similar to Mac OS X's approach but far far better). Jettisoning the frankly dated Linux filesystem hierarchy, which is falling apart anyway, will be a small price to pay.
If you were going to create a package format from scratch in 2007, you would not create a binary format such as RPM. You would have a simple archive with any metadata being held in XML, preferably out of the package and preferably elsewhere on the net somewhere.
Likewise, every distro having its own package database is unsustainable in the long run. Far more software has been produced in the last five years than in the fifty years before that. Therefore the sheer amount of metadata will require some upstream metadistro to do the Q and A and maintain it all.
Most new software projects now use interpreted languages. So since you get the libraries when you install the system, in the future, most software you are going to go out of your way to install will be in interpreted languages anyway, so the complexity of the metadata will be lower. The user interface has to just stick the directory on the system and it works.
Posted at 3:32 p.m. on April 10, 2007
3 bug says...
I just have to say, this is nicely written, the article as well as the comments. Also, if I may, I'd like to support Zeth about the 'Linux Application'. Even though, Ubuntu might become really popular as an OS [Talking about at least 20% of the total market on Window expense, as Vista will do a severe damage with it's license], there are still the other Linux distribution's that will not fade too quickly.
"You would have a simple archive with any metadata being held in XML, preferably out of the package and preferably elsewhere on the net somewhere." Well, unless you can manage to download all the correct data, it can fail, as there will always be offline systems, and I'm not talking only about backup servers.
Side notes and questions: *. Where would you say Slackware and ArchLinux fit to? *. I got a friend, who doesn't know too much about computers. He used Windows until someone from his family explained to him how bad it is. Since then he used Mandriva translated version [Ehad]. When I saw it, I told him he should try other distribution's because his Mandriva was not working so well for unknown reason. Anyway, he installed ArchLinux alone to find the magic of Pacman. After sometime, he decided he wants to go all psycho and use Gentoo for DESKTOP, I repeat, Desktop use. For all his family. So Gentoo isn't only for servers or workstations, it's for crazy people as well. Now for the really good part. His family, that know even less about computers, didn't have really hard time to figure how to use the Linux.
Posted at 8:51 p.m. on April 10, 2007
4 Zeth says...
Hi Bug!
>Well, unless you can manage to download all the correct data, it can fail, as there will always be offline systems
The systems only have to be online when you update them, the rest of the time they can be unplugged. Some systems you never really update anyway, but this thread is focusing on PCs rather than some nifty embedded thing. Personal Computers that are offline and physically secure in someone's house (i.e. a grossly overspeced typewriter) are not really exposed to threats as much anyway, so it doesn't matter if they miss the odd update.
>Where would you say Slackware and ArchLinux fit to?
I think that the low-fat distros are really important and can really help to keep older machines in use, this is important to save the planet. There are still more Windows 95/98/ME users in the world than Linux ones, and we are their upgrade path. Also I think the OLPC project may well usher in a new era in low-power energy efficient computing. So this is where they fit.
My first distro was slackware, back in the day, and I, like a lot of people, tried out Linux on my oldest computer first. Until I bought the parts to my next computer and never bothered adding Windows to it.
>use Gentoo for DESKTOP, I repeat, Desktop use. For all his family.
Yeah, I did this for quite a while, but I got bored of SSHing into other people's PC's to run etc-update and so on. So I give other people Ubuntu or whatever and use Gentoo for myself.
In Ubuntu, most people can just about respond to the flashing red light in the corner of the screen offering updates, or you can set it to auto-update, if you trust that the Ubuntu backports will not hose their installs.
>didn't have really hard time to figure how to use the Linux.
Yeah, I have found that too. That people who know little about computers hardly even notice.
It is the people who think they know about computers (but don't in reality) who get all insecure and cranky about it.
Posted at 9:31 p.m. on April 10, 2007
5 bug says...
"The systems only have to be online when you update them, the rest of the time they can be unplugged." Will it work with CD / other media type updating?
"so it doesn't matter if they miss the odd update." Not unless it helps the system stop crashing.
"I think that the low-fat distros are really important and can really help to keep older machines in use," Are you sure you are aware that ArchLinux is a bleeding edge distribution?
"Yeah, I did this for quite a while, but I got bored of SSHing into other people's PC's to run etc-update and so on." He updates it on his own. It was his idea to install it, not mine. Anyway, if I recall, he reverted back to Arch, he had it with Gentoo's non stop compiling.
Q: Is there a way I can speak to you not in comments, more like IM chatting? I got a few questions I'd like to ask you in person.
Posted at 9:15 a.m. on April 11, 2007
6 Zeth says...
>>"The systems only have to be online when you update them, the rest of the time they can be unplugged." >Will it work with CD / other media type updating?
Interesting point.
My first thought was that you could design the system similar to portage in this regard. You would download a snapshot of the metadata and burn it to CD. The machine could then sync to that and then produce a list of what extra files it needs.
The problem is that now there is probably at least 5,000 packages available for Fedora, probably twice that for Gentoo, probably twice again for Debian.
If we imagine that in the future, in this combined meta-repository, there are going to be 200,000 packages or more instead. This CD based idea starts to look rather rubbish.
So for we have to look at it another way. So I argue that all computers that are never networked will fall under embedded. You will have an image of a complete system produced elsewhere, by yourself or downloaded off the net, which is then swapped in for the existing image.
>>"I think that the low-fat distros are really important and can really help to keep older machines in use," >Are you sure you are aware that ArchLinux is a bleeding edge distribution?
Well the low-fat distros are often the most bleeding-edge, I am a big fan of low-fat. According to the website, "Arch Linux, a lightweight and flexible linux distribution that tries to Keep It Simple." I had in my head that one would use Arch with XFCE or something, but I suppose there is nothing stopping you build up into a full Gnome system for a desktop user. But you are going to do that then might as well just save a lot of time and install Ubuntu.
*>Is there a way I can speak to you not in comments, more like IM chatting? I got a few questions I’d like to ask you in person. *
I use IRC, and I am on irc.freenode.net.
Posted at 3:59 p.m. on April 11, 2007
7 bug says...
>>>”The systems only have to be online when you update them, the rest of the time they can be unplugged.” >>Will it work with CD / other media type updating? >"You will have an image of a complete system produced elsewhere, by yourself or downloaded off the net, which is then swapped in for the existing image." Now, wouldn't that result in you losing all the files on the offline system rendering it useless?
>>>”I think that the low-fat distros are really important and can really help to keep older machines in use,” >>Are you sure you are aware that ArchLinux is a bleeding edge distribution? >"But you are going to do that then might as well just save a lot of time and install Ubuntu." I don't think so. I really love Pacman and the whole system. Also, it's easier to work with unstable Gnome on ArchLinux rather than on Ubuntu, as it try to maximize the stableness. And even then, I'd rather use Slackware than Ubuntu if I'd want a stable system. I guess it's because I'm more into command line than GUI at some things. I am aware that you can do everything in Ubuntu from the commandline, but then again, it's unexplainable.
Posted at 7:32 p.m. on April 11, 2007
8 Zeth says...
>”You will have an image of a complete system produced elsewhere, by yourself or downloaded off the net, which is then swapped in for the existing image.” Now, wouldn’t that result in you losing all the files on the offline system rendering it useless?
Well swapping the OS would not need to touch /home or wherever user data is kept. How much data can there really be in a non-networked appliance? I am having a hard time imagining a system that is never plugged into the network but needs to be upgraded often.
*>”But you are going to do that then might as well just save a lot of time and install Ubuntu.” I don’t think so. I really love Pacman and the whole system. * True, that would be a Workstation then. I'm also more into the command line. Arch Linux does sound cool, I should give it a go sometime.
Posted at 8:03 p.m. on April 11, 2007
9 Shaun says...
Linux is NOT gnu/linux: linux is linux, linus torvalds, he owns the patent. Stallman is a wanker. Yea sure a few lines of GNU run on most 'distros' but so does many more lines of xorg code, we dont call it xorg/linux do we. or KDE/Linux, even GNU, as sad as they are, dont put 'LINUX' as a 'GNU PROJECT' and you know why? cause its NOT. I really like reading your articles, and you of all people a seemingly intelligent man should not be pulled into this bullshit GNU/Linux crap from Stallmans propaganda machine, that feeds people who dont know any better.
http://www.topology.org/linux/lingl.html
Posted at 1:49 p.m. on September 17, 2007