BeOS Lives: Haiku Impresses

Back when it was becoming clear that the time of the BeOS had come and gone, enthusiasts immediately set up the OpenBeOS project, an attempt to recreate the Be operating system from scratch, using a MIT-like license. The project faced difficult odds, and numerous times progress seemed quite slow. Still, persistence pays off, and the first alpha release is drawing ever closer. We decided to take a look at where Haiku currently stands.

The Be operating system and the myths surrounding the scene have always intrigued me. I’ve used BeOS for a long time, and I still consider it to be the best operating system ever made – when put in perspective, of course. Windows was still crashing and burning every three seconds, and the Mac OS didn’t even have memory protection. All in all, the state of the mainstream operating system was abysmal. However, there came the BeOS, descending from heaven while riding a chariot of fire, pulled by magnificent stallions – and all was good. Sure, it didn’t do multiuser (but neither did Windows and the Mac), and it was terribly afraid of anything having to do with networking and the internet, but who cared?

It was lightning fast, very stable, easy to use, and for the first time, it was an operating system that made sense. Installing an application or a driver amounted to little more than dragging and dropping a file/directory in place. It had an instant-search system based on metadata that could be used to perform all sorts of tedious tasks other operating systems (still!) need separate programs for. But most of all, the BeOS had something that no other operating system ever had: personality. BeOS felt alive. If you weren’t part of the BeOS crowd back in the day (and I was pretty late to the game too, 2000 or 2001), then it’s pretty hard to understand what is meant by a piece of software having a personality.

We’re in 2009 now, and the Haiku project has come a long way. Many were sceptical about the project’s chances at success, but they developed onwards anyway. Now that the alpha release is getting ever closer, it also becomes more apparent that the Haiku team has some very big shoes to fill. BeOS fans are a picky, whiny bunch.

Does it work?

Haiku works. Actually, it works so well, it makes you wonder why they haven’t declared the project alpha already, and why they haven’t put out a nice .iso image for everyone to enjoy. There are a number of reasons for this, but first, let me focus on the things that Haiku already does well.

Haiku boots in an instant, just what we BeOS fans have come to expect from our little pet operating system. The same row of icons still serves as the boot screen for Haiku, and hardcore BeOS fans will know what the icons mean and what happens during each blinking icon in the boot process. Whether or not Haiku employs the same boot order is something I actually don’t know. Still, it’s a “feast of recognition” for BeOS fans.


Haiku

The current pre-alpha builds boot into a desktop that is instantly recognisable by any BeOS user. Sure, the icon set looks more modern, and Haiku has anti-aliased fonts, but for the rest it’s pretty much r5 all over again. There is a big hint, however, that we’re dealing with an operating system that is in heavy development, and not by any means ready for general consumption: Haiku loads a terminal window by default. Welcome to the Haiku shell, it says.

You can choose to work with the ‘vanilla’ Haiku image or build, or opt for the ‘pre-alpha’ build which includes a number of applications within the disk image. With r5 compatibility being one of the pillars of the Haiku project, getting applications to run is paramount. In any case, Haiku runs important applications like Firefox without a hitch, and the same applies to BePDF, Wonderbrush, StyledEdit, VLC, Vision, and many more. Stability seems very good application-wise; I haven’t encountered an application crash yet.

That’s all fine and dandy, but how well is the operating system itself doing? Sadly, most of my testing is done in a virtual machine (more on that in a minute), so I have little to say about how well Haiku runs on real-world hardware – reports from developers and users in #haiku, however, indicate that stability is excellent, with a number of developers using Haiku full-time. Not only for development, but also for day-to-day usage. In any case, in my VMwae virtual machine Haiku has never crashed. I’ve had multiple applications running, and have yet to encounter any problem. My most memorable experience so far was clicking on a PDF link in Vision, which automatically launched Firefox, which downloaded the PDF file and launched BePDF. This just goes to show how solid Haiku already is.

Problems

Still, there are problems. The biggest problem I’ve encountered so far are the difficulties concerning installing Haiku on real hardware. Even though the installer is working just fine, the DriveSetup [the partitioner] is not. All it can do at this point is initialise an existing partition as BFS; it can’t create, delete, or move partitions. This means you will have to create one by other means first. The installer also does not make the partition bootable; you will have to run the makebootable command from within Haiku first.

This is where I ran into problems. I used dd to turn an USB stick into a bootable Haiku installation, but for some reason, getting it to boot was a process ruled by chance. Sometimes it worked, sometimes it didn’t. I had Haiku installed on a partition, but was never able to get as far as to run makebootable from the Haiku system running off the USB stick. This might very well be my own fault, since many Haiku developers manage just fine this way.


Haiku

In order for Haiku to be proclaimed “alpha”, I strongly advise the team to make sure the installation procedure is fully functional, so that aspiring users do not run into any walls when trying to install Haiku. Back in the BeOS heydays, operating system enthusiasts weren’t put off by some hard labour – but in this day and age of virtual machines and ridiculously easy-to-install Linux distributions, alternative OS projects cannot afford any install problems.

There is also a list of bugs that the developers want to have fixed before they want to move Haiku to alpha status.

The other side of the spectrum

When KDE 4.0 hit the streets, many complained it wasn’t ready, and that it should have never been released as a final release. The reason KDE 4.0 was released as-is had to do with the KDE team wanting to attract enough users so more bugs could be found; they wanted to avoid being in eternal beta. Sometimes, I get the feeling the Haiku guys are in danger of reaching the other side of the spectrum KDE 4.0 was on: eternal alpha.

During my short tests and my time in #haiku it became clear that Haiku is pretty much ready to go alpha – installation problems aside. In fact, some Haiku developers personally believe Haiku should move to alpha as well, and I find it hard to disagree with them. Still, I understand their hesitance; the project is burdened by huge expectations, and they want to avoid failure at all costs. Still, at one point, you have to let your baby make its first steps without holding its hands. Sure, it’ll topple over some times, but it will only learn from that.

Haiku is ready to move to alpha. Sure, it’s not ready to take over the world and feed your cat, but it sure is ready to be labeled as alpha. Exciting times ahead, boys and girls: BeOS will be back.

GCC 4

As many Haiku community members know, one major hurdle that has been making it difficult to port new software to Haiku has been the lack of an up-to-date GCC4 compiler. While a GCC 4.1.2 cross-compiler has been available now for some time, cross-compiling software for a GCC4-built Haiku can be painful and frustrating. What Haiku really needed was a native GCC4 toolchain to run on a GCC4-built Haiku install. It has one now.

85 Comments

  1. 2009-02-10 7:15 pm
  2. 2009-02-10 7:25 pm
  3. 2009-02-10 7:41 pm
    • 2009-02-12 5:39 pm
      • 2009-02-12 10:02 pm
      • 2009-02-13 6:33 pm
        • 2009-02-13 8:22 pm
  4. 2009-02-10 7:43 pm
    • 2009-02-10 8:48 pm
      • 2009-02-10 8:51 pm
        • 2009-02-10 10:12 pm
          • 2009-02-10 10:15 pm
          • 2009-02-11 9:21 am
          • 2009-02-11 1:40 pm
        • 2009-02-12 12:47 am
      • 2009-02-10 11:46 pm
  5. 2009-02-10 8:00 pm
    • 2009-02-10 8:29 pm
    • 2009-02-10 9:24 pm
      • 2009-02-10 10:42 pm
        • 2009-02-10 11:01 pm
      • 2009-02-12 5:59 pm
  6. 2009-02-10 8:06 pm
    • 2009-02-10 8:47 pm
  7. 2009-02-10 8:16 pm
  8. 2009-02-10 8:22 pm
  9. 2009-02-10 8:36 pm
    • 2009-02-12 12:41 am
      • 2009-02-12 7:55 am
        • 2009-02-13 4:23 pm
  10. 2009-02-10 9:27 pm
    • 2009-02-10 11:51 pm
  11. 2009-02-10 9:36 pm
    • 2009-02-10 9:57 pm
      • 2009-02-10 10:31 pm
  12. 2009-02-10 10:00 pm
  13. 2009-02-10 10:10 pm
    • 2009-02-10 10:46 pm
    • 2009-02-11 2:07 pm
    • 2009-02-11 4:02 pm
  14. 2009-02-10 11:23 pm
  15. 2009-02-10 11:49 pm
    • 2009-02-11 6:09 pm
      • 2009-02-11 6:39 pm
  16. 2009-02-11 1:45 am
  17. 2009-02-11 6:09 am
  18. 2009-02-11 8:14 am
    • 2009-02-11 2:28 pm
  19. 2009-02-11 8:57 am
  20. 2009-02-11 10:44 am
  21. 2009-02-11 10:59 am
  22. 2009-02-11 11:23 am
  23. 2009-02-11 12:17 pm
    • 2009-02-11 1:05 pm
    • 2009-02-11 1:19 pm
      • 2009-02-11 1:28 pm
        • 2009-02-11 2:34 pm
        • 2009-02-12 2:22 am
        • 2009-02-12 6:37 am
        • 2009-02-12 11:30 am
      • 2009-02-11 1:31 pm
      • 2009-02-11 2:33 pm
        • 2009-02-11 2:45 pm
      • 2009-02-11 6:12 pm
    • 2009-02-11 1:22 pm
    • 2009-02-11 1:55 pm
      • 2009-02-11 2:39 pm
    • 2009-02-11 2:33 pm
    • 2009-02-11 7:42 pm
      • 2009-02-12 5:03 pm
        • 2009-02-12 5:24 pm
    • 2009-02-11 8:51 pm
  24. 2009-02-11 3:20 pm
    • 2009-02-11 4:13 pm
  25. 2009-02-11 3:48 pm
  26. 2009-02-11 6:14 pm
  27. 2009-02-11 6:59 pm
  28. 2009-02-12 9:26 am
  29. 2009-02-12 5:44 pm
    • 2009-02-13 7:18 am
  30. 2009-02-12 7:50 pm
  31. 2009-02-14 8:07 pm