Plan 9: You're weird, but I like you

Sliding back in the direction of vaguely Unix-like OSes, we come to Plan 9 from Bell Labs. This is what the creators of Unix went on to do next. Plan 9 extends Unix's everything-is-a-file notion to include network transparency. It's Unix Version 2: a distributed, grid-oriented OS. Compared to modern Unix, it's also very minimal and lightweight.

Plan 9 is... weird, and has almost no applications - but it shows a future direction for Unix-like OSes

Plan 9 itself has a successor, as well: Inferno. This also abstracts away the CPU architecture, using a VM ("Dis", comparable to the JVM but reaching right down into the OS's kernel) and a special type-safe portable programming language: Limbo. Inferno not only runs on native hardware but as a VM inside web browsers, thus bringing other operating systems into its grid.

And if minimal Unix-like OSes are your thing...

When Linus Torvalds originally announced his new Linux kernel on Usenet, he commented that it "won't be big and professional like gnu" – meaning the HURD, the GNU Project's ambitious Unix-compatible microkernel.

Well today Linux is very big and professional, whereas the HURD is still far from finished and probably never will be. However, if you'd like to experiment with an alternate future, one that never happened, there's a HURD-based Debian release.

Today, the most famous "microkernel" OS is Mac OS X, the core of which is itself FOSS in the form of Darwin. OS X cheats, though, by including the bulk of the FreeBSD kernel as a "Unix server" inside its not-very-micro-any-more Mach-based XNU kernel. But there are actual microkernel OSes out there. BlackBerry's QNX is one, but although there are freeware developer editions for the PC, it's not open source.

QNX's demo version comes complete with apps and an IDE.

It isn't the only option, though.

Back when Linux was first announced, there was a notorious discussion after a notable academic specialising in OS design, Dr Andrew Tanenbaum, decried the brand-new kernel as obsolete because it wasn't a microkernel. Linux itself had been bootstrapped using Minix, a very simple, portable, model OS designed by Prof Tanenbaum for teaching purposes. Eventually, to show that his theories were sound, the good professor rewrote Minix as a native x86-32 microkernel system. Minix 3 is very unlike the earlier versions and includes significant amounts of code from NetBSD to provide core Unix functionality.

Minix's old-school twm desktop - but it's a complete

FOSS microkernel OS. (click to enlarge)

Unix all a bit too much? Hanker for simpler times, when mastery of the PC meant hand-tuning CONFIG.SYS and AUTOEXEC.BAT? Before Caldera went insane and ate its own children, it acquired and then open-sourced DR-DOS, the original alternative DOS for PCs – and although it later changed its mind, the code is still out there. There's also a ground-up rewrite, FreeDOS, which sports a choice of GUIs, including another Digital Research product that's now open source: the GEM Desktop.

If even DOS is too big, there are even some minimalist x86 OSes written in assembly language. Perhaps the most directly useful is VisOpSys, which is the basis of the Partition Logic disk management tool. Somewhat more versatile are MenuetOS and its fork KolibriOS.

Going off in the opposite direction is Squeak, a complete Smalltalk-based environment. Normally this runs under a host OS, but it qualifies here due to SqueakNOS – a project to run the Squeak environment directly on the PC hardware.

And perhaps even more way-out than Squeak were the Lisp Machines – some say the greatest ever programmer's environment. Well, if you can find a copy of OpenGenera, the last-ever Lisp Machine OS, then it's possible to run it under x86-64 Linux. Perhaps that might inspire you to help develop the core of a Lisp environment for x86, too.

Twenty-five different PC operating systems to play with that are quite unlike anything else, eighteen of them free and open source. Why go outside and risk skin cancer when there are so many toys to play with over the summer? ®