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.

Apologies to boakes.org for the frame

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`_.

Docutils System Messages

System Message: ERROR/3 (<string>, line 3); backlink

Unknown target name: "pre- installing linux".

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.

System Message: WARNING/2 (<string>, line 15); backlink

Inline emphasis start-string without end-string.

System Message: WARNING/2 (<string>, line 15); backlink

Inline emphasis start-string without end-string.

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. *

System Message: WARNING/2 (<string>, line 36); backlink

Inline emphasis start-string without end-string.

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.

System Message: WARNING/2 (<string>, line 12); backlink

Inline emphasis start-string without end-string.

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


What do you have to say?

Show Editing Help

About

Hello, my name is Zeth, I'll be your host here.

Command Line Warriors is about taking control of your own technology, it looks at our experiences of computing; especially using GNU/Linux, the Python programming language, the command-line and issues such as techno-ethics, best practices and whatever is cool now. If you take control of your technology then you are a Warrior too!

This site is your site too which means that you can contribute and get involved. You can leave comments using the facility provided. For me, the comments and discussions are by far the best part of the site. So please do have your say!

Latest Discussions

Cupcake

July 31, 2010
Good post! You helped me a lot with my school project! CountryField(blank = True) < (K)
Countries in Django

LeshaShampoo

July 30, 2010
it was very interesting to read commandline.org.uk I want to quote your post in my blog. It can? And you et an account on Twitter?
Email Syntax Check in Python

vemma2018

July 30, 2010
I find myself coming to your blog more and more often to the point where my visits are almost daily now!
On Comment Spam

layecenda

July 30, 2010
Hello. And Bye.test :) http://idfjhvihdfiphvlajbvhalibv.com
PuTTY Series: Adding PuTTY to your system path

scuba

July 30, 2010
I’ve been visiting your blog for a while now and I always find a gem in your new posts. Thanks for sharing.
On Comment Spam

Businesking

July 30, 2010
Great site and articles for hack for win, I said Amazing post
How not to program WSGI

Tehnoking

July 30, 2010
This is Great post to learn about the hack Thumbs-up for you :D
How not to program WSGI

Syabiltech

July 30, 2010
I think this articles for master...because very hard to learning, As blogger beginners like me.
How not to program WSGI

coffeeatea

July 30, 2010
Are you looking for coffee gifts? We can tell you more about the coffee gifts including coffee machines and coffee pods.
Introducing Soturi - yet another Django blog application

noni juice

July 30, 2010
I just sent this post to a bunch of my friends as I agree with most of what you’re saying here and the way you’ve presented it is awesome.
On Comment Spam

Dion Moult

July 29, 2010
What I do know is that ever since I tried out Opera and put their tab bar on the left as a column, I've loved that layout. Back on Firefox ...
We need a thoughout integration of the desktop and the web - not Tab Candy superfast jellyfish

ZonaEntertainment

July 29, 2010
Wow useful articles, I'm read to learn about this and now I bookmark this to my Facebook, thanks for share!
How not to program WSGI

Giacomo

July 29, 2010
Honestly, I think both Mozilla and you are wrong :) This sort of concept adds overhead. A user would have to manage all this crap, constantly dragging and dropping, creating ...
We need a thoughout integration of the desktop and the web - not Tab Candy superfast jellyfish

Matija "hook" Šuklje

July 29, 2010
As a minimalist, you'll probybly moan if I mention KDE, but I'll do so anyway ;) The future I want (and actually see slowly fold out before me) is to ...
We need a thoughout integration of the desktop and the web - not Tab Candy superfast jellyfish

tahitian noni

July 28, 2010
Thank You For This Blog, was added to my bookmarks.
On Comment Spam

Rick

July 28, 2010
I already have piles. It's called A New Window.
We need a thoughout integration of the desktop and the web - not Tab Candy superfast jellyfish

Tech News

July 25, 2010
Thanks for this short tutorial...was auto-FTPing my files from my appserver to webserver for my tech news website. Everything was OK until someone hacked it. Hosting provider is now recommending ...
SFTP in Python: Really Simple SSH

naypalm

July 24, 2010
During the past 3-4 years, I and many others have enjoyed unlimited 2G/3G internet. But ever since the massive cult-like following of i Phone users in the US, most cellular ...
Calling time on mobile internet nonsense?

Steve

July 15, 2010
Very occasionally, you will run into a Java program that uses a lot of memory just to hold all the classes used. It turns out that the JVM uses a ...
Three classic command line tips

no

July 14, 2010
1. number one 2. number two 4. number four 3. number three 6. number six # first # second ## second-ay ## second-bee ### second-bee-one ### second-bee-two
An Introduction to ReStructuredText