Haiku (operating system)

Last updated

Haiku
Haiku (operating system) logo.svg
Haiku R1 Beta 3 desktop screenshot.png
Screenshot of Haiku (Beta 3)
Developer Community contributors and Haiku, Inc.
Written in C/C++
OS family BeOS
Working stateBeta
Source model Open source
Initial releaseFebruary 15, 2002;22 years ago (2002-02-15) [1]
Latest preview R1 Beta 4 / December 23, 2022;15 months ago (2022-12-23) [2]
Repository git.haiku-os.org/haiku/
Available in Multilingual
Update methodSoftware Updater and pkgman
Package manager hpkg
Platforms IA-32, x86-64, [3] [4] RISC-V [5] [6]
Kernel type Hybrid
Default
user interface
OpenTracker
License MIT License and Be Sample Code License
Official website haiku-os.org

Haiku, originally OpenBeOS, is a free and open-source operating system for personal computers. It is a community-driven continuation of BeOS and aims to be binary-compatible with it, but is largely a reimplementation with the exception of certain components like the Deskbar. [7] The Haiku project began in 2001, supported by the nonprofit Haiku Inc., and the operating system remains in beta. [8]

Contents

History and project

The OpenBeOS project began by Michael Phipps [9] on August 18, 2001, after the announcement of Palm, Inc. purchasing Be, Inc. marking the end of BeOS development, to support the BeOS user community by creating an open-source, backward-compatible replacement for BeOS. [10] Palm refused to license the BeOS code to a third-party, [11] meaning that OpenBeOS had to be reverse-engineered. [12] In 2003, Phipps founded the non-profit organization Haiku, Inc. in Rochester, New York, United States, to financially support development. [13]

In 2004, the project held its first North American developers' conference, WalterCon; [14] it was also announced on this day that OpenBeOS was renamed to Haiku [10] to avoid infringing on Palm's trademarks. [15] The BeUnited.org nonprofit organization, which promoted open standards for BeOS-compatible operating system projects, [16] announced that Haiku would be its "reference platform". [17] In February 2007, the project held a Tech Talk at Googleplex, attended by ex-Be engineers as well as Jean-Louis Gassée who voiced his support for the project. [18] [14] There is also an annual conference, BeGeistert, held in Germany since 1998 when BeOS was active. [19] [20]

Development

Apart from the graphical user interface (Tracker and Deskbar, which were open sourced with BeOS 5), Haiku is original software. [21] The modular design [22] 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.[ citation needed ]

The first project by OpenBeOS was a community-created "stop-gap" update for BeOS 5.0.3 in 2002, featuring open source replacement for some BeOS components. [23] The kernel of NewOS, for x86, Dreamcast (SuperH) and PowerPC, [24] was successfully forked that same year from which Haiku has been based on since. [25] The app_server window manager was completed in 2005. [26] In July 2006 Haiku developer Stephan Aßmus introduced Icon-O-Matic, an icon editor, and a storage format (HVIF) with a rendering engine based on Anti-Grain Geometry. [27] The PackageInstaller was created by Lukasz Zemczak at the 2007 Google Summer of Code. [28]

A pre-alpha build of Haiku from 2006, showing its then-codename Walter Haiku b17160.png
A pre-alpha build of Haiku from 2006, showing its then-codename Walter

Java support was eventually added by a team from BeUnited who had ported it to BeOS, [29] [30] followed by WLAN from the FreeBSD stack. [31] Alongside a port to GCC4, the first alpha release finally arrived followed seven years of development. [32] After the initial full BeOS 5 compatibility as target, a community poll was launched to redefine the future of Haiku beyond a free software refactoring of BeOS from the late 1990s, and decided to expand vision to supporting basic contemporary systems and protocols with more ambitious support for modern hardware, web standards and compatibility with FLOSS libraries. [33] On October 27, 2009, Haiku obtained Qt4 support. [34]

The WebPositive browser was first preloaded with Alpha2, replacing BeZillaBrowser. [35] After this, much time was spent on building a package management system, which went live in September 2013. [36] Beta1 arrived in 2018, and one of the most notable new features [37] was the PackageFS and package installation through the HaikuDepot and pkgman; Beta1 was the first official Haiku release to support full package management. [38]

Wine was first ported to Haiku in 2022. [21]

Release history

VersionRelease date OS name Architecture
Old version, no longer maintained: Haiku R1/Alpha12009-09-14 [39] hrev33109 IA-32
Old version, no longer maintained: Haiku R1/Alpha22010-05-10 [40] hrev36769
Old version, no longer maintained: Haiku R1/Alpha32011-06-20hrev42211
Old version, no longer maintained: Haiku R1/Alpha42012-11-11 [41] hrev44702 IA-32, X86-64
Old version, no longer maintained: Haiku R1/Beta12018-09-28hrev52295
Old version, no longer maintained: Haiku R1/Beta22020-06-09 [42] hrev54154
Old version, no longer maintained: Haiku R1/Beta32021-07-26 [43] hrev55182
Latest preview version of a future release: Haiku R1/Beta42022-12-23 [44] hrev56578 IA-32, X86-64, RISC-V
Legend:
Old version
Older version, still maintained
Latest version
Latest preview version
Future release

Architecture

Haiku Boot Loader (formerly BootMan) Haiku Boot Loader screenshot.png
Haiku Boot Loader (formerly BootMan)

As with BeOS, Haiku is written in C++ and provides an object-oriented API. [45] 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. [46] Many features have been implemented, including a virtual file system (VFS) layer and symmetric multiprocessing (SMP) support.[ citation needed ] It runs on 32-bit and 64-bit x86 processors, and recently has been ported to RISC-V; [47] there is also a port for ARM under development, but is currently far behind the x86 port. [48]

The application program interface (API) is based on that of BeOS, which is divided into a number of "kits" which collect related classes together and bear some relation to the library which contains the supporting code. In 2007, Access Co Ltd, the owners of Be, Inc's intellectual property, released the text of this (BeBook) under a Creative Commons licence. [49] [50] The boot loader is filesystem agnostic and can also chainload GRUB, LILO and NTLDR.[ citation needed ]

Since the Beta1 release, Haiku's memory management includes ASLR, DEP, and SMAP. [51]

A KDL (Kernel Debugging Land) screen, displaying a requested halt which causes Haiku to drop into the kernel debugger KDL 20200727 Kernel Debugging Land ScreenShot R1B2.png
A KDL (Kernel Debugging Land) screen, displaying a requested halt which causes Haiku to drop into the kernel debugger

Graphics operations and window management is handled by the app_server protocol. [52] VESA is used as a fallback video output mode. [53] Haiku is POSIX compatible and has translation layers for X11 and Wayland. [7]

User interface

The Deskbar Deskbar of the Haiku operating system.PNG
The Deskbar

The graphical user interface is formed of Tracker, a file manager, and the Deskbar, an always-on-top taskbar that is placed in the upper right corner of the screen containing a menu, tray, and a list of running programs. Tracker is an evolution from OpenTracker, which was released under a license with two addenda restricting the use of Be Inc. trademarks; [54] Zeta also modified OpenTracker on their own operating system. [55]

The icons in Haiku are named stippi and were designed by Stephan Aßmus. [56] Aßmus also created the Haiku Vector Icon Format (HVIF), a vector storage format to store icons in Haiku, and is aimed at fast rendering and small file sizes. [57]

Software

Package management is done by the graphical application HaikuDepot, and a command-line equivalent called pkgman. [58] Packages can also be activated by installing them from remote repositories with pkgman, or dropping them over a special packages directory. [58] 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.[ citation needed ]

It comes with a number of preloaded applications, such as a WebKit-based web browser WebPositive, a document reader BePDF, a simple web server PoorMan, text editors Pe and StyledEdit, an IRC client Vision, and a Bash-based terminal emulator Terminal. [59]

Compatibility with BeOS

Haiku R1 aims to be compatible with BeOS 5 at both the source and binary level, [60] allowing software written and compiled for BeOS to be compiled and run without modification on Haiku. [61] The 64-bit version of Haiku, however, does not have BeOS compatibility at the binary level, but the API still does. [61] Installation of these PKG format files are done using the PackageInstaller. [62]

Reception

In 2013 after the release of Haiku Alpha 4, Ars Technica reviewed the operating system and praised it for being fast, but ultimately stating that it "may not be much more than an interesting diversion, something to play with on a spare bit of hardware". [63] Haiku Beta 4 was reviewed by ZDNET in 2023 where it stated: "Haiku is for those who experienced either NeXT or AfterStep and want an operating system that looks and feels a bit old school but performs faster than any OS they've ever experienced." It further praised Haiku's kernel, file system, and object-oriented API. [45]

As of 2018, the Free Software Foundation has included Haiku in a list of non-endorsed operating systems because: "Haiku includes some software that you're not allowed to modify. It also includes nonfree firmware blobs." [64]

See also

Related Research Articles

<span class="mw-page-title-main">BeOS</span> Operating system for personal computers

BeOS is a discontinued operating system for personal computers that was developed by Be Inc. It was conceived for the company's BeBox personal computer which was released in 1995. BeOS was designed for multitasking, multithreading, and a graphical user interface. The OS was later sold to OEMs, retail, and directly to users; its last version was released as freeware.

Darwin is the core Unix operating system of macOS, iOS, watchOS, tvOS, iPadOS, visionOS, and bridgeOS. It previously existed as an independent open-source operating system, first released by Apple Inc. in 2000. It is composed of code derived from NeXTSTEP, FreeBSD, other BSD operating systems, Mach, and other free software projects' code, as well as code developed by Apple.

<span class="mw-page-title-main">Xfce</span> Desktop environment

Xfce or XFCE is a free and open-source desktop environment for Linux and other Unix-like operating systems.

<span class="mw-page-title-main">Gentoo Linux</span> Linux distribution

Gentoo Linux is a Linux distribution built using the Portage package management system. Unlike a binary software distribution, the source code is compiled locally according to the user's preferences and is often optimized for the specific type of computer. Precompiled binaries are available for some packages. Gentoo runs on a wide variety of processors, including x86, PowerPC, SPARC, DEC Alpha, ARM, MIPS and PA-RISC.

<span class="mw-page-title-main">Be Inc.</span> Former American computer company

Be Inc. was an American computer company that created and developed the BeOS and BeIA operating systems, and the BeBox personal computer. It was founded in 1990 by former Apple Computer executive Jean-Louis Gassée, who also served as the company's CEO, and was based in Menlo Park, California.

<span class="mw-page-title-main">SkyOS</span> Operating system

SkyOS is a discontinued prototype commercial, proprietary, graphical desktop operating system written for the x86 computer architecture. As of January 30, 2009 development was halted with no plans to resume its development. In August 2013, developer Robert Szeleney announced the release of a public beta on the SkyOS website. This allows public users to download a Live CD of the SkyOS operating system, for testing and to optionally install the system.

<span class="mw-page-title-main">Portage (software)</span> Gentoo package management system

Portage is a package management system originally created for and used by Gentoo Linux and also by ChromeOS, Calculate, Sabayon, and Funtoo Linux among others. Portage is based on the concept of ports collections. Gentoo is sometimes referred to as a meta-distribution due to the extreme flexibility of Portage, which makes it operating-system-independent. The Gentoo/Alt project was concerned with using Portage to manage other operating systems, such as BSDs, macOS and Solaris. The most notable of these implementations is the Gentoo/FreeBSD project.

<span class="mw-page-title-main">ReactOS</span> Free incomplete Windows NT-like operating system

ReactOS is a free and open-source operating system for amd64/i686 personal computers intended to be binary-compatible with computer programs and device drivers developed for Windows Server 2003 and later versions of Microsoft Windows. ReactOS has been noted as a potential open-source drop-in replacement for Windows and for its information on undocumented Windows APIs.

<span class="mw-page-title-main">FreeType</span> Software development library to render text onto bitmaps, and other font-related operations

FreeType is a software development library used to render text onto bitmaps, and which provides support for other font-related operations. The FreeType font rasterization engine is free and open-source software with the source code dual-licensed under a BSD-like license and the GPL. FreeType supports a number of font formats, including TrueType, Type 1, and OpenType.

<span class="mw-page-title-main">Arch Linux</span> Rolling release distribution of Linux

Arch Linux is an independently developed x86-64 general-purpose Linux distribution that strives to provide the latest stable versions of most software by following a rolling-release model. The default installation is intentionally minimal so that users can add only the packages they require.

ZETA, earlier yellowTAB ZETA, was an operating system formerly developed by yellowTAB of Germany based on the Be Operating System developed by Be Inc.; because of yellowTAB's insolvency, ZETA was later being developed by an independent team of which little was known, and distributed by magnussoft. As of February 28, 2007 the current and last version of ZETA was 1.5.

Technical variations of Linux distributions include support for different hardware devices and systems or software package configurations. Organizational differences may be motivated by historical reasons. Other criteria include security, including how quickly security upgrades are available; ease of package management; and number of packages available.

<span class="mw-page-title-main">NetSurf</span> Web browser

NetSurf is an open-source web browser which uses its own layout engine. Its design goal is to be lightweight and portable. NetSurf provides features including tabbed browsing, bookmarks and page thumbnailing.

<span class="mw-page-title-main">Gnash (software)</span> Media player for playing SWF files

Gnash is a media player for playing SWF files. Gnash is available both as a standalone player for desktop computers and embedded devices, as well as a plugin for the browsers still supporting NPAPI. It is part of the GNU Project and is a free and open-source alternative to Adobe Flash Player. It was developed from the gameswf project.

<span class="mw-page-title-main">FreeBSD</span> Free and open-source Unix-like operating system

FreeBSD is a free and open-source Unix-like operating system descended from the Berkeley Software Distribution (BSD). The first version of FreeBSD was released in 1993 developed from 386BSD and the current version runs on x86, ARM, PowerPC and RISC-V processors. The project is supported and promoted by the FreeBSD Foundation.

<span class="mw-page-title-main">AROS Research Operating System</span> Operating system

AROS Research Operating System is a free and open-source multi media centric implementation of the AmigaOS 3.1 application programming interface (API). Designed to be portable and flexible. As of 2021, ports are available for personal computers (PCs) based on x86 and PowerPC, in native and hosted flavors, with other architectures in development. In a show of full circle development, AROS has been ported to the Motorola 68000 series (m68k) based Amiga 1200, and there is also an ARM port for the Raspberry Pi series.

<span class="mw-page-title-main">OpenMandriva Lx</span> Independent Linux distribution

OpenMandriva Lx is a general-purpose Linux distribution maintained by the OpenMandriva Association for x86 (32/64-bit) and ARM computers. It is a community-supported continuation of Mandriva Linux, which was active from 1998 until 2011. OpenMandriva is offered in a stable release edition, and a rolling release edition named Rome. It uses the RPM Package Manager and uses KDE Plasma as its default desktop environment.

<span class="mw-page-title-main">Otter Browser</span> Free and open source web browser

Otter Browser is a cross-platform web browser that aims to recreate aspects of Opera 12.x using the Qt framework. Otter Browser is free and open-source software and is licensed under GPL-3.0-or-later. It works on Linux-based operating systems, FreeBSD, OpenBSD, macOS, Haiku, RISC OS, OS/2, and Windows platforms.

postmarketOS Free and open-source operating system for smartphones, based on Alpine Linux

postmarketOS is an operating system primarily for smartphones, based on the Alpine Linux distribution.

<span class="mw-page-title-main">AlmaLinux</span> Linux distribution based on Red Hat Enterprise Linux

AlmaLinux is a free and open source Linux distribution, developed by the AlmaLinux OS Foundation, a 501(c) organization, to provide a community-supported, production-grade enterprise operating system that is binary-compatible with Red Hat Enterprise Linux (RHEL). The name of the distribution comes from the word "alma", meaning "soul" in Spanish and other Latin languages. It was chosen to be a homage to the Linux community.

References

  1. "OpenBeOS Milestone: First Test Release – OSnews". www.osnews.com.
  2. "Haiku R1/beta4 has been released!". Haiku Project. December 23, 2022. Retrieved December 23, 2022.
  3. "x86_64 port: final report". August 28, 2012.
  4. "Haiku OS Ported To 64-bit, Picks Up OpenJDK Support". Phoronix.
  5. "Booting our RISC-V images". Haiku Project. November 7, 2021. Retrieved March 4, 2023.
  6. "Haiku Port Status". Haiku Project. Retrieved March 4, 2023.
  7. 1 2 Proven, Liam (January 11, 2023). "Fourth beta of BeOS rebuild Haiku is out". The Register. Retrieved November 24, 2023.
  8. "Haiku R1 Beta 3 Released As Spiritual Successor To BeOS". www.phoronix.com. July 26, 2021. Retrieved November 24, 2023.
  9. "The History Channel: 2003 Interview with Michael Phipps". Haiku Project. November 28, 2009. Retrieved November 26, 2023.
  10. 1 2 "Haiku Operating System". www.operating-system.org. Retrieved November 26, 2023.
  11. Orlowski, Andrew. "Palm scuppers BeOS co-op hopes". The Register. Retrieved November 24, 2023.
  12. Thibodeau, Patrick (September 15, 2003). "Microsoft Agrees to Settle Suit by Former Rival Be". Computerworld. Retrieved November 26, 2023.
  13. "About Haiku, Inc. - Haiku, Inc". www.haiku-inc.org. Retrieved November 26, 2023.
  14. 1 2 "Project History". Haiku Project. Retrieved November 26, 2023.
  15. "OpenBeOS Becomes Haiku – OSnews". www.osnews.com.
  16. "yellowTAB and beunited.org co-operate on Java Port – OSnews". www.osnews.com. Retrieved November 26, 2023.
  17. "beunited.org - Open Standards BeOS-compatible Operating Systems". July 11, 2004. Archived from the original on July 11, 2004. Retrieved November 26, 2023.
  18. "'Haiku Tech Talk At Google a Success' – OSnews". www.osnews.com. Retrieved November 26, 2023.
  19. Haiku Support Association (2014). "BeGeistert". Retrieved on October 24, 2014.
  20. HPS (2000-10-06). "BeOS Fans machen Dampf" (BeOS fans go for it). Heise online. (in German)
  21. 1 2 Proven, Liam (January 10, 2022). "BeOS rebuild Haiku has a new feature that runs Windows apps". The Register. Retrieved November 26, 2023.
  22. Chapnik, Ruji (December 31, 2012). "Haiku: BeOS for the 21st Century". Make Tech Easier. Retrieved September 29, 2015.
  23. Ryan (May 11, 2006). "Blog Archive » OpenBeOS First Release". BeGroovy. Archived from the original on May 11, 2006. Retrieved November 27, 2023.
  24. pavroo (May 2, 2023). "NewOS". ArchiveOS. Retrieved November 26, 2023.
  25. "OpenBeOS-NewOS Fork Complete – OSnews". www.osnews.com. Retrieved November 26, 2023.
  26. "beunited.org - Open Standards BeOS-compatible Operating Systems". July 27, 2005. Archived from the original on July 27, 2005. Retrieved November 26, 2023.
  27. "[openbeos] Icon Artwork - openbeos - FreeLists".
  28. "IsComputerOn - Another Haiku Student Blogs: Package Installer". October 3, 2007. Archived from the original on October 3, 2007. Retrieved November 27, 2023.
  29. "beunited.org - Open Standards BeOS-compatible Operating Systems - how the system developed". www.beunited.org. Retrieved November 26, 2023.
  30. "New Java for Haiku Team Formed". Haiku Project. January 3, 2008. Retrieved November 26, 2023.
  31. "WiFi stack prototype works". July 14, 2009. Archived from the original on February 21, 2010. Retrieved February 20, 2010.
  32. "Haiku Alpha 1 available now: BeOS lovers of the world rejoice". Engadget. September 16, 2009. Retrieved November 26, 2023.
  33. Pearce, Rohan (September 7, 2018). "Beta release nears for BeOS-inspired open source OS Haiku". Computerworld. Retrieved October 21, 2020.
  34. "Qt4 Ported to Haiku, Developer Preview Release Available". October 27, 2009.
  35. "Release Notes | Haiku Project". July 16, 2010. Archived from the original on July 16, 2010. Retrieved November 27, 2023.
  36. "Package Management Goes Live". Haiku Project. September 27, 2013. Retrieved November 26, 2023.
  37. "R1/beta1 – Release Notes". Haiku Project. Retrieved May 22, 2021.
  38. "Haiku R1/beta1 review - revisiting BeOS, 18 years after its latest official release". The No Title® Tech Blog. October 17, 2018. Retrieved November 27, 2023.
  39. "Haiku Project Announces Availability of Haiku R1/Alpha 1". September 14, 2009.
  40. "Haiku Project Announces Availability of Haiku R1/Alpha 2". May 10, 2010. Archived from the original on March 14, 2014.
  41. "Haiku Release 1 Alpha 4". Haiku Project. November 12, 2012.
  42. Larabel, Michael (June 9, 2020). "Haiku R1 Beta 2 "Open-Source BeOS" Operating System Released". Phoronix . Retrieved November 15, 2021.
  43. Larabel, Michael (July 26, 2021). "Haiku R1 Beta 3 Released As Spiritual Successor To BeOS". Phoronix . Retrieved November 15, 2021.
  44. "Haiku R1/beta4 has been released!". December 23, 2022. Retrieved December 23, 2022.
  45. 1 2 "Haiku is an open-source operating system for those who miss NeXTStep". ZDNET. Retrieved November 26, 2023.
  46. "Google Fuchsia | Operating system projects". os-projects.eu. Retrieved November 26, 2023.
  47. Lunduke, Bryan (May 8, 2023). "Haiku makes huge progress on RISC-V support". The Lunduke Journal of Technology. Retrieved November 26, 2023.
  48. "Compiling Haiku for Arm". Haiku Project. Retrieved November 26, 2023.
  49. "ACCESS Co. Releases BeBook and Be Newsletters". Haiku Project. April 3, 2007. Retrieved November 27, 2023.
  50. "The Be Book". www.haiku-os.org. Retrieved November 27, 2023.
  51. "Haiku R1/beta1". Tweakers (in Dutch). Retrieved November 27, 2023.
  52. "Division of Labor: Kits, Libraries, Servers, and Teams". Haiku Project. Retrieved November 27, 2023.
  53. "Screen". www.haiku-os.org. Retrieved November 27, 2023.
  54. "Open Tracker License, revision 1.1.1.1". Be Inc. September 21, 2001. Retrieved August 10, 2011.
  55. "WORLD EXCLUSIVE: First Look at YellowTAB's Zeta – OSnews". www.osnews.com. Retrieved November 27, 2023.
  56. "Haiku®'s Icons - Haiku, Inc". www.haiku-inc.org. Retrieved November 27, 2023.
  57. "Why Haiku Vector Icons are So Small".
  58. 1 2 "Package Management Infrastructure — Haiku internals documentation". www.haiku-os.org. Retrieved November 26, 2023.
  59. Wallen, Jack (October 19, 2018). "To BeOS or not to BeOS, that is the Haiku". Linux.com. Retrieved November 26, 2023.
  60. "The Haiku Book: Application Level API Incompatibilities with BeOS". www.haiku-os.org. Retrieved November 26, 2023.
  61. 1 2 "General FAQ". Haiku Project. Retrieved November 26, 2023.
  62. "LegacyPackageInstaller". www.haiku-os.org. Retrieved November 27, 2023.
  63. Reimer, Jeremy (January 8, 2013). "1998's most intriguing OS, 15 years later: Hands-on with Haiku alpha 4". Ars Technica. Retrieved November 26, 2023.
  64. "Explaining Why We Don't Endorse Other Systems". Free Software Foundation. Archived from the original on April 2, 2018.