Going Beyond Linux

Going Beyond Linux

Article from Issue 197/2017
Author(s):

We all love Linux, but there are many other free software operating systems out there that are worth exploring.

How many open source operating systems (OSs) can you name? GNU/Linux is obviously the first thing that comes to mind, and if you've been around in the FOSS world for a while you've probably come across (or even tried) one of the BSD flavors as well: FreeBSD, OpenBSD, and NetBSD. These are all Unix-like OSs, each with their own sets of strengths and benefits, but there's a whole world of other OSs out there. Many of them aren't well known right now and have smaller communities compared with Linux, but some hold plenty of potential and could become big names in a few years.

So over the next few pages, we'll look at what's going on in the "alternative OS" scene. Best of all, because these OSs are all free software and open source, you can try them out after you've read about them. If you have an old PC sitting around doing nothing useful, you can try running these OSs on real hardware – or you can simply install a PC emulator such as VirtualBox or Qemu on your main machine and take them for a spin.

ReactOS

Thanks to Wine, it's possible to run many Windows applications on Linux – at least, predominantly older applications, and often with a few glitches here and there. Wine does an impressive job of intercepting Windows system calls and rewiring them for their Linux equivalents; as a compatibility layer; however, it can only do so much. Instead of using this layer on top of an unrelated OS like Linux, wouldn't it make more sense to basically write a Windows clone from the ground up?

Well, that's what the team behind ReactOS [1] is trying to achieve. The project started in 1996 under the name FreeWin95, as an attempt to create a clone of Windows 95, but soon changed its name to ReactOS after the compatibility target was shifted to Windows NT. As with many FOSS projects, the early years were dominated by mailing list debates about design and implementation; not much real code was actually being written.

Indeed, it wasn't until ReactOS 0.2.0 in January 2004 that a usable version of the OS with a GUI was released. This was a major step forward for the project, and the ability to run a few (extremely simple) Windows applications won plenty of interest in the open source world. We remember trying it out at the time and being rather impressed – but also concerned about how Microsoft would respond. But more on that in a moment…

ReactOS is available as a live CD ISO image, so you can try it without installing. (Note: If you want to use it in VirtualBox, you'll need to tweak various settings as described in the wiki [2].) The OS boots up very swiftly and presents you with a desktop that look alarmingly similar to Windows 2000 (apart from the use of different icons). From here, it looks and feels very much like Windows of yesteryear and includes various common tools, such as a file manager, text editor, and registry editor (Figure 1). Although its appearance is rather retro, it's so much more polished than the 0.3.x releases we tried a few years ago.

Figure 1: Here's ReactOS running its WordPad equivalent and Windows Explorer-like file manager.

So the big question is: How's the compatibility? It's very much a mixed bag, and ReactOS uses a lot of Wine libraries, so if something doesn't work well under Wine, you probably won't have much luck here either. It's worth trying your favorite apps and games and checking the Wine compatibility database [3] for tips and suggestions, though (Figure 2). Ultimately, the Windows API is a massive beast – full of undocumented calls and bugs, and changing with each new release – so chasing it is hard work. The ReactOS team has done a stellar job, but full Windows compatibility will probably always be a dream rather than reality.

Figure 2: ReactOS can run various proprietary Windows apps like Foxit reader, but older apps work better.

What ReactOS really needs now is commercial backing. Look at the relationship between Wine and CrossOver, for example: The former is a totally free and open source project, while the latter is a commercial implementation backed by a company. That company (CodeWeavers) generates cash to hire developers and staff to support its commercial project, while contributing back to the upstream FOSS version (Wine). In the end, everyone wins, developers can put food on their tables, and we all get great new technology to play with.

So we'd love to see something similar happen with ReactOS. Many companies are still running hundreds or even thousands of PCs with old, unsupported versions of Windows. They don't want to upgrade to Windows 10 for various reasons (new hardware costs, compatibility issues, rampant spying in the OS), but ReactOS – if it had a commercial version with support contracts – could help them enormously. Indeed, it might make sense for a large company to sponsor ReactOS commercially to save costs "upgrading" to newer Windows releases, just like Sun Microsystems bought up StarOffice in 1999 because it was cheaper than installing Microsoft Office on 40,000+ PCs.

Of course, should ReactOS find commercial backing and more widespread popularity, there's the question: How would Microsoft respond? We've seen that Microsoft is taking steps to become more FOSS-friendly, at least superficially, so we don't think the company would simply try to shut down the ReactOS project overnight. But Microsoft's lawyers could potentially sow the seeds of doubt among potential ReactOS users (and customers), generating fear that the project could end up tangled up in legal issues, which would be enough to scare many companies away. Only time will tell.

Haiku

Whereas ReactOS is an attempt to clone Windows, Haiku uses BeOS as its inspiration. For those who've never heard of it, BeOS was a multimedia-centric OS that achieved limited popularity in the mid to late 1990s. Sporting SMP (multiprocessing support), pre-emptive multitasking, and a 64-bit journaling filesystem, BeOS certainly had its advantages over the reigning desktop OSs of the time, such as Windows 3.1/95 and classic Mac OS. Demo versions of BeOS were included on magazine cover discs – we remember being impressed by the ability to run multiple CPU-chomping applications simultaneously without the OS breaking into a sweat. Oh, and there was a nifty 3D teapot demo, as well.

So, what happened to BeOS? Ultimately, it failed to get any proper traction in the desktop market. Apple considered buying Be Inc., the company behind BeOS, to get a replacement for its aging OS (but ultimately went with NeXTSTEP and got Steve Jobs back as a result). In the early 2000s, Be Inc. took Microsoft to court, claiming that PC vendors had been strong-armed into shipping only Windows and no competing OSs. This case was eventually settled out of court; Be Inc. received $23 million from Microsoft, but the latter didn't have to admit any wrongdoing. And now, BeOS has faded into history.

Well, almost. As mentioned, Haiku [4] is an open source implementation of BeOS, and has been in development since 2001 (originally under the name OpenBeOS). Haiku aims to be both source and binary compatible with BeOS; source compatibility meaning that BeOS programs for which the source is available can be recompiled for Haiku with few changes, and binary compatibility meaning that original BeOS software can run flawlessly. This binary-compatibility requirement is causing development issues, though. Haiku needs to be built with an ancient version of GCC 2.95, released in 2001, although it's possible to compile the OS using a combined GCC 2/4 environment.

Haiku's last release – Alpha 4 – is now more than four years old and doesn't reflect the development activity in the project since then. So, to get the latest and greatest, it's worth getting a nightly release from the website [5]. Grab the "Anyboot" live CD ISO image and burn it to a CD-R for a real PC, or boot it up in VirtualBox or Qemu (Figure 3).

Figure 3: Haiku can be run in live mode from a CD or be installed directly to your hard drive.

Haiku starts up blazingly quickly. You're asked whether you want to install the OS to your hard drive or try out the desktop; choose the latter. You'll see straight away that Haiku's interface is rather spartan and minimal, with few graphical frills to woo you (Figure 4). In the top right corner, there's a leaf button, which opens up a Start-like menu for accessing programs and recent documents. Underneath that is a system-tray-esque area and then a list of running programs. If you find this horizontal design off-putting, click and drag the vertical dots in the system tray area to the top or bottom of the screen for a more familiar taskbar setup.

Figure 4: Haiku's desktop lacks wobbly windows and other shiny bits 'n' bobs, but it's elegant and fast.

Click the leaf button and try browsing the included programs; you'll see that there's a mail client, web browser, media player, and other common tools. Under the Demos submenu, you'll find some multimedia showcases such as the aforementioned 3D teapot – although it runs like a dog in emulators! If you're on a real PC, though, you should be able to see how snappy and responsive Haiku is, even under load.

Open up the terminal, and you may be surprised: Yes, it's Bash. But before you start treating it like a Linux or Unix system, bear in mind that Haiku (like BeOS) isn't a flavor of Unix and has its own design and filesystem layout. There are some similarities here and there, but Bash is included simply because it's a great shell, not because this is another wannabe Unix.

What does the future hold for Haiku? It's a shame that four years have passed since the last official alpha release, even though development is ongoing, and a small but dedicated team is beavering away to get R1 (1.0) out the door. Haiku's biggest problem, though, is the lack of native apps. Any Unix-like OS immediately has a wealth of software to run, and in the case of ReactOS, it has no shortage of potentially usable software as well.

There are ports of Linux/Unix apps to Haiku, but they often feel kludgy, and the OS needs modern, streamlined software that uses its API and features. Still, we're cautiously optimistic: If the Haiku team gets 1.0 released in the next 12 months, it could establish itself as a svelte and friendly desktop OS for low-spec machines, schools (e.g., web terminals), and other scenarios where you don't need the complexity of Linux or Windows, but just a clean and small desktop OS.

GNU Hurd

We're immensely grateful to the GNU project and Free Software Foundation for their contributions to the OS we use today – even though we rarely write GNU/Linux, opting for the shorter version in print. But as well as giving credit to GNU, the longer name also reminds us that Linux is technically just a kernel, and it's possible to run a GNU system with other kernels as well. Indeed, you can run the Debian GNU distro with a FreeBSD kernel in place of Linux [6] – although it's still rather experimental.

When Richard Stallman started his GNU project in the mid 1980s, he first worked on tools that could be used on other Unix-like OSs: a compiler, text editor, command-line tools, and so forth. Later, as the GNU project picked up pace, it started work on a kernel called Hurd, a doubly-recursive acronym: Hurd stands for Hird of Unix-Replacing Daemons, while Hird stands for Hurd of Interfaces Representing Depth. A nice geek joke, then, but not great for marketing purposes.

Anyway, Hurd's most prominent feature is that it's a microkernel, where many features are implemented as separate processes for maximum reliability. In the case of Linux, most features (hardware drivers, filesystem drivers, network protocols, etc.) run inside the kernel itself, so if one crashes, it can take down the whole system. With a microkernel like Hurd, though, many of those features run in their own process space, so they can be swapped out on the fly, and a crash won't necessarily break the entire OS. This sounds great, but there is a downside: Switching between all of these processes takes more CPU time than when everything is lumped together in a big standalone kernel (see the "Redox: Unix Written in Rust" box for another microkernel option).

Redox: Unix Written in Rust

Although Hurd is unlikely to have a dazzling future, Redox OS [8] is a microkernel-based OS that's worth keeping an eye on. It's a Unix-like operating system written in the Rust programming language [9] (Figure 5). Rust was created by some Mozilla developers as a C-like language with extra features for security and concurrency and is being used in the development of Servo, Mozilla's experimental web browser layout engine.

As with Hurd, drivers in Redox run in their own separate spaces for reliability. A simple GUI called "Orbital" is available, along with a compatibility library for programs written in C. Although it's still relatively early days for the project, and it's more of an experiment rather than a production-ready OS, we're really happy to see the core concepts of Unix being re-implemented with new technologies and languages.

Figure 5: Redox is still in the early days of development, but shows that a proper OS can be developed in the Rust language.

Partly because of this, and arguably because Linus Torvalds has been an excellent steward of the Linux kernel, Hurd has never taken off. You can run a Debian system with a Hurd kernel [7], but hardware support is very limited, and it's more of a tech demo than anything you'd want to use on a daily basis. Hurd may never become a serious competitor to Linux – and even Richard Stallman has admitted that it's not essential to focus developer effort on Hurd – but it's a fascinating part of Unix and FOSS history nonetheless. For more options, see the "Bring on the Clones" box.

Bring on the Clones

Name any popular piece of commercial, closed source software, and there's almost certainly a FOSS equivalent – even if it's in the very early stages of development. The same could be said about OSs: There's a FOSS clone of pretty much everything out there, although most of them see very little development activity or have been dormant for quite a while.

Take OS/2, for example, IBM's operating system that was once poised to budge Windows from the #1 slot on the desktop. OS/2 kind of lives on in the form of eComStation, but there's also a project to re-implement it as open source: osFree [10]. The goal here is to gradually replace all closed source components of OS/2 with open source equivalents, but although there were a few updates last year, development is still very slow.

Meanwhile, you may have heard of VMS or OpenVMS, a minicomputer-oriented OS originally from DEC that had its prime years in the late '70s and '80s. OpenVMS is still kicking around, albeit more in maintenance mode rather than as the OS we'll all be using tomorrow, and a FOSS project exists to recreate it as open source: FreeVMS [11]. Development appears to have stalled for a few years, but if you used to run VMS and know your way around it – and you fancy contributing to a FOSS project – maybe you can help!

Buy this article as PDF

Express-Checkout as PDF
Price $2.95
(incl. VAT)

Buy Linux Magazine

SINGLE ISSUES
 
SUBSCRIPTIONS
 
TABLET & SMARTPHONE APPS
Get it on Google Play

US / Canada

Get it on Google Play

UK / Australia

Related content

  • Free Software Projects

    Create virtual 3D worlds with Worldforge, and launch Windows programs with the Wine-derived ReactOS.

  • Exploring the Hurd

    The GNU project hasn't given up on the venerable Hurd project, and this long-running GNU Free OS project has recently received a burst of new energy with the release of a new Debian port.

  • Distro Walk – Haiku

    Haiku, an outgrowth of the proprietary BeOS, offers a cohesive open source operating system as an alternative to Linux.

  • Captive NTFS

    Why reboot every time you need to access data on the other side of your dual boot system? We’ll introduce you to Captive NTFS – a free tool for reaching Windows NTFS partitions from Linux. We’ll also show you some handy tools for reading Linux partitions from Windows.

  • Wine 1.2 Release Candidate Available

    The Windows compatibility layer adds new features, addresses bugs.

comments powered by Disqus
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters

Support Our Work

Linux Magazine content is made possible with support from readers like you. Please consider contributing when you’ve found an article to be beneficial.

Learn More

News