Haiku (operating system)


Haiku is a free and open-source operating system compatible with the now discontinued BeOS. Its development began in 2001, and the operating system became self-hosting in 2008. The first alpha release was made in September 2009, and the last was November 2012; the first beta was released in September 2018 and the second beta was released in June 2020.
Haiku is supported by Haiku, Inc., a non-profit organization based in Rochester, New York, United States, founded in 2003 by former project leader Michael Phipps.
As of the June 2018 monthly activity report, Haiku developers had ported LibreOffice.

History

Haiku began as the OpenBeOS project in 2001, the same year that Be, Inc. was bought by Palm, Inc. and BeOS development was discontinued. The focus of the project was to support the BeOS user community by creating an open-source, backward-compatible replacement for BeOS. The first project by OpenBeOS was a community-created "stop-gap" update for BeOS 5.0.3 in 2002. In 2003, the non-profit organization Haiku, Inc. was registered in Rochester, New York, to financially support development, and in 2004, after a notification of infringement of Palm's trademark of the BeOS name was sent to OpenBeOS, the project was renamed Haiku.
It wasn't until September, 2009 that Haiku reached its first milestone with the release of Haiku R1/Alpha 1. Then in November, 2012 the R1/Alpha 4.1 was released, while work continued on nightly builds. On September 28, 2018, the Haiku R1/Beta 1 was released. On June 9, 2020, Haiku R1/Beta 2 was released.
, nightly builds continue to be released.

Technology

Haiku is written in C++ and provides an object-oriented API.
The modular design of BeOS allowed individual components of Haiku to initially be developed in teams in relative isolation, in many cases developing them as replacements for the BeOS components prior to the completion of other parts of the operating system. The original teams developing these components, including both servers and APIs, included:
A few kits have been deemed feature complete and the rest are in various stages of development.
The Haiku kernel is a modular hybrid kernel which began as a fork of NewOS, a modular monokernel written by former Be Inc. engineer Travis Geiselbrecht. Like the rest of the system, it is currently still under heavy development. Many features have been implemented, including a virtual file system layer and symmetric multiprocessing support.

Package management

, Haiku includes a package management system called "Haiku Depot", enabling software to be compiled into dependency-tracking compressed packages. Packages can also be activated by installing them from remote repositories with pkgman, or dropping them over a special packages directory. Haiku package management mounts activated packages over a read-only system directory. The Haiku package management system performs dependency solving with libsolv from the openSUSE project.

Compatibility with BeOS

Haiku R1 aims to be compatible with BeOS at both the source and binary level, allowing software written and compiled for BeOS to be compiled and run without modification on Haiku. This provides Haiku users with an instant library of applications to choose from, in addition to allowing development of applications to resume from where they had been terminated following the demise of Be, Inc.
This dedication to compatibility has its drawbacks though — requiring Haiku to use a forked version of the GCC compiler, based on version 2.95, released in 2001, which is now years old. Switching to the newer version 7 of GCC breaks compatibility with BeOS software; therefore Haiku supports being built as a hybrid GCC7/GCC2 environment. This allows the system to run both GCC version 2 and version 7 binaries at the same time. The changes done to GCC 2.95 for Haiku include wide characters support and backport of fixes from GCC 3 and later.
This compatibility applies to 32-bit x86 systems only. The PowerPC version of BeOS R5 is not supported. As a consequence, the ARM, 68k, 64-bit x86 and PPC ports of Haiku use only the GCC version 7 compiler.
Despite these attempts, compatibility with a number of system add-ons that use private APIs will not be implemented. These include additional filesystem drivers and media codec add-ons, although the only affected add-ons for BeOS R5 not easily re-implemented are those for Indeo 5 media decoders, for which no specification exists.
R5 binary applications that run successfully under Haiku include: Opera, Firefox, NetPositive, Quake II, Quake III, SeaMonkey, Vision and VLC.
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 do network drivers. Moreover, Haiku offers a source-level FreeBSD network driver compatibility layer, which means that it can support any network hardware that will work on FreeBSD. 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 those for storage devices and SCSI adapters, will not be compatible. USB drivers for both the second- and third- generation USB stacks will work, however.
In some other aspects, Haiku is already more advanced than BeOS. For example, the interface kit allows the use of a layout system to automatically place widgets in windows, while on BeOS the developer had to specify the exact position of each widget by hand. This allows for GUIs that will render correctly with any font size and makes localization of applications much easier, as a longer string in a translated language will make the widget grow, instead of being partly invisible if the widget size were fixed.

Beyond R1

Initial planning for R2 has started through the "Glass Elevator" project. The only detail confirmed so far is that it will switch to a current GCC release.
A compatibility layer is planned that will allow applications developed for Haiku R1 to run on Haiku R2 and later. This was mentioned in a discussion on the Haiku mailing list by one of the lead developers, Axel Dörfler. Suggested new features include file indexing on par with Unix's Beagle, Google Desktop and macOS's Spotlight, greater integration of scalable vector graphics into the desktop, proper support for multiple users, and additional kits.

System requirements

Jesse Smith from DistroWatch Weekly reviewed Haiku OS in 2010:
Rebecca Chapnik wrote a review of Haiku OS for MakeTechEasier.com in 2012.
Dedoimedo.com reviewed Haiku Alpha 4 in September 2013.
Jeremy Reimer wrote a review for Ars Technica in 2013. His review of Haiku Alpha 4 mentions that:
Jesse Smith reviewed Haiku OS again in 2016.
As of 2018, the FSF has included Haiku in a list of non-endorsed operating systems. They state the reason being because, "Haiku includes some software that you're not allowed to modify. It also includes nonfree firmware blobs."