At the Southern California Linux Expo this past weekend, Google engineer and open-source software developer Bruno de Albuquerque gave a presentation about Haiku, a project devoted to creating an open-source clone of BeOS.

When desktop computing was first beginning its rapid climb towards ubiquity, a little company called Be developed what its users believed was one of the best desktop operating systems of its time. BeOS featured a unique modular microkernel, a revolutionary 64-bit journaling filesystem with database-like indexing and querying capabilities, support for preemptive multitasking, pervasive multithreading, and unrivaled clarity of design. Unfortunately, BeOS never gained mainstream traction and faded into obscurity.

The Haiku project, which began shortly after the death of BeOS in 2001, aims to bring together the technical advantages of BeOS and the freedom of open source. The project has drawn dozens of contributors who have written over seven million lines of code. Although Haiku is nearly feature-complete, there are still numerous bugs that must be fixed before it is ready for day-to-day use.

The design principles behind Haiku are very closely aligned with those of BeOS. The central goal of the Haiku project is to create an operating system that is ideally suited for use on the desktop—this differs significantly from Linux and other open-source operating systems which are intended for use in a diverse range of settings including server and embedded environments. The focus on desktop performance means that Haiku is designed from the ground up for optimal responsiveness. "Our priority is to make a very good desktop OS," said de Albuquerque. "It's very close to what BeOS was, and we have already improved over it."

Indeed, Haiku closely mimics BeOS in virtually every respect and supports complete binary compatibility with BeOS R5, the last major revision of the operating system. Haiku also improves on BeOS in several ways. Haiku's network performance is better, for instance, because the networking functionality is integrated directly into the kernel rather than running in userspace as it did in BeOS. Haiku also offers a source-level FreeBSD network driver compatibility layer, which means that it can support any network hardware that will work on FreeBSD. Haiku also includes support for modern hardware, better filesystem performance, and support for vector icons. Haiku has also improved POSIX compatibility in order to simplify the process of porting applications to the platform.

Haiku is developed in C++ and provides a powerful object-oriented API. According to de Albuquerque, C++ is "the best option for writing an OS today, because it has the best balance of performance and readability."

The main components of the platform are being developed as isolated kits, which include the media system, networking, preferences, storage, applications, and others. These kits are all at varying levels of completion, but continue to evolve at a decent pace. Haiku will come with its own web browser, says de Albuquerque, and it will utilize the lightweight WebKit rendering engine used by Safari. The Haiku developers are also working closely with the OpenJDK project to bring reliable Java support to the operating system.

Haiku build images are generated nightly and are available in several formats. I generally test Haiku with the VMware builds. Like BeOS, Haiku boots in only a few seconds and has a very small footprint. The uncompressed test images are only about 60MB. Haiku's code base is distributed under the permissive MIT license because the developers want to encourage corporate involvement and believe that permissive licensing creates a healthier relationship with commercial industry.

During my own tests, I have found that Haiku is already very close to being a full replacement for the BeOS I knew and loved. There are still very evident problems with stability, and I regularly encounter application crashes, but I have only seen the operating system itself crash twice during my recent experiments. I also tested a few standard third-party BeOS applications. Firefox will run on Haiku, but still has some serious rendering glitches and crashes often.

As an open source enthusiast and former BeOS zealot, I'm very excited to see Haiku reach this level of usability. I look forward to the day when it is a viable operating system for day-to-day use, and, when it achieves the requisite level of hardware compatibility, I fully intend to install it on my Eee PC, where Haiku's extreme responsiveness and fast boot time will be of significant value. Although Haiku and its technologies aren't quite as relevant today in the face of more modern and advanced operating systems, many of the traditional advantages of BeOS that are present in Haiku still have value today in some contexts.