< Back to index

Haiku, formerly known as OpenBeOS, is an open source project dedicated to the re-creation and continuation of the Be Operating System on x86 and PowerPC based computers.

History



The development project began as "OpenBeOS" in 2001 following the purchase of Be by Palm, Inc. and the subsequent discontinuation of BeOS. This move left BeOS users without a viable upgrade path and BeOS developers with programs stranded on an unsupported platform. Although one of several projects with the aim of continuing the operating system, OpenBeOS differed from Cosmoe and Blue Eyed OS in that rather than take an existing Linux or BSD kernel and reimplement Be's APIs on top of it (which would break binary compatibility with BeOS R5 and significantly deviate from the original design), the project planned an almost complete rewrite of the system, maintaining both binary and source compatibility. This should allow any existing BeOS R5 programs to run on the new system without being recompiled.

In 2004 a new project name was chosen in order to avoid infringing on Palm's trademarks. The new name, decided by project leaders and influenced by an official community vote, was revealed at that year's WalterCon. The name "Haiku" intends to reflect the elegance and simplicity that attracted many to the BeOS platform, but is also a direct reference to the distinctive haiku error messages found in NetPositive, the default BeOS web browser, and many other Be applications.

The project is controlled by Haiku Incorporated, a New York based not-for-profit corporation.

Development



BeOS's modular design has enabled teams of volunteer programmers to work independently on replacements for individual servers and APIs (collectively known in Haiku as "kits"). These teams include:
* App/Interface - under which the Interface, App and Support kits fall;
* BFS - aimed at recreating the Be File System - this task is mostly complete with the resulting OpenBFS
* Game - developing the Game Kit and its APIs;
* Input Server - the server that handles input devices, such as keyboards and mice and how they communicate with other parts of the system;
* Kernel - working on the kernel, the core of the operating system;
* Media - developing the audio server and related APIs;
* MIDI - implementing the MIDI protocol;
* Network - in charge of writing drivers for network devices and APIs relating to networking;
* OpenGL - working on the OpenGL support;
* Preferences - recreating BeOS's preferences suite;
* Printing - working on the print servers and drivers for printers;
* Screen Saver - implementing screen saver functionality;
* Storage - developing the storage server and drivers for required filesystems;
* Translation - recreating the reading/writing/conversion modules for the different file formats;
A few kits have been deemed feature complete and the remainder are currently in various stages of development.

Haiku's kernel is a fork of NewOS, a modular kernel written by former Be engineer Travis Geiselbrecht and is currently under heavy development. Many features have been implemented, including a VFS layer and rudimentary SMP support.

Progress



A number of major milestones were achieved in a six week period during March to April 2005, such as the first graphical applications to run on Haiku itself (running with full 2D acceleration), and the first use of a web browser on Haiku (Links). Both of these were achieved without using any code or binaries belonging to Be, Inc., including the drivers used for the graphics and network card in the original examples. Another major milestone was reached in July 2005, with the system now capable of running the BeOS desktop shell, Tracker.

In October 2005, Axel Dörfler, one of the most prolific Haiku developers, became the first full-time paid Haiku developer, working via funds donated by the community. He worked on CD booting, SMP and other kernel and app_server work. Employment continued until December 2005, at which point the funds allocated ran out.

Work on the operating system continues to progress; Haiku is now at a stage where it is bootable and even semi-usable. Despite the progress made, there is still a lot of work to be done before a release can be made. Network and USB functionality is under heavy development, and the media_server also lags behind the other components. Additionally, Haiku is currently far from stable, with (as should be expected in its pre-release state) crashes being prevalent. In terms of a release, a date has yet to be set. As of January 2006, project developer Stephan Aßmus suggests that at the current level of development, R1 is at least a year away, if not two. [http://www.freelists.org/archives/openbeos/01-2006/msg00051.html]

In August 2006, Haiku celebrated its fifth anniversary. Development on the aforementioned network and USB stacks continues at a rapid pace, and as the two last major remaining pieces of the operating system, it is expected that once complete, Haiku will be suitable for day-to-day use by developers and testers. A new website, based on Drupal was launched. Additionally, a contest to find Haiku's default icon set was held. The winner was Stephan Aßmus's set, "stippi". Aßmus was also the developer responsible for Haiku's icon creation tool, Icon-O-Matic, and integrating Haiku's own format of scalable vector graphics, HVIF (Haiku Vector Icon Format) into the Deskbar and Tracker. A partial implementation of the set can be found in the latest builds. [http://haiku-os.org/node/280]

Compatibility with BeOS


Haiku aims to be compatible with BeOS at both the source and binary level, allowing software written and compiled for BeOS to compile and run without modification on Haiku. This would provide Haiku users with an instant library of applications to choose from (even programs whose developers were no longer in business or had no interest in updating them), in addition to allowing development of other applications to resume from where they had been terminated following the demise of Be, Inc. This dedication to compatibility also has its drawbacks though, with Haiku stuck using version 2.95 of the compiler GCC, which as of 2005, is essentially over 6 years old (although there have been minor point releases in the interval and Haiku does compile with the latest version of GCC, the drawback being the loss of compatibility). The second major release of Haiku, to be known as "R2", will break backwards compatibility.

Despite these attempts, compatibility with a number of system add-ons which use private APIs will not be implemented. These include additional filesystem drivers and media codec addons, although the only affected addons for BeOS R5 not easily re-implemented are Indeo 5 media decoders for which no specification exists.

R5 binary applications which run successfully under Haiku (as of May 2006) include (but are not limited to):

* Firefox
* Gnash
* NetPositive
* Quake II
* Quake III
* SeaMonkey
* TV-O-Rama
* Vision
* VLC Media Player
* [http://yellowbites.com/wonderbrush.html Wonderbrush]

Driver compatibility is incomplete, and unlikely to cover all kinds of BeOS drivers. 2D graphics drivers in general work exactly the same as on R5, as does network drivers. Audio drivers using API versions prior to BeOS R5 are as-yet unsupported, and unlikely to be so, however, R5-era drivers work.

Low-level device drivers, namely for storage devices and SCSI adapters will not be compatible. USB drivers for both the second (BeOS 5) and third (BeOS Dano/magnussoft ZETA) generation USB stacks will work, however.

Beyond R1



Although the first release of Haiku is yet to be completed, initial planning for R2 has already started through the "Glass Elevator" project (a reference to children's novel Charlie and the Great Glass Elevator. The only detail confirmed at this point is that it will switch to a current GCC release (that being v4.1.1, as of May 2006), breaking binary backwards compatibility, meaning unmaintained BeOS R5 applications will not run on Haiku's second major release. In terms of features, file indexing on par with Unix's Beagle, Google Desktop and Mac OS X's Spotlight, greater integration of scalable vector graphics into the desktop, proper support for multiple users and additional kits are all among those that have been suggested. [http://ge.blubinc.com/index.php/R2_Ideas]
This entry uses material from from Wikipedia, the leading user-contributed encyclopedia. It is licensed under the GNU Free Documentation License. Disclaimer.