Software:Haiku (operating system)

From HandWiki
Short description: Computer operating system
Haiku
Haiku (operating system) logo.svg
Haiku R1 Beta 3 desktop screenshot.png
Screenshot of Haiku (Beta 3)
DeveloperCommunity contributors and Haiku, Inc.
Written inC/C++
OS familyBeOS
Working stateBeta
Source modelOpen source
Initial releaseFebruary 15, 2002; 22 years ago (2002-02-15)[1]
|Final preview|Latest preview}}R1 Beta 4 / December 23, 2022; 18 months ago (2022-12-23)[2]
Repositorygit.haiku-os.org/haiku/
Available inMultilingual
Update methodSoftware Updater and pkgman
Package managerhpkg
PlatformsIA-32, x86-64,[3][4] RISC-V[5][6]
Kernel typeHybrid
Default user interfaceOpenTracker
LicenseMIT License and Be Sample Code License
Official websitehaiku-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]

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

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

Version Release date OS name Architecture
Haiku R1/Alpha1 2009-09-14[39] hrev33109 IA-32
Haiku R1/Alpha2 2010-05-10[40] hrev36769
Haiku R1/Alpha3 2011-06-20 hrev42211
Haiku R1/Alpha4 2012-11-11[41] hrev44702 IA-32, X86-64
Haiku R1/Beta1 2018-09-28 hrev52295
Haiku R1/Beta2 2020-06-09[42] hrev54154
Haiku R1/Beta3 2021-07-26[43] hrev55182
Haiku R1/Beta4 2022-12-23[44] hrev56578 IA-32, X86-64, RISC-V
{{{2}}}

Architecture

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 "serious" kernel error 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.[54]

User interface

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;[55] Zeta also modified OpenTracker on their own operating system.[56]

The icons in Haiku are named stippi and were designed by Stephan Aßmus.[57] 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.[58]

Software

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

Compatibility with BeOS

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

BeOS R5 binary applications that run on Haiku include Opera, Firefox, NetPositive, Quake II, Quake III, SeaMonkey, Vision, and VLC.[citation needed]

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".[64] 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."[65]

See also

References

  1. "OpenBeOS Milestone: First Test Release – OSnews". https://www.osnews.com/story/663/openbeos-milestone-first-test-release/. 
  2. "Haiku R1/beta4 has been released!" (in en). Haiku Project. December 23, 2022. https://www.haiku-os.org/news/2022-12-23_haiku_r1_beta4/. 
  3. "x86_64 port: final report". August 28, 2012. https://www.haiku-os.org/blog/xyzzy/2012-08-28_x86_64_port_final_report. 
  4. "Haiku OS Ported To 64-bit, Picks Up OpenJDK Support". http://www.phoronix.com/scan.php?page=news_item&px=MTE3MDI. 
  5. "Booting our RISC-V images" (in en). November 7, 2021. https://www.haiku-os.org/blog/kallisti5/2021-11-07_booting_our_risc-v_images/. 
  6. "Haiku Port Status" (in en). https://www.haiku-os.org/guides/building/port_status/. 
  7. Proven, Liam. "Fourth beta of BeOS rebuild Haiku is out" (in en). https://www.theregister.com/2023/01/11/haiku_beta_4/. 
  8. "Haiku R1 Beta 3 Released As Spiritual Successor To BeOS" (in en). July 26, 2021. https://www.phoronix.com/news/Haiku-R1-Beta-3. 
  9. "The History Channel: 2003 Interview with Michael Phipps" (in en). 2009-11-28. https://www.haiku-os.org/blog/koki/2009-11-28_history_channel_2003_interview_michael_phipps/. 
  10. 10.0 10.1 "Haiku Operating System". https://www.operating-system.org/betriebssystem/_english/bs-haiku.htm. 
  11. Orlowski, Andrew. "Palm scuppers BeOS co-op hopes" (in en). https://www.theregister.com/2002/01/15/palm_scuppers_beos_coop_hopes/. 
  12. Thibodeau, Patrick (2003-09-15). "Microsoft Agrees to Settle Suit by Former Rival Be" (in en). https://www.computerworld.com/article/2572937/microsoft-agrees-to-settle-suit-by-former-rival-be.html. 
  13. "About Haiku, Inc. - Haiku, Inc.". https://www.haiku-inc.org/about/. 
  14. 14.0 14.1 "Project History" (in en). https://haiku-chinese.github.io/about/history/index.html. 
  15. "OpenBeOS Becomes Haiku – OSnews". https://www.osnews.com/story/7423/OpenBeOS-Becomes-Haiku/. 
  16. "yellowTAB and beunited.org co-operate on Java Port – OSnews". https://www.osnews.com/story/5250/yellowtab-and-beunitedorg-co-operate-on-java-port/. 
  17. "beunited.org - Open Standards BeOS-compatible Operating Systems". 2004-07-11. http://www.beunited.org:80/. 
  18. "'Haiku Tech Talk At Google a Success' – OSnews". https://www.osnews.com/story/17264/haiku-tech-talk-at-google-a-success/. 
  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. 21.0 21.1 Proven, Liam. "BeOS rebuild Haiku has a new feature that runs Windows apps" (in en). https://www.theregister.com/2022/01/10/haiku_linux_wine/. 
  22. "Haiku: BeOS for the 21st Century". December 31, 2012. https://www.maketecheasier.com/haiku-beos-for-the-21st-century/. 
  23. "BeGroovy » Blog Archive » OpenBeOS First Release". 2006-05-11. https://www.begroovy.com/wordpress/?p=260. 
  24. pavroo (2023-05-02). "NewOS" (in en-US). https://archiveos.org/newos/. 
  25. "OpenBeOS-NewOS Fork Complete – OSnews". https://www.osnews.com/story/1155/openbeos-newos-fork-complete/. 
  26. "beunited.org - Open Standards BeOS-compatible Operating Systems". 2005-07-27. http://www.beunited.org/. 
  27. "[openbeos] Icon Artwork - openbeos - FreeLists". http://www.freelists.org/post/haiku/Icon-Artwork. 
  28. "IsComputerOn - Another Haiku Student Blogs: Package Installer.". 2007-10-03. http://joomla.iscomputeron.com/index.php?option=com_content&task=view&id=991&Itemid=2. 
  29. "beunited.org - Open Standards BeOS-compatible Operating Systems - how the system developed". https://www.beunited.org/development/index.php. 
  30. "New Java for Haiku Team Formed" (in en). 2008-01-03. https://www.haiku-os.org/news/2008-01-03_new_java_for_haiku_team_formed/. 
  31. "WiFi stack prototype works". 2009-07-14. http://www.haiku-os.org/blog/coling/2009-07-12/wifi_stack_prototype_works. 
  32. "Haiku Alpha 1 available now: BeOS lovers of the world rejoice" (in en-US). 2009-09-16. https://www.engadget.com/2009-09-16-haiku-alpha-1-available-now-beos-lovers-of-the-world-rejoice.html. 
  33. Pearce, Rohan (September 7, 2018). "Beta release nears for BeOS-inspired open source OS Haiku" (in en). https://www.computerworld.com/article/3464070/beta-release-nears-for-beos-inspired-open-source-os-haiku.html. 
  34. "Qt4 Ported to Haiku, Developer Preview Release Available". October 27, 2009. http://www.osnews.com/story/22397/Qt4_Ported_to_Haiku_Developer_Preview_Release_Available. 
  35. "Release Notes | Haiku Project". 2010-07-16. http://www.haiku-os.org/get-haiku/release-notes. 
  36. "Package Management Goes Live" (in en). 2013-09-27. https://www.haiku-os.org/blog/bonefish/2013-09-28_package_management_goes_live/. 
  37. "R1/beta1 – Release Notes" (in en). https://www.haiku-os.org/get-haiku/r1beta1/release-notes/. 
  38. "Haiku R1/beta1 review - revisiting BeOS, 18 years after its latest official release" (in en). 2018-10-17. https://no-title.victordomingos.com/articles/2018/haiku_r1_beta1_review_revisiting_beos/index.html. 
  39. "Haiku Project Announces Availability of Haiku R1/Alpha 1". 2009-09-14. http://www.haiku-os.org/news/2009-09-13_haiku_project_announces_availability_haiku_r1alpha_1. 
  40. "Haiku Project Announces Availability of Haiku R1/Alpha 2". 2010-05-10. Archived from the original on 2014-03-14. https://web.archive.org/web/20140314090249/http://www.haiku-os.org/news/2010-05-10_haiku_project_announces_availability_haiku_r1alpha_2. 
  41. "Haiku Release 1 Alpha 4". Haiku Project. 2012-11-12. http://www.haiku-os.org/news/2012-11-12_haiku_release_1_alpha_4. 
  42. Larabel, Michael (June 9, 2020). "Haiku R1 Beta 2 "Open-Source BeOS" Operating System Released". https://www.phoronix.com/scan.php?page=news_item&px=Haiku-R1-Beta-2-Released. 
  43. Larabel, Michael (July 26, 2021). "Haiku R1 Beta 3 Released As Spiritual Successor To BeOS". https://www.phoronix.com/scan.php?page=news_item&px=Haiku-R1-Beta-3. 
  44. "Haiku R1/beta4 has been released!". December 23, 2022. https://www.haiku-os.org/news/2022-12-23_haiku_r1_beta4/. 
  45. 45.0 45.1 "Haiku is an open-source operating system for those who miss NeXTStep" (in en). https://www.zdnet.com/article/haiku-is-an-open-source-operating-system-for-those-who-miss-nextstep/. 
  46. "Google Fuchsia | Operating system projects". https://os-projects.eu/google-fuchsia. 
  47. Lunduke, Bryan (2023-05-08). "Haiku makes huge progress on RISC-V support". https://lunduke.substack.com/p/haiku-makes-huge-progress-on-risc. 
  48. "Compiling Haiku for Arm" (in en). https://www.haiku-os.org/guides/building/compiling-arm/. 
  49. "ACCESS Co. Releases BeBook and Be Newsletters" (in en). 2007-04-03. https://www.haiku-os.org/news/2007-04-03_access_co_releases_bebook_and_be_newsletters/. 
  50. "The Be Book". https://www.haiku-os.org/legacy-docs/bebook/TheBeBook_Introduction.html. 
  51. "Haiku R1/beta1" (in NL). https://tweakers.net/downloads/45799/haiku-r1-beta1.html. 
  52. "Division of Labor: Kits, Libraries, Servers, and Teams" (in en). https://www.haiku-os.org/documents/dev/division_of_labor_kits_libraries_servers_and_teams/. 
  53. "Screen". https://www.haiku-os.org/docs/userguide/en/preferences/screen.html. 
  54. Proven, Liam. "Fourth beta of BeOS rebuild Haiku is out" (in en). https://www.theregister.com/2023/01/11/haiku_beta_4/. 
  55. "Open Tracker License, revision 1.1.1.1". Be Inc.. 21 September 2001. http://opentracker.cvs.sourceforge.net/viewvc/opentracker/opentracker/tracker/LICENSE?revision=1.1.1.1. 
  56. "WORLD EXCLUSIVE: First Look at YellowTAB's Zeta – OSnews". https://www.osnews.com/story/3692/world-exclusive-first-look-at-yellowtabs-zeta/. 
  57. "Haiku®'s Icons - Haiku, Inc.". https://www.haiku-inc.org/trademarks/haiku_icons/. 
  58. "Why Haiku Vector Icons are So Small". https://www.haiku-os.org/articles/2006-11-13_why_haiku_vector_icons_are_so_small/. 
  59. 59.0 59.1 "Package Management Infrastructure — Haiku internals documentation". https://www.haiku-os.org/docs/develop/packages/Infrastructure.html. 
  60. Wallen, Jack (2018-10-19). "To BeOS or not to BeOS, that is the Haiku" (in en-US). https://www.linux.com/topic/desktop/beos-or-not-beos-haiku/. 
  61. "The Haiku Book: Application Level API Incompatibilities with BeOS". https://www.haiku-os.org/docs/api/compatibility.html. 
  62. 62.0 62.1 "General FAQ" (in en). https://www.haiku-os.org/about/faq/. 
  63. "LegacyPackageInstaller". https://www.haiku-os.org/docs/userguide/en/applications/packageinstaller.html. 
  64. Reimer, Jeremy (2013-01-08). "1998's most intriguing OS, 15 years later: Hands-on with Haiku alpha 4" (in en-us). https://arstechnica.com/gadgets/2013/01/not-quite-poetry-in-motion-ars-reviews-the-haiku-alpha-4-os/. 
  65. "Explaining Why We Don't Endorse Other Systems". Free Software Foundation. https://www.gnu.org/distros/common-distros.html. 

External links