An Open Digital PC – A Proposal

I love the ideals of Free Software.  Make something, share it, remix it, make it better, share it more.  Amid the world of heavily entrenched copyrights, patents, and trademarks, we have the phenomenon of  “open source” software, released under freedom respecting licenses.  Browsers, office software, graphics software, operating systems, web-servers, mobile phone software – it’s great!

It’s not a new phenomenon.  And it’s not limited to software.  People have been sharing their creative works for hundreds of years, from the political pamphlets of Thomas Paine that helped shaped America, to the amateur ‘zine communities.  The early digital age of sample tracking,  the current age of Wikipedia, SoundCloud, and the Creative Commons.  That’s not to mention all the cracking of warez, remixing of tunes, and fan-fiction that’s out there.  We love to improve and share things.  Add that to the new phenomenon of crowd-source fundraising and you have the start of something amazing…

Let’s build PC’s, smartphones, home servers, supercomputers, and everything else we need from community crowd-sourced funds, using open source designs.  In this article, I will hypothetically build a PC completely from open projects.  These projects are already in place.

For the sake of argument, I’m going to start with the stalwart pillar of our digital lives, the humble desktop PC.  We will need chips, circuit boards, and a case.  We will also need all the software from embedded initialisation all the way to a web browser.

The OpenSPARC: an open-source processor by Sun Microsystems

Chips Design

The horse to back here is the OpenCores project.  Open source, modular chip design released under free software licenses.  The problem with chips is they are expensive to make.  The good news is that they are also easy to emulate.  A chip designer can run his circuit through a computer program to check for bugs.  OpenCores is a community of chip designers, building “blocks” of micro-circuits that can be put together into all sorts of microchips, from motherboards to systems-on-chip like smartphones.

In the same way that the Linux kernel and other free software projects are both funded and developed by big business as well as volunteers and hobbyists, we could have a standard, stackable processor design for anyone to manufacture.

Of course, the difference between a program and a chip is that once designed, a program can be copied for free, whereas it can cost a million bucks to prototype a complex print of silicon!  The design on the other hand, is certainly achievable so far.  Let’s look at our next step:-

Fabricating Chips

So, assuming a hypothetical chip design, how can we make it real?  Like I said above, we’ll need a million bucks.  There are two feasible ways to achieve this.  Crowd-sourcing, and/or big business.

The big business model is simplified (horribly) like this:  Company-A makes CPU’s for the server, workstation, and home computer market.  They like our design, so they “steal” it legally and make a few for their budget range – or something.

Company-B makes budget motherboards for home builders and OEM’s.  They buy a load of  these chips and make their mainboards, whereupon we buy one, and have a working mobo for our open-source PC…

The crowd-sourcing model is a bit more airy-fairy, but is still viable.  It goes like this.  We stick up a KickStarter project for a million quid, offering a sliding scale for thank-you gifts – a working pc, a batch of chips, that sort of thing.  Universities, seeing the educational benefits, pitch in a bunch of cash.  Mainboard makers too, hoping to get a hundred or so of the first run.  Embedded device makers put in a bit too, to get a pledge-gift of the prototype run.

Once the million is made, we make a “foundation” and a company, and order a print on real silicon wafer.  Using the same technique, we build a motherboard around it.  Other hardware could be created in this way, like graphic, sound, and networking cards, as well as RAM and hard disk controllers.

A million on KickStarter is certainly possible, if a little unlikely.  It means a million people give a pound, or a thousand give a thousand.  Projects like  Amanda Palmer’s album and tour raised a million.  Quite a few projects have.  With a high enough profile in the tech world, including the “hippy” tech world like the OLPC and GNU projects, a million is obtainable.

I would like to specify a license for the chip(s).  A proprietary software company like Microsoft should be able to run their software on it, or sell it in their devices.  They should not be able to block it.  Old hardware should be recyclable.  If I find an old MS Windows tablet for second-hand with our chip in, I should be able to run Linux on it, or at the very least, rip out the chip and stick it in my own compatible motherboard.  Any improvements made by MS on their chip should be released back to the community, and should not block other software, and any patents held on code methods should be unenforceable (unless someone rips the patent off without using the open source code, or someone uses the free code, but locks it into a proprietary system).

System Device Software

The BIOS, and any variation, such as UEFI, is the first real piece of software the computer gets.  It usually sits on a flash-style chip stuck to the motherboard.  In most computers, it’s written by a company who release it as proprietary software.  American Megatrends is one example, a company name millions of PC users see when they switch on their PC, whether they run a free operating system or not.  Of course, it’s proprietary, so you only get an update when theysay you’ll get one, and not if it’s old hardware they’re not making a profit on.

Coreboot Logo Wikipedia

The Coreboot Logo – reminds me a little of Playboy…

This won’t do for our hypothetical “open PC”.  We’ll need a free software BIOS.  Luckily, there is a long-standing project to provide one, called Coreboot.  Coreboot is mainly a science/hobby project at the moment, but it has real applications in areas like datacentres, supercomputers, and embedded devices.  It supports implementations of UEFI, and runs on a wide range of motherboards.  With an open-source design, emulators and on-board software could be written before the first chip comes back from the fabrication plant.

The same goes for graphics cards and other internal and external peripherals.  With emulators and open specifications, drivers could be created before the first one is made.

Eventually, all hardware could hypothetically be created in this way.  Hard disks, keyboards, monitors, smartphones…  Some hardware, like the RepRap 3d printer, the Raspberry Pi microcomputer, and the FreeRunner phone, have already been created using these methods.  PC processors were open-sourced by Sun, namely the OpenSPARC range, so we know it is possible, even if some of these projects were not commercially viable at the time, for one reason or another.  Check out the UzeBox, Arduino, and Bugs.

Case Design

So, we have a nice working PC motherboard, with everything running.  What do we put it in?  Well, we need a design first. Thingiverse would be a great place to start.  Thingiverse is an online store for 3D designs.  Think SourceForge, or GitHub, but for CAD, blueprints, and Google Sketchup files instead of source code and executable software.

I’ll mention the really amazing thing about Thingiverse in a minute.  First, we can look at a couple of ways this could be realised.  Again, we have the crowd-source, and the big-business models.

So, a company like Aria, who make cases, like our design, and make a load, whereupon we buy one, end of story.  Or, we crowd-source the cash and run off a few, selling them, and keeping one for ourselves.  Money saved designing is money saved producing, which translates as lower prices.  That’s not to say a large specialist company like Alienware couldn’t pay somebody to develop a cool open design for our PC case, with a sticker recess for branding later on.

There is another way.  At least for things as simple as PC cases, which are mostly just moulded plastic, anyway.  This is the really cool thing about Thingiverse I wanted to talk quickly about:-

3D Printing

Thingiverse isn’t just a repository for 3D models.  Those 3D models are actually for 3D printers, like the Makerbot and the RepRap.  With one of these machines, you can replicate broken toy parts, doorknobs, knife handles, well, pretty much absolutely anything.  Wait, it gets better!

While the Makerbot is an excellent machine, it is very expensive, costing a couple of thousand pounds.  The RepRap is a bit different, costing only a few hundred pounds.

The RepRap is an open-hardware project of it’s own, with the intention of creating a machine that can replicate itself!  Ok, it can’t replicate microchips, or circuits (much), but all the mechanical parts, cogs, wheels, etc, are all printable.

All the software to run it is free, so in theory, all you need is a PC, and a mate with a printer (plus a mail-order for any circuit stuff you need – all standard and obtainable in RadioShack, or online), and you’ve got yourself a working 3D printer.  Now make one for your friends!

For the creative interested in free sharing, it’s a great kudos-magnet.  A DeviantArt for physical products?  Very possible.  For the creatively challenged, it’s a huge choice of great designs to download, print, and shove a motherboard in.  Designers can be commissioned for cash, the designs left open for anyone.

Operating System and Beyond

This is already there, and all over the place.  GNU/Linux is in supercomputers, server data-centres,  Linux Android has taken over on phones, and the Linux kernel itself is in everything from robot controllers to washing machines.  Linux devs can work magic with open architectures.  Just add our chip to the unbelievable array of hardware Linux already supports.

On top of that, there are graphics software like MyPaint, browsers like Firefox, actually, the list goes on and on.  This isn’t a part of our PC that has to be hypothetical.

Of course, if this system works for a PC, it will work for anything.  Supercomputers running company data, TV’s, smartphones, all hardware is possible.  Designs?  Maybe steampunk this week, minimalist next week, even custom wood-carved phone and e-reader skins.  A walnut laptop and smartphone?  Integrated couch/tablet/remote control?  By designing with modularity in mind, there’s no reason why not.  It already happens, in fact.  Look at all the PC mods on Instructables, for instance, all designed around the ATX standards.

The Future

Our hypothetical PC already sort of exists, like a jigsaw still in it’s box.  Some other exciting developments that could also pave the way for an open-design revolution are also in the pipeline.  I’ve already discussed 3D printing for physical parts, but another problem is electrical circuits themselves.

Ink-Jet Printed Circuits

This is already a real thing.  By filling specially adapted printer cartridges with metallic ink, it is possible to print a circuit.  You don’t get the same amount of resolution as you get with a slice of silicon, but it’s a circuit, nonetheless.  OLED’s printed on acetate and other wonders are already a reality.

Using an inkjet printer, one can also print acid-proof ink onto a standard copper-backed blank PCB, where it can be dipped in acid to produce the circuit.  But here we’re actually talking about printing whole chips on plastic paper, which is a bit cooler!

I can see this being hooked onto the RepRap project.  Imagine a circuit printer capable of replicating it’s own circuits, chips and all, by printing out a “book” of circuits on special paper.  Now make all the physical and/or moving parts for this inkjet printable on a RepRap machine.  Finally, make the printer print all the necessary “pages” of circuitry needed to run a RepRap itself.  You now have a fully replicatable replicator, cogs and chips and all.

Now leave the whole thing as “open-source”, and let the community improve it…

Home Silicon Chip Fabrication

Picture this:  The latest stable release of our processor has just been announced.  We download the code, pop a piece of raw silicon into a “burner”, fab ourselves a working chip, shove it in to the motherboard, and reboot.  Sound a bit far-fetched?

Enter Jeri Ellsworth.  According to Wikipedia, she’s a pinball expert, computer hobbyist, and self-taught chip designer.  I’ll give you a second to let that one sink in…

Jeri has come up with a way integrated circuits can be made at home.  Silicon transistors.  At home.  Hand-etched, home baked silicon chips.  Imagine that system could be automated in some way, combined with a 3D printer, a circuit-printing inkjet, and a worldwide community of designers, and what you end up with is a complete download-and-print PC.

All we would need then is some sort of machine that creates the raw materials.  Shove in some sand (or your old chips), and get a silicon wafer.  Pour in some oil (maybe grown from hydroponic hemp or rapeseed) for plastics and bio-fuels.

Back to Now

I’ll finish with a question.  Why isn’t this happening?  I would really like to know.  My guesses and research point to a few things, but I’d like other opinions.  Is the chip design market trapped in sticky patent issues?  Can we hardly move but for trespassing on intellectual property?

Is it that the chip designs themselves are just in hobby stage, great for playing with, but not what you’d call commercially viable?  Perhaps it’s just nobody’s ever attempted it, or the investment money can’t be found.

Every so often, a project starts like this.  Some fail, some go on to achieve cult status.  Some. however, actually succeed…

Making Wallpapers!

Yeah, I know, it’s the ultimate sign of a procrastinator, but I’ve been making wallpapers from icons again like here and here, and not working much.  I’ve also been playing WideLands, an amazing open source clone of Settlers (round about Settlers 2-ish).  So I made a wallpaper for when I can’t play, it makes me think I’m playing!

These were created using a combination of SmillaEnlarger, GIMP, and Inkscape.

Firefox!  Who doesn’t love Firefox!

Firefox Wallpaper

1024 x 768

This is another icon turned into a wallpaper.  I look at them, and I think, wow, that could be a wallpaper!  This one’s actually rather nice as a wallpaper.  I blurred it a bit to create depth and stop the foreground distracting.

Gnome Icon Wallpaper

1024×768

This is a beautiful image as an icon, I don’t think I did it justice.  Still works really well as a wallpaper, with the right kind of theme…

Wallpaper made from icon by Gion

1024×768

This next one turned up on Wikimedia.  It was part of an image stack icon.  This is an icon for a middle-wheel animation on commons.wikimedia.org.  It’s a slice of anatomy of some kind.  I’m not a medicalologist 🙂

From an icon on Wikimedia Commons

1024×768

This is flowers and a hot air balloon.  The balloon is made of vectors, and the flowers are real.  It’s such a great perspective and makes a great summer wallpaper.

Hot air ballon and flowers.

1024×768

Requests!

There are two icons I currently seek the SVG for, or a large PNG file.  If you know of any, please get in touch!

There is one that is a Tango style icon, with a bright seascape and a sillhouetted bird flying across it.  There is another, a Nuvola icon by a guy called David Vignoni, with a cityscape style thing on it.

A nice potential wallpaper for me 🙂

And the other…

There should be a sax playing somewhere in the distance…

These icons, though they exist purely as functional pictures, are actually capable of being beautiful and serene artworks.  Keep up the good work!

Lastly, here’s my WideLands wallpaper.  I can’t stop playing.  I think it’s becoming a problem…

Procedure:  Play WideLands.  Take screenshot.  SmillaEnlarger to ridiculous size.  Play with colour levels a little in GIMP.  Crop and size.  Make Layer Mask with linear gradient between a normal version and a heavily blurred version.

Widelands Wallpaper

1024×768

Let me know what you think…

More Theming of LMMS

In order to create a nice Linux Mint looking theme, I took a look at the style.css file in the theme folder.  I couldn’t find the bit that themed the main menu.  I turned everything red or blue to see what would work, and nothing did.  I’m a bit in the dark here…

So I Googled a few of the names of things.  QMenu and all that.  The whole thing is run by QT, of which I have no experience.  So I’m going in to have to read a bit about it.

Meanwhile, I did find the top menu, anyway.  I’ve styled it slightly so it’s getting there.

screenshot

So far, so silvery…

If anybody is interested in helping with this, you’re welcome – just get in touch.  I’m warning you, I don’t know much about this stuff though!

GNU/Linux from Noob to Pro

Since I discovered Linux and open source software in general, I’ve been wanting to get to grips with it.  Really learn it.  So I wrote myself a road-map, a step-by-step lifestyle that would eventually get me where I want to be.

You don’t have to follow this advice.  It’s mine.  I’m only really putting it up because I had to do all this without the benefit of a University education, funding, or even much spare time, and thought it might help somebody in the same boat…

Stage 1 – Scope it Out

A great place to start is Wikipedia and Google.  Simple searches like UNIX, Linux, GNU, Open Source, Free Software, and all the links those pages will bring will teach you enough to get started.

Watch the movie Revolution OS – it’s available all over the web.  It’s a documentary looking at the rise of GNU and Linux round the world, interviewing some of the main characters involved in the development of the Free Software and Open Source movements.  It’s a great introduction.

Watch a few tutorials on YouTube of open source software.  Just type, for instance Blender and watch a few demos and tutorials.

Stage 2 – Dip Your Toes

The world of Open Source software is vast and varied.  If you’re used to using Internet Explorer for your browser, try out Firefox.  You might like it, you might hate it.  Download and install other software.  GIMP, Inkscape, MyPaint, Blender and Pencil for graphic stuff.  OpenOffice and LibreOffice instead of Microsoft Office.  Try using VLC for watching DVD’s.  Like making music?  Give MuseScore, LMMS, Audacity and Traverso a whirl.

Check some of the amazing educational software like Celestia and Stellarium

There’s also tons of other software.  Look round Sourceforge.  Can any of this stuff replace your everyday software?  If so, that’s groovy.  You can move onto the next stage.  If not, before you simply say “That’s rubbish, never again!” please think about what it is exactly that it lacks.

GIMP, for example, has limitations that make it useless for certain professional photographers.  So most simply go back to Adobe’s Creative Suite.  Now, Adobe sells it’s CS for between hundreds and thousands of pounds.  If, say, a collective of one hundred photographers (who would otherwise have paid £500 for Photoshop) put their money together (making £50,000!) and hired a developer, they could have a GIMP plug-in or fork ready in a few months.  That’s the beauty of open source.

Sadly, most users fail to see this amazing advantage, and would happily fork over thousands of pounds for the license of a software title with the same feature they could have had created for now and all future users of the software, for the same money.  Sad, really.

Stage 3 – Go Paddling

So, assuming you’re happy with the amazing range of open source free software out there, it’s time to start taking a look at a GNU/Linux system itself.  You’ll need a stack of blank CD’s and DVD’s.

What you’re looking for is an ISO file.  This is simply an exact copy of what goes on a CD or DVD.  Most burning software can handle turning an ISO file into a real CD.  Just make sure you’re burning an image, not just burning the ISO file onto a CD as ordinary data.  You’ll know it’s worked because when you look at the contents of the CD it will have loads of stuff on it.  If the contents of the CD is a single ISO file, you did it wrong!

You will need to pick the CD that is right for your PC.  If you have a 32-bit system, don’t pick a 64-bit version (although it works the other way, so if you’re not sure, choose a 32-bit).

You will be running these straight from the CD.  Nothing of your computer will be changed or broken.  If you’ve ever used a Windows Recovery Disk, you’ll be fine.  Once the CD is burned, leave it in the drive and reboot the PC.  On reboot, you should be in Linux.  If not, you might have to choose in the BIOS or boot menu to boot from CD first.

Some live distros to try out: Knoppix, the daddy of them all.  Puppy and DSL for if your computer is a dinosaur.  Check out Slax, and Fedora Desktop.  The various Ubuntu flavours, like Lubuntu, Xubuntu and Kubuntu all have live CD’s.  All the Linux Mints.

Running a computer from a CD or DVD is a bit slower than running from a HD install (except for Puppy and DSL!) but even so, just playing around with all the different liveCD’s will give you a good idea of what to expect from GNU/Linux.  Surf the web, try out all the menus.  You can’t break anything because it will all disappear when you shut down the PC.  Windows will boot back when there’s no CD in the drive.

Stage 5 – Soft Install

Okay, so you’ve been messing with your live CD’s, trying them all out.  It’s a confusing and complicated universe, isn’t it!  Now you’ve seen the variety out there, it’s time to settle on one variety and get a bit used to it.  If you’re not entirely sure if you really want to have Linux as your main OS, you can Wubi it.  A Wubi-based distribution is a flavour of Linux that you install on Windows as a program.  You don’t need to partition your disks, or worry about ruining your Windows intallation.  It’s all fine!  Linux Mint has the same thing, it’s called Mint4Win and comes on the install DVD.

You install the distro like any other Windows program, and reboot your PC.  When your PC starts, it will give you the option to boot into Linux or Windows.  If you choose Linux, it takes it all from the installation on the Windows disk.  If you need to un-install it later, it’s as simple as un-installing any piece of software.  Magic, eh?  Again, because it’s Open Source, anything that can be done, usually will!

So you now have the option to take Linux for a whirl.  Get used to how it works, how software is installed, and whether it works on your hardware or not.

Stage 6 – Install Proper

It’s time to take the plunge and install the OS.  If you have Windows on your machine, you can dual boot it.  Start by defragmenting your Windows drives.  Insert your Linux Mint DVD and reboot the PC into Linux.  Click the “Install Linux Mint” icon, and you’re away.

If you need to keep your Windows installation, you will choose the Guided Installation that automatically resizes and partitions the hard disk for you.  When it’s done installing, take out the DVD and boot to Windows.  Windows might be shocked and confused at the resize so it might take a minute to check it’s data.  Once it seems fine, you can boot into Linux.  You can choose Windows or Linux when you start the PC up.

If the PC has no operating system, or you really want to get rid of your Windows, choose the Use Entire Disk option.  You now have a bona fide Linux box!

Work with it every day you can.  Read around the forums.  Try out a few simple command line things, like wandering around directories, or installing software.

Stage 7 – Distro Hopping

This simply means trying one Distribution of Linux out after another, until you’ve seen a few.  For my purposes, I don’t want to learn everything, just enough to make me feel as confident with my Linux Mint as I do with my Windows.  To distro-hop properly, try each one out for at least a week (rather than a day or hour or two), if you possibly can.

Linux Mint itself has some nice flavours to start with.  They have a KDE version, an LXDE version, Xfce, and a “GNOME” version which these days is really just Mate and Cinnamon.  They also have a version based on Debian proper, which is for slightly more advanced users.  Try it anyway, what the heck.  You can always install something else over the top of it…

The main releases of Linux Mint are based around a distribution called Ubuntu.  Ubuntu comes from space-tourist billionaire Mark Shuttleworth’s company, Canonical.  It comes in a few desktop flavours, like Kubuntu, Lubuntu, Xubuntu, Edubuntu, and so on.  Pick one to “live in” for a while.  Ubuntu takes a little more time to set up right, but that extra knowledge is valuable, so worth it if you want to learn.  Ubuntu’s tagline is “Linux for Human Beings” so don’t use it if you’re a basket stinkhorn, hyrax or marshmallow plant.  Otherwise, hit the forums and FAQ’s…

Onto Debian.  Ubuntu takes most of it’s stuff from the Debian distribution.  In fact, there’s a bit of a joke going around the Internet that Ubuntu is an African word meaning “Can’t configure Debian”  That’ll give you a little glimpse of the world you’re about to enter.

A word of caution:  The Mint and Ubuntu forums are filled with a different kind of people, doing different things than the Debian people.  Debian is for experienced users, and users should fill their heads with forums, FAQ’s and man pages before they even think about posting.  If all else fails, Debian forum members are very friendly, and always keen to point you in a learning direction if you don’t know where to begin.  Get their “Stable” version to start off with.

Stage 8 – Dig Deeper Down into Debian

It’s easy enough to use an operating system when it’s full of graphical settings management and tools.  But are you learning enough about the insides?  Linux user settings from boot-up to desktop environments are mainly held in text files.  Learning to set these up manually from the command line will give you a massive boost to your Linux confidence, and you’ll know what to do if something goes nasty with your settings.

For your first step, I recommend a Debian Netinst CD.  If you have a blank PC to play with it really helps.  All that gets installed are the GNU userland, the Linux kernel, and the apt-get command.  From there, you go superuser (su), then apt-get install anything you want.  I recommend learning the Vi editor, just to say you can.  Mutt email works seamlessly with Gmail after a bit of Googling, so give that a go.  Midnight Commander (mc) for file management, the Lynx browser, MP3 players, and even a command-line ASCII-art movie player can be found.  The trick is to give yourself a good grounding in commandline-land before you install X.  What’s the most you can do without needing a mouse or windowing system?

Once you’re sufficiently sick of a text-screen, you can apt-get install X, Fluxbox Xterm and Leafpad, the Worker file manager (I love it!) and any of the other stuff you use, like LibreOffice, GIMP and Firefox.  The startx command can be replaced with a display/login manager when you get the hang of customising your desktop…

To get a modern experience out of an ancient laptop I own, I used Debian Netinst, with TinyWM so I could fit Chromium and Thunderbird.  Seamless Youtube on 128Mb RAM?  Yeah…

The other great thing about a Debian Netinst build is that you can take your time, adding little bits once you’ve got the hang of the last.  Get the hang of command line, then install X.  Get the hang of configuring and starting software from the command line, and then install a window manager.  Try a few different window managers out, and learn to configure your favourite.  Do the same with desktops, file managers, and all the other stuff you use.  Add a bit, learn it, configure it, add a bit more.

Stage 9 – Compile Programs from Source!

No, you don’t have to be a programmer – that’s been done for you!  You just need to learn to run a few simple commands, and get to grips with why it’s done like that.  Google for “Linux GCC Hello World” or “compile C beginner linux” and try it out.

You can do this from a terminal window in Linux Mint, or in your command line environment.  Take a piece of software (I like BeebEm and SmillaEnlarger), grab the source code, and make it into an application.  Most of the time there will be simple install instructions on the developers’ website, even if they’re weird and complicated-looking – the instructions, that is, not the developers (who invariably will be) – doing the steps one by one will result in working software.

For a few distros like Arch and Gentoo, this is the normal way to install software.  If installing from source feels okay so far, it might be time to try one of these out.  If any time you have any problems, remember there are countless forums, mailing lists and documentation to help you.

Stage 10 – Compile Linux from Source!

Yes, it can be done.  The Linux from Scratch distro isn’t really a distro.  It’s more of a book.

80’s 8-bit micros used to have software you could buy in a book and type it all in yourself, save to tape, and you’d have an adventure game!  This is in the same spirit, I think.  Except you’re just compiling, not actually programming, and the book is online, as is all the source code you require.

At the end of a few days of headaches, palpitations, agony, and ecstasy, you’ll have the equivalent of a Debian Netinst.  Just Linux and the GNU basics.  Beyond LFS will expand that, helping you compile all the extra bits and bobs you might want on your machine.  You could never learn Microsoft Windows this well!

Another great thing about an LFS install is that every component has been compiled specifically for your system.  You don’t need all the extra compatibility stuff that goes into a normal distro’s CD or DVD.

Stage 11 – More Distro-Hopping

Debian is the largest community distro out of the Big Three “Godfather” distros (Debian, Red Hat, and Slackware – most of the others are based on these).  The largest commercial distro is Red Hat.  If anyone has any doubts that money can be made from Free Software, they should take a look at Red Hat’s one billion dollars worth.  Fedora is Red Hat’s community release, and CentOS is a free Linux system that aims to work like Red Hat.  If you’re learning Red Hat for college or work, having CentOS on your own PC will help.

Another commercial distro, if you happen to be wandering into the Linux support world, is SUSE, is run by Novell.  OpenSUSE is the community edition.  It uses the same package manager as Redhat (the RPM), so you’ll be at home if you’ve used Fedora.  SUSE is the oldest commercial distro (1993 – about ten years before the first Red Hat distribution).

A company called Software und System-Entwicklung (Software and system development) released a Linux package called Softlanding Linux System.  SuSE went on to release it’s own distribution, and become the international company SUSE, mentioned above.  The SLS distribution also inspired our next hop – Slackware.

They call Slackware the “most UNIX-like” of our three “Godfather” distributions.  They also say: “If you use Ubuntu, you’ll learn Ubuntu.  If you use Debian, you’ll learn Debian.  If you use Slackware, you’ll learn Linux”.  I don’t know who “they” are, and I’m probably misquoting, but it gives you an idea of why Slackware is such a popular distribution for Linux-heads and hacker culture (not to mention all those Subgenius references!).  If you want to start with a user-friendly version, go with Vector Linux.  It’s based on Slackware but is intended to be easy to use for newcomers.

Stage 12 – GNU’s

I dream of a day when all software is free software, all hardware is open source, freely 3D-printable, or commissioned from crowd-sourced funding.  I would like a nice open standard binary internet, (Not Flash or Java!), free software BIOS and hardware makers to release the specifications for open drivers to be created.  It’s not going to happen today.

Proprietary software is the jungle we must live in and work with.  That’s why copyleft exists.  Ghandi said “You must be the change you want to see in the world”, but it’s tough when your kids are moaning that they can’t play Flash games, or use the 3D bits of the No-Videa graphics card, your web designer girlfriend complains that she can’t check her sites on Internet Explorer, and all your photographer friends say they need Photoshop for it’s 16-bit image support, CMYK, Pantone’s special colours, and the latest “Do The Work For Me” filter.  Proprietary software is here, there’s no getting around it (note that I did not say “here to stay” – that would be presumptuous).

Still, the completely free distributions have a lot to offer.  GnewSense is based on Ubuntu, it just has any software or kernel modules that aren’t free stripped out and banned from the repositories.  BLAG is the same, but based on Fedora.

Even if you absolutely need your 3D graphics drivers, your Flashy websites, and the other proprietary blobs you have lying around on your system, it’s a good thing to have a look at the limitations and at least try and work around them.  Simply saying “it doesn’t work”, er…, doesn’t work.  It’s best to say why, how, and to somebody who can change things.

Stage 13 – Beyond Linux

Linux isn’t the only free UNIX-like operating system.  The code of Berkeley UNIX (from California University) was released as Free Software not long after GNU/Linux happened.  Actually, Berkeley UNIX has been kind of open source since 1977, but due to trademark, copyright, and other reasons, had trouble releasing it under a Free Software license.  They don’t call it UNIX (for the aforementioned reason), they just call it the Berkeley Software Distribution, or BSD.

There are a few flavours you can try, and FreeBSD is probably the most popular.  Because it has a more permissive license than GPL, code can be included in proprietary software without releasing the source.  For instance, the internet stack code has been used in MS Windows, and the kernel is an important part of Darwin, the free bits of OS X.  Their Secure Shell remote terminal software (openSSH) is everywhere, from Linux to OS X.

Also, ReactOS.  If GNU/Linux and FreeBSD are free software alternatives to UNIX, then ReactOS is the same for Windows NT (Which is 2000, XP, Vista, and 7).  Go and give these guys some love.  Or, better still, some money.  They’re finally prioritising their development funding, so expect some good things to come out in that area soon.  I think it’s incredibly exciting and really hope they make it.

Stage 14 – Back Home to Mint!

You might find that you prefer a Linux-Libre system, or a Gentoo install after you’ve been through this stuff.  Personally, I like that Mint does everything for you.  A ten minute install from LiveCD and everything’s set up.  Every distro has it’s advantages and disadvantages, but by creative distro-hopping and a grim determination to work with limitations, you can be comfortable in all areas of your Linux, whichever you end up using.

For me, I have a family computer.  That gets Mint.  I also have my own PC –  it runs Mint Debian Edition.  Then I have an ancient laptop with a Debian Net Installation.  A spare computer has a Peppermint OS (think Mint for old PC’s), and I try to dual-boot with other OS’s just to keep me fresh.  My partner’s web development PC is Windows 7, but she uses entirely Free Software on top of it (apart from the different browsers you need to have!).  Notepad++, Inkscape, Thunderbird, GIMP, XAMPP, and so on, and they all come in portable pen-drive versions so she’s never stuck!

If you’ve gone through the Linux From Scratch book (even if you failed and had to re-install Mint!), you’ll appreciate the complexity of your Linux install, and will probably have learned some shell scripting along the way, through setting up the more advanced distros.

This is a long and frustrating project.  You have to try to live with a particular distro for a while, to be able to set it up properly how you like, and by then it’s time to move on!  But at the end of it, you’ll have a good grounding in Linux, and will appreciate all the hard work that goes into making a distribution like Mint.

From here, you could relax and just get on with the rest of your life.  Alternatively, you could also learn more than just compiling – learning to program in Python or C will give you a huge boost.  Even if you’re just wanting to get on with your work as a writer, graphic designer or whatever, learning to write simple scripts for software like GIMP can increase your productivity immensely.  The very essence of computers is automating boring tasks you do over and over again, so give it a try, at least.

Of course, you could also get yourself a prototyping kit and some transistors, learning how to build yourself logic gates, adders, ALU’s and the likes from scratch.  This will give you an incredible insight into how computers work.  Grab a Raspberry Pi and relive the spirit of 80’s DIY programming on a modern machine with Internet (that fits in your hand and plugs into a TV).

Go Now, Understand Linux