Project History

Here is a list of important milestones along the history of the Haiku project. August 18, 2001: Project starts as OpenBeOS. This is the first OK, let's start message on the Haiku mailing list. April 2002: app_server prototype 5 was released. It was the first release that was able to render windows. June 2004: First WalterCon conference held in Columbus, Ohio. New project name Haiku is announced, and the new logo disclosed.

Haiku Movies

Here is a listing of Haiku movies on the web. Haiku Rocks - WalterCon 2006 promotional video by DarkWyrm YouTube BitTorrent (MPEG, 54MB) Haiku-files.org (MPEG, 54MB) Haiku Tech Talk at Google - February 13, 2007 by Axel Dörfler, Bruno G. Albuquerque and Michael Phipps YouTube Haiku-files.org (DivX, 195MB) Haiku presentation at NUMERICA #1, France - March 10, 2007 by François Revol Archive.org (DivX, 795MB) FalterCon 2007 - Haiku at Picn*x - August 11, 2007 by Michael Summers and Urias McCullough, edited and produced by Phil Greenway YouTube Haiku-files.

General FAQ

Frequently Asked Questions Here are some Frequently Asked Questions about Haiku. For development related topics, please check out the Development FAQ. Common Questions What is Haiku? Why isn’t it called HaikuOS? Where does the name Haiku come from? Is Haiku based on Linux? Why not Linux? Is Haiku then based on BeOS? I’ve never seen Haiku. What does it look like? Can I use Haiku as my primary Operating System?

Security

We take the security of our infrastructure and operating system seriously. Personal data is an important resource, and we want to ensure users can place their trust in Haiku. Haiku Infrastructure Our infrastructure contains sensitive personal user data, and we aggressively keep this information private on a need-to-know basis at all times. If you have discovered a vulnerability, CVE, or exploit that you believe puts user data at risk, please submit a detailed report to contact@haiku-inc.

Haiku Hybrids

What is a Haiku Hybrid? Haiku hybrid images are Haiku releases which can compile and execute programs built for incompatible ABIs. This may mean different architectures like x86-64 and x86, or different, incompatible compilers like gcc2.95 and gcc13.x for x86. Currently only the latter case is supported. gcc2.95 gives Haiku binary compatibility with native legacy applications written for the BeOS. In a Haiku Hybrid, there is the primary GCC or architecture and the secondary GCC or architecture.

Creating an OptionalPackage

With the introduction of package management, optional packages - and therefore this page - became obsolete. This page details the steps in creating an OptionalPackage. In addition to being a regular binary distribution archive, an OptionPackage includes a plain text file called .OptionalPackageDescription and possibly the license file. NOTE: With the recent incorporation of package management, OptionalPackages are obsolete. Haiku package files (HPKG) replace them. See PackageManagement/BuildingPackages and HaikuPorter / BuildRecipes for instructions on creating HPKG’s.

Mailing List Etiquette

As with many other FOSS mailing lists, we at Haiku hold ourselves to a few rules when posting to mailing lists. For now most of these are to ensure that all information is properly archived or to improve a message's readability. In the future this list may be expanded with additional detail. No Attachments Not only are attachments inconsiderate to low-bandwidth users, they fail to be preserved in the archives.

UserBuildConfig & BuildProfiles

In addition to configure options, UserBuildConfig is another, very powerful opportunity for customizing your build. As of changeset [29161], Haiku's build system supports two locations for UserBuildConfig: $(HAIKU_TOP)/build/jam/UserBuildConfig $(HAIKU_TOP) refers to the top level of your local copy of the Git tree. If you use an external object directory, the UserBuildConfig at this location will apply to all of them. $(HAIKU_OUTPUT_DIR)/UserBuildConfig Typically, $(HAIKU_OUTPUT_DIR) is $(HAIKU_TOP)/generated. However if you use an external object directory, then it UserBuildConfig is in that top-level directory.

Using Jam

Haiku uses a custom fork of Perforce's Jam. This mailing list thread helps to explain the decision to fork jam. As of August 2019, this is the current version. If a different version is reported, then you will need to build and install jam from source. jam -v Jam 2.5-haiku-20111222. OS=LINUX. Copyright 1993-2002 Christopher Seiwald. Command Line Options Only some of the options are being discussed here. See jam -h for a full listing of available options.

Building from a Non-Standard Object Directory

Like many other software projects, Haiku allows a user to run configure from a directory outside of the source tree. This will cause the build system to use that current directory as the target location for storing the output from compiling, otherwise known as objects. There are a few reasons for doing this. Multiple products, such as x86_gcc13, x86_gcc2, or arm can all be built from the same source tree, which reduces disk space usage.