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>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.</p>
<p>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.</p>
<p>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."</p>
<p>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.</p>
<p>Hi Chris, thanks for coming over.</p>
<p><em>>the Linux part being deprecated because it’s only really of interest to us
geeks.</em></p>
<p>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.</p>
<p>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.</p>
<p>Apple is no exception, eventually they will have to become more free/open
source, use Windows or or spin off the personal computers altogether.</p>
<p><em>>I think application developers should make more noise about the fact that
there is an ‘Ubuntu version’ of their apps</em></p>
<p>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'.</p>
<p>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 <a class="reference external" href="http://www.gobolinux.org/">gobolinux</a>, (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.</p>
<p>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.</p>
<p>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.</p>
<p>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.</p>
<p>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.</p>
<p>"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.</p>
<p>Side notes and questions:
<a href="#id1"><span class="problematic" id="id2">*</span></a>. Where would you say Slackware and ArchLinux fit to?
<a href="#id3"><span class="problematic" id="id4">*</span></a>. 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.</p>
<div class="system-message" id="id1">
<p class="system-message-title">System Message: WARNING/2 (<tt class="docutils"><string></tt>, line 15); <em><a href="#id2">backlink</a></em></p>
Inline emphasis start-string without end-string.</div>
<div class="system-message" id="id3">
<p class="system-message-title">System Message: WARNING/2 (<tt class="docutils"><string></tt>, line 15); <em><a href="#id4">backlink</a></em></p>
Inline emphasis start-string without end-string.</div>
<p>Hi Bug!</p>
<p><em>>Well, unless you can manage to download all the correct data, it can fail,
as there will always be offline systems</em></p>
<p>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.</p>
<p><em>>Where would you say Slackware and ArchLinux fit to?</em></p>
<p>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.</p>
<p>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.</p>
<p>>use Gentoo for DESKTOP, I repeat, Desktop use. For all his family.</p>
<p>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.</p>
<p>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.</p>
<p>>didn't have really hard time to figure how to use the Linux.</p>
<p>Yeah, I have found that too. That people who know little about computers
hardly even notice.</p>
<p>It is the people who think they know about computers (but don't in reality)
who get all insecure and cranky about it.</p>
<p>"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?</p>
<p>"so it doesn't matter if they miss the odd update."
Not unless it helps the system stop crashing.</p>
<p>"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?</p>
<p>"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.</p>
<p>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.</p>
<p><em>>>"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?</em></p>
<p>Interesting point.</p>
<p>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.</p>
<p>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.</p>
<p>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.</p>
<p>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.</p>
<p><em>>>"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?</em></p>
<p>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.</p>
<p><a href="#id1"><span class="problematic" id="id2">*</span></a>>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. *</p>
<div class="system-message" id="id1">
<p class="system-message-title">System Message: WARNING/2 (<tt class="docutils"><string></tt>, line 36); <em><a href="#id2">backlink</a></em></p>
Inline emphasis start-string without end-string.</div>
<p>I use <a class="reference external" href="http://commandline.org.uk/2007/irc-part-two-command-line-irc-with-irssi/rel=">IRC</a>, and I am on <a href="http://irc.freenode.net" rel="nofollow">irc.freenode.net</a>.</p>
<p>>>>”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?</p>
<p>>>>”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.</p>
<p><em>>”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?</em></p>
<p>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.</p>
<p><a href="#id1"><span class="problematic" id="id2">*</span></a>>”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.</p>
<div class="system-message" id="id1">
<p class="system-message-title">System Message: WARNING/2 (<tt class="docutils"><string></tt>, line 12); <em><a href="#id2">backlink</a></em></p>
Inline emphasis start-string without end-string.</div>
<p>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.</p>
<p><a class="reference external" href="http://www.topology.org/linux/lingl.html">http://www.topology.org/linux/lingl.html</a></p>