The name BeOS is one which tends to evoke either sighs of nostalgia or blank stares, mostly determined by one’s knowledge of the 1990s operating system scene. Originally released in 1995 by Be Inc., it was featured primarily on the company’s PowerPC-based BeBox computers, as well as being pitched to potential customers including Apple, who was looking for a replacement for MacOS. By then running on both PowerPC and x86-based systems, BeOS remained one of those niche operating systems which even the free Personal Edition (PE) of BeOS Release 5 from 1998 could not change.
As one of the many who downloaded BeOS R5 PE and installed it on a Windows system to have a poke at it, I found it to be a visually charming and quite functional OS, but saw no urgent need to use it instead of Windows 98 SE or 2000. This would appear to have been the general response from the public, as no BeOS revival ensued. Yet even as BeOS floundered and Be Inc. got bought up, sold off and dissected for its parts, a group of fans who wanted to see BeOS live on decided to make their own version. First called OpenBeOS and now Haiku, it’s a fascinating look at a multimedia-centric desktop OS that feels both very 1990s, but also very modern.
With the recent release of the R1 Beta 5 much has been improved, which raises the interesting question of how close Haiku is to becoming a serious desktop OS contender.
Writing A Haiku
Although some parts of BeOS (e.g. Tracker and Deskbar UI components) were open sourced with BeOS R5, for the most part the code of the Haiku project has been written from scratch. What helped a lot here was that even beyond the modular hybrid kernel the entire architecture of BeOS focused on modularity, allowing these developers in the early 2000s to gradually create new components to replace the proprietary ones in BeOS while testing them for regressions and bugs.
Even so, it took until September 2009 for the first Alpha release to be published, following eight years of intensive work. The first Beta came nine years later, at the end of September 2018, by which time support for x86_64 systems had also been added. This created an interesting inflection point, as only the 32-bit x86 version is fully binary compatible with BeOS R5, while the 64-bit version merely has compatible APIs. Unless you intend to run proprietary BeOS software this is probably not much of a concern, of course.
Currently, the Haiku project describes the OS as an ‘easy to use and lean open source operating system’, rather than limiting itself to being merely a way to run 1990s BeOS applications. The implications of this are covered in the general FAQ on the Haiku website along with a whole range of other common questions. The tl;dr is that while Haiku grew out of BeOS, its focus is mostly on maintaining BeOS’s unified vision for the desktop OS experience, which is why merely putting another skin around the Linux kernel would not have worked.
This drive to keep Haiku as a spiritual successor to BeOS can be seen in this and many other aspects, from its general appearance, to the name. Within BeOS the use of haiku (Japanese short-form poetry) was quite common, in particular in its NetPositive web browser error messages, such as:
Sites you are seeking
From your path they are fleeing
Their winter has come.
So What Does It Do?
Inevitably, when someone is confronted with Yet Another Open Source OS (YAOSO), the first question that comes to mind is what it does that another OS does not. After all, there are so many hobby OSes out there, all too often merely written to promote one’s pet language like Zig, Dart, NodeJS, Rust, D or another collection of letters that may or may not be infuriating to search for on the Internet. All of these OSes will tend to have a GUI, a file & internet browser, maybe someone has ported Tux Racer and some other bits of Linux userland, but with less functionality than the average Linux distribution these OS projects mostly spend a lot of time coming to terms with being less relevant than BeOS R5 and OS/2 Warp still are in the 2020s.
Here Haiku of course is a far cry from a hobby OS. Its kernel is inspired by the NewOS kernel, written by a former Be Inc. employee, it uses C++ and even GCC 2.x in places for that BeOS compatibility, but for new code you will be using a current C++ toolchain. You find the same GUI-centric user interface as BeOS had, though in the Terminal application you quickly find that it’s as familiar as any Linux or BSD shell, a pattern which persists in its POSIX compatibility. Meanwhile the overall user experience feels familiar to both old-school BeOS users and the average Windows user.
Although this is decidedly a personal matter, Haiku for me is a breath of fresh air compared to Yet Another Linux Distro (YALD) in the user interface consistency and the sheer snappiness. Booting Haiku takes seconds before you’re on the desktop, and the whole experience is that of a nimble single-user desktop system, rather like something such as Windows 98, except even faster and less crash-y. As for what it does when you’re on the desktop, it of course has the usual assortment of web browsers, office applications, multimedia players and editors, but as said earlier all of that is rather beside the point when the real question is whether you can use it as a daily driver.
This was also the point of a recent video by the Action Retro channel on YouTube, in which Haiku as a daily driver OS is attempted and found to be working quite well, even with video hardware acceleration in the Beta 4 release not implemented yet. My own experiences this year with Beta 4 and 5 mostly confirm this take, albeit mostly from the experience of a software developer doing some serious application porting.
Basically, how badly does Haiku break when you try to use it as a serious OS and port FFmpeg and Qt5-based applications to it?
No YALD, Just Haiku
While I am not sure how enthusiastic I am about swapping the Windows-style taskbar (incidentally replicated by most Linux GUIs) for the BeOS-style Deskbar, or the BeOS window decorations, you do get used to these differences. To get started with porting software you ideally use the pkgman
package manager, which is reminiscent of FreeBSD’s pkg (and ports, incidentally). As I found out earlier this year when I ported my FFmpeg-based NymphCast project to Haiku, the OS is a lot closer to FreeBSD than Linux in many respects, including its file stat handling. This means no hacky lstat64()
as on 64-bit dirty Linux platforms.
The whole string of dependencies required by the NymphCast project were all present and easily installed with pkgman
, with the next challenge being that Haiku does not follow the Linux or BSD filesystem conventions. This is not unexpected, as it’s a desktop OS with absolutely no need to pretend that it dates back to an era when PDP-8s roamed the Earth. Instead it’s a multimedia-focused OS from the 1990s, with a filesystem that has a lot of added meta-data features, and a layout for installed applications and development files that is mostly non-confusing.
The only real showstoppers that I came across during the porting of NymphCast was a lack of IPv6 support in Haiku, and stability issues in Beta 4, but switching to Beta 5 (nightly) and improving IPv6 handling in my code fixed this. Running through the compilation and installation procedure again on Beta 5 recently, I encountered no stability issues, just an issue (#6400) in the SDL2 package for Haiku that makes SDL2-based applications still somewhat of a no-go until the responsible hack gets fixed, at least from how I understand the issue.
For fun, I also tried building the Qt5-based NymphCast Player client in Haiku R1 Beta 5, which succeeded with absolutely zero issues. This application ran fine, connected to NymphCast server and media server instances running elsewhere on the network just fine, allowing me to control them as I would have on any other OS. How perfectly boring.
Is It Boring Enough?
In the question of whether an OS can be a daily driver I feel that there’s a lot being implied. When I consider my own OS preferences, having used MS-DOS, Win3.x, Win9x, Win2k, etc., as well as desktop Linux since SuSE Linux 6.3 in ’99, the BSDs, OS X and MacOS (post-OS X), I feel strongly that a good daily driver OS is one that is so utterly boring and Just Works™ that you spend as little time as possible thinking about the OS, while maximizing the time you are productive, have fun playing games, being online, and so on.
Windows has become more and more boring in this regard until Windows 7, when it began to tailspin with Windows 8 and is with Windows 11 less functional than Windows 3.11, or Windows 9x during the delightful winmodem days. Similarly OS X/MacOS decided to lock down the OS with its rootless ‘feature’, among other unpopular decisions with power users and developers. Combined with the many bugs in MacOS (e.g. in its printer spool that existed since at least 10.4), I was happy to move to Windows 10, which is only infuriating due to the horrid Flat Design Language and completely unnecessary Settings app.
Although 1998 was supposed to be the Year of the Linux Desktop, the fact remains that Linux as a desktop OS is not boring, but a constant exercise in troubleshooting the window manager, desktop environment, audio subsystem, a kernel module that vanished after a kernel upgrade, an uncooperative driver, hunting down a non-existent driver for a new WiFi dongle and so on. This is why I use Linux on an almost daily basis, but run a Windows desktop system.
When it pertains to Haiku, I feel that there’s some real potential for it to become as boring as Windows 2000, or even Windows XP or 7. I will be using Haiku more the coming months and likely years as it matures towards Release 1, along with ReactOS and similar open source OSes that strive to provide the user with the most boring and pleasantly unremarkable desktop experience possible.
It’s been a while since I used BeOS; the first time from a CD included with a magazine, a runnable demo, that ran even better if you cloned the CD filesystem to a HD…(ran completely unlike a demo at that point).
It was, for me, always a toy though, I didn’t spend a huge amount of time in it, it was never quite complete although it was quite capable. (This includes an upgrade to 5).
I ran OS/2 as my daily driver though; I can’t imaging running Windows 98 instead. BeOS would be a step up from that easily.
http://www.bedope.com/stories/0122.html
Link to article where beos developers (myself included) complained the company behind CueCat wouldn’t show us respect.
Are there any open source CueCat type plans or hardware that can be built? That seemed like a neat tool.
It really wasn’t. The Cue:Cat was a terrible barcode reader (I still have a few in a box!). Modern smartphones can read barcodes far better than the C:C ever could.
You can get an LS-4208 scanner from eBay for about twelve dollars.
I’ve installed Haiku with Virtual Box and played with it. It is much more functional and farther along than the guys doing the ReactOS project. Too bad ReactOS never really seemed to have moved forward as fast.
It would be nice for something like Haiku if they can some printer/scanner drivers and such up and running. I recall in the past that some Linux distros had a ‘wrapper’ where it would use the Windows drivers to work though I don’t even know if that is still done.
I do like Linux Mint since it reminds me a lot of Windows XP which worked just fine without all the news frames and other nonsense since then.
Well, Haiku supports a lot of printers / scanners already.
Surprised Haiku OS didn’t shift focus to getting it on the Raspberry Pi, it could have made itself a niche market as an alt platform in general.
There is some intrest, but the arm64 port isn’t complete yet.
*aarch64
You can drag the tracker down to the bottom of the screen… at which point it goes flat and turns into a classic Windows-style task bar. I’d definitely recommend giving Haiku a look. The command line environment is a very pleasant Posix experience, and most terminal-based Unix software Just Works, and the desktop is a thoroughly usable old-school experience which perfectly balances the familiarity of the traditional Windows-like GUIs with modern UI design that’s easy to use.
The biggest issue for me is that while the OS is really nice to use, in order to get real work done, you need a web browser. There are some, but IMO they’re not ready for daily driving; they’re all a bit lacking in features and fragile, and they’re all huge. It doesn’t matter if the OS is lean and fast if the web browser is a multi-gigabyte behemoth (and won’t load all the modern dynamic websites that I depend on to get stuff done).
Thanks for that tip about the tracker. That’s definitely something which can make the experience a bit smoother for newbies coming in from the average Linux or Windows desktop.
As for browsers, I fear that ship has mostly sailed at this point. The relentless pace of WWW bloating has meant that you can have a small & nimble web browser, but it will fail to render many sites properly, and likely struggle with anything containing JavaScript. Maybe Netsurf is good enough for most tasks, though?
No, Haiku has plenty of functional Web browsers.
There is WebPositive, the native browser using WebKit, there is Falkon and a slew of others based on QTWebEngine, and most recently, Firefox has been ported.
Sounds like operating systems need to be written around the web browser then. Microsoft’s Netscape fear coming true.
There is even hardware made around webbrowsers, see Chromebooks ;)
I really liked BeOS 5 and was amazed how fast it ran on my Pentium PC back then, hopefully Haiku has better Wi-fi driver support than the version I tried a few years back.
It really needs a good quality native word processor and browser to be a realistic proposition though
On 32-bit Haiku, you can use GoBe Productive.
For browsers, refer to this comment: https://hackaday.com/2024/10/30/haiku-oss-beta-5-release-brings-us-into-a-new-beos-era/#comment-8056527
What apps are available, eg word processor
I fiddled around with BeOS way back and though it had potential. I’ve still got my BeOS T-shirt :)
If it ran on Rasp Pi that would be a bonus. I’ll look forward to that.