Haiku beta 4: BeOS rebuild / almost ready for release / A thing of beauty
Open source reimplementation could be even better than the original in its prime
Haiku is an open source OS with a few differences.
The big one is that even though it has some Unix-like cornerstones, it isn't an orthodox Unix experience.
The next is that it's pretty close to being a realistic, usable alternative OS for ordinary, everyday use.
The Haiku Project has released a new beta version of its unique desktop OS. After the project was founded in 2001, it took 17 years to get to Beta 1 in September 2018. Writing a whole new OS is a big project. Since then, though, progress seems to have sped up, and Beta 4, out a few weeks ago, is shaping up well. The new version supports HiDPI displays, image thumbnails in the file manager, and has significantly improved Wi-Fi support, including via some USB Wi-Fi adapters, and support for the 802.11n and 802.11ac standards – which puts it ahead of even FreeBSD.
The new version also has improved subsystems and supporting libraries, enabling non-native applications to be ported from Linux, FreeBSD and OpenBSD. It has translation layers for both X11 and Wayland, as well as for Gtk apps, alongside the WINE support it gained this time last year. This means a number of new apps, including the GNOME Web browser Epiphany, a full graphical version of Emacs, updated POSIX layer, WINE, and more.
This version is built with GCC, but which version of GCC depends on which edition of Haiku you choose. There are both 32-bit and 64-bit versions. The x86-32 edition is still built with an ancient version of GCC, because it remains binary-compatible with the final x86-32 versions of BeOS. If the Haiku developers move to a newer GCC, that will break backwards compatibility. At some point, though, the x86-32 version will probably go away. The 64-bit version is built with GCC 11 and ran flawlessly on an old BIOS-based ThinkPad and in VirtualBox.
It's still a beta so don't expect perfect stability. In testing, we didn't experience a single crash, and we installed quite a few apps from HaikuDepot, which is Haiku's equivalent to the "Software Store" in many Linux distros. Some apps just wouldn't launch, though, complaining about missing APIs. Just for reference, this article was written on Haiku itself, on the bare metal of an old ThinkPad W500, using a Markdown editor called Ghostwriter.
Even on this old Core 2 Duo laptop, with 8GB of RAM and a rotating hard disk, Haiku installed without a hitch, and it ran smoothly and quickly. It took a few goes to connect to Wi-Fi, but once it did, it was quick and easy to update it. Scrolling in the WebPositive browser flickers quite severely, but it works – even for complex web apps such as Gmail.
By way of a disclaimer, we probably should say that, back in the 1990s, this vulture adored BeOS (other all-time favorites were Acorn's RISC OS, and Psion's EPOC and EPOC32). BeOS was clean, elegant, and breathtakingly fast. However, it had a few issues: it was an alternative OS from a small company, and as such, it had little in the way of third-party support. So as much as I loved it, I didn't actually use it for much because there weren't many apps, and those that existed were commercial and cost money.
Now, Haiku is not BeOS. BeOS was proprietary code, which got bought by a Japanese company and disappeared (but before Be went under, the company released the BeOS desktop, "Tracker", as FOSS). Haiku is the open source reimplementation of BeOS. The Haiku team recreated it, from scratch, but working from the original documentation – and using the original desktop, if pretty much nothing else. And because it's FOSS, these days it has a good selection of FOSS apps so it's more use than BeOS was, even in its prime.
Unfortunately, BeOS was pretty obscure, and so is Haiku. However, it's a safe bet that as a Reg reader, you have at least some familiarity with Unix and Linux. So I hope it will be helpful to describe this relatively little-known OS in terms of some much more famous ones.
The relationship between Haiku and BeOS is quite similar to the one between Linux and the original AT&T Unix. A lot of characteristics apply to both the pairings. If I were to call Linux "NewOS" and the original, proprietary, long-gone AT&T Unix "OldOS", then I could say:
NewOS is not based on the original OldOS code-base, but it was deliberately designed and built to be very similar. NewOS is written in the same programming language as OldOS was. Although it's a totally independent project, NewOS was designed to closely follow the design of OldOS, and to work in much the same way. As a result, while a small number of OldOS programs will run directly on NewOS, you can just take the source code of an OldOS app and recompile it for NewOS. Most of the time, it will just work. In fact, a couple of standard components of NewOS are the self-same OldOS programs, which have been updated to run on NewOS, so if you were used to working on OldOS, you can pick up NewOS and be immediately familiar with it.
OldOS was widely used in academic and research circles, but back when it was current it wasn't mainstream and users of mainstream personal computers found it a bit weird and intimidating. However, these days, NewOS has been modernized. It's much bigger than OldOS was, and as a result it's a bit slower, but – partly because it's FOSS – it's got way more drivers and apps than OldOS ever did. That means that while OldOS mostly ran on exotic, expensive hardware, NewOS works fairly well on ordinary, generic modern computers.
Everything about "OldOS" applies equally to AT&T Unix and to BeOS, and everything about NewOS applies to both Linux and to Haiku. In fact, the "NewOS" name itself was the original name for the Haiku kernel.
The differences are equally important, though, and some of Haiku's peculiarities make more sense if you understand the historical context from which it comes. Be Inc was founded in 1991 by Jean-Louis Gassee, former head of the Macintosh project at Apple. Originally the OS for the company's own computer, the BeBox, a 1995 dual-PowerPC machine, BeOS was intended to be a clean, legacy-free OS for the 1990s, embracing new tech such as symmetrical multiprocessing, multimedia, and the still quite new C++ programming language.
- New software sells new hardware – but a threat to that symbiosis is coming
- Fancy a quick tour of DragonFly BSD 6.4?
- Debian-based siduction gains snapshots, new recovery tools and more
- Calculate Linux: It's like Gentoo, but for businesses
BeOS was not a Unix nor even particularly Unix-like, at least to users. Many of its influences reflect its founder's involvement with the Mac at Apple – but significantly, this is the era of the classic Mac, and the influences are from Classic MacOS, not from the 21st century, Unix-based Mac OS X. So, while Unix was (and largely still is) a text-mode OS for a multiuser minicomputer, written in C and accessed by a text terminal, BeOS is a graphical OS for a single-user workstation.
This means that Haiku has a distinct feel of Classic MacOS. Drive icons live directly on the desktop, and you navigate through disks using multiple folder windows. It doesn't have Windows 95-style two-pane Explorer windows, with the folder tree in the left pane and the contents of the currently selected one in the right pane. Even though most Linux desktops have that now, it's a Windowsism that wasn't invented until after BeOS came out. The default modifier key is Alt: Alt+C to copy, Alt+V to paste, etc. That's weird by PC standards, but on PC keyboards, Alt is located where Cmd is on Mac keyboards, so it's in the position that Mac users would expect. Thankfully, you can change it easily.
Be's troubled history meant that at first it made its own computers, then it ported its OS to run on PowerMacs, and then – because Apple was actively trying to obstruct this – to generic PC hardware, which meant that BeOS picked up some PC characteristics. The Tracker desktop has a vertical "deskbar" at the top right corner, but if you move it to the bottom of the screen, it becomes much more obvious that this was inspired by the Windows 95 taskbar, complete with a Start menu, buttons for apps, and a system tray with a clock. It's a slightly odd blend of Classic MacOS and classic late-1990s Windows, but it works well – if you know your way around those now-vintage OSes.
A non-Unix FOSS operating system
Today, people using and working with FOSS OSes tend to expect them to be Unix-like, simply because most of them are (all right, except FreeDOS). This is just because it's mainly the FOSS recreations of Unix which have thrived: Linux, the BSDs, even more niche projects such as Minix 3 or the GNU HURD, are all, deep down, forms of Unix. Most of the projects to recreate anything else – for example, the efforts to clone DEC's VMS, or IBM's OS/2, or even the ReactOS clone of Windows – haven't got very far. Unix, on the other hand, is very modular, and Linux in particular leans very heavily on the pre-existing GNU project, which provided most of the text-mode bits apart from the kernel.
Haiku has some Unix-y features. It has split kernel and user modes with threads and processes and
fork() and a familiar file management. It supports POSIX down to the kernel level plus its own extra system calls. You can create more than one user and login as them via SSH.
That said, you can't boot Haiku into text mode. It's not a server OS, and isn't trying to be.
While it supports multiple users, it doesn't scream a multiuser OS experience: it boots straight into the desktop, with no login screen or anything, as the root or administrator user. Like a smartphone, it's your computer, so it trusts you to know what you're doing and not break it.
But it is a modern FOSS OS, and as a multitasking OS with memory protection, it resembles a Unix enough that it's been easy to port a lot of modern FOSS Unix apps to it. Ghostwriter started out as a KDE app, for instance, but on Haiku it looks and feels just like any other Haiku app.
The Reg FOSS desk has occasionally installed Haiku and taken it for a spin for many years now, but beta 4 feels closer to ready than ever before. Performance is good, including the Wi-Fi connection. It's hard to tell with such a long interval, but around the turn of the century BeOS felt like a revelation, making a gigahertz-class PC feel powerful in a way no other x86 OS ever did. Haiku doesn't feel quite as snappy as that, but even so, it's substantially more responsive than any Linux distro we've ever seen. Apps open in a flash, and only accessing complex websites gave away that we were using a 2008 laptop.
What can you do with it?
People happy with mainstream OSes often ask what's the point of running niche, experimental ones. "What can you do with it?" is a common question. Well, if you were, say, trying out 9front, the answer has to be: not much. You can't surf the web, for instance. Haiku can. You can choose from several reasonably modern WebKit-based browsers, read and answer your email, use various chat services, watch movies, listen to music, and choose from thousands of apps on HaikuDepot. This isn't some strange academic tool for programmers: it's a general-purpose desktop OS.
If you have any specific proprietary app in mind, forget it: you probably can't get it (although you might be able to install the Windows version under WINE). It's not much use for committed gamers. It's no plug-in replacement for Windows (or macOS) on a corporate workstation. But it is already more useful than BeOS ever was, and you can tell that it's getting nearly ready for release.
When the project gets to 1.0, it will probably receive a lot more attention, and that is probably going to lead to a lot of disappointed people and unfair criticism. Haiku, like BeOS before it, isn't what we'd normally cite as an example of a traditional Unix environment.
If you actively like Unix, and what you want to do already works well on Unix – any Unix, and that includes macOS, as well as Linux and FreeBSD – then you probably won't see much appeal here.
But as a desktop OS Haiku is smaller and cleaner and faster than Linux, let alone Windows. It's much, much easier to get going than any BSD, it's more versatile and modern than AROS, and it runs on inexpensive generic hardware unlike MorphOS. It's a shame there's no native version for the Raspberry Pi 4 – it would fit well there.
Compared to the fastest Pi OS, RISC OS, Haiku is much more modern and mainstream: it has a far more conventional UI, and good support for multiple processors and wireless networking, both of which RISC OS still lacks.
Beta 4 really is getting there, and we can't wait to try the final version. We hope that this is the beginning of something as big as Be deserved. ®
Editor's note: We opened a can of worms with this is-it-isn't-it-a-Unix discussion. At least some Haiku developers say it is a Unix due to supporting all the usual good stuff associated with Unix: processes, forking, POSIX and its file management, etc. If you think it's a Unix, good for you, you're entitled to that view. In our opinion, even though the OS has this Unix-level functionality, the user experience shouts old-school single-user personal desktop OS to us. And that ain't a criticism.