Software:History of Haiku (operating system)

From HandWiki

The history of Haiku, a free, open-source operating system, began in 2001. (As of January 2016), as refactoring FLOSS effort of BeOS named initially "OpenBeOS". It used open sourced code of a Tracker file browser and NewOS kernel. Recently work on Haiku happens in a stable pace with 'Nightly' builds available between beta releases.

Beginnings

The development project began as "OpenBeOS" in 2001 after Palm, Inc. bought Be Inc. and discontinued BeOS, leaving BeOS users without a viable upgrade path and BeOS developers with programs stranded on an unsupported platform. OpenBeOS differed from several other contemporary projects aiming to continue BeOS.

For example, Cosmoe and BlueEyedOS (both of which remain incomplete, and now appear to be inactive) took an existing Linux or BSD kernel and re-implemented Be's APIs on top of it; this broke binary-code compatibility with BeOS R5 and significantly deviated from the original design. By contrast, OpenBeOS planned an almost complete rewrite of the system, maintaining binary and source-code compatibility. This meant that existing BeOS R5 programs could run on the young system without being recompiled.

A first release of OpenBeOS was made in 2002.[1] However, this release was not a stand-alone operating system; instead, it was a community-created update for BeOS 5.0.3 that contained open source replacements for a few BeOS components.

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

Haiku, Inc., a non-profit organization based in Rochester, New York, was founded in 2003 by former project leader Michael Phipps to support the project and the development of the Haiku operating system.

Progress

OpenBeOS app_server Proto5

On April 29, 2002 OpenBeOS app_server prototype 5 was released.[3] It was the first release that was able to render windows.[4]

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[5] (running with full 2D acceleration), and the first use of a web browser (Links) on Haiku.[6] Haiku does not use 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, when the system was able to run 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, who worked via funds donated by the community. He worked on CD booting, SMP and other kernel and app_server work. His employment continued until December 2005, when the allocated funds ran out.

Work on the operating system continued, and Haiku could now be booted and was semi-usable. However, much work remained before the first alpha could be launched. Network and Universal Serial Bus (USB) functionality were under heavy development, and the media_server lagged behind the other components. Haiku was still quite unstable, (as should be expected in a pre-release state). Crashes had been prevalent and no release date had been set. In January 2006, project developer Stephan Aßmus suggested that at the current level of development, R1 was at least a year away, maybe two.[7]

In August 2006, Haiku celebrated its fifth anniversary. Development on the aforementioned network and USB stacks continued rapidly, and it was expected that once these two last major remaining pieces of the operating system were complete, Haiku would be suitable for day-to-day use by developers and testers.

After a new website was launched, a contest was held to create Haiku's default icon set. 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, Haiku Vector Icon Format (HVIF) into the Deskbar and Tracker.

In January 2008, an official Java for Haiku[8] team was created and was unanimously accepted by the OpenJDK Porters Group to port OpenJDK to Haiku.[9]

Then, in April 2008, Haiku became self-hosting, which meant Haiku could be built from within itself.[10]

The milestones toward its first release continued as time went on, and in January 31, 2009, Haiku obtained a native GCC4 port; this allowed modern applications, (like Mozilla Firefox 3 at the time), to be built on Haiku.[11] On July 12, 2009, a first prototype version of the FreeBSD WLAN-Stack was ported to Haiku, which enabled unencrypted WLAN connections as a first step.[12]

On September 14, 2009, the very first official release of Haiku, Haiku R1/Alpha1 was released to the world. It was a huge milestone for the Haiku project as Alpha1 was a demonstrably working (but still an alpha) version of the Haiku operating system unveiled to the public to download and use... and unlike BeOS R5, could run live from the CD.

About a month later, on October 27, 2009, Haiku obtained Qt4 support via an external 3rd party port.[13]

Work continued after Alpha1, and three more Alpha releases would be released afterward, each of which would be a huge step forward for the Haiku operating system: R1/Alpha2 (May 2010), R1/Alpha3 (June 2011), and R1/Alpha4 (November 2012). After 2012, serious attention was given to implementing an innovative package management system for Haiku with its own PackageFS, 'packages' that could be inserted or removed on the fly, and built-in tools like the HaikuDepot and pkgman, and this major aspiration slowed down the time in between releases. Finally, in September 2018, a long awaited first beta (R1/Beta1) would be released to the world as Haiku's official exit from the alpha stage. In addition to its packaging features, Beta1 was also notable for a large amount of system improvements and UI changes that had been made in the years between Alpha4 and itself. Following Beta1, Haiku released Beta2 in June 2020 with another round of improvements and features to Haiku.

Today, development continues on Haiku as it continues to add support for hardware, and make itself better, more stable, and more usable. Since Beta1, several popular open source titles such as LibreOffice 6 (and 7) have been ported to Haiku, and work continues to make it a viable alternative to BeOS and hopefully to mainstream operating systems. Currently, R1/Beta3 is the next planned release, with updates available through SoftwareUpdater for the current release (as of May 2021), R1/Beta2.

Releases

Reflection on "having a future"

In the process of re-calibrating its vision Haiku had a community poll after the first alpha release in 2009 (8 years in development) on what could be the feature set beyond doing a floss refactoring of BeOS from late 1990s and decided to expand vision to supporting basic contemporary systems and protocols.[14] Knowing the lack of resources to ever properly ‘catch-up’ with the mainstream - this basically rendered the r1 system as stable and operational more-less impossible to reach if foreseeable future. Exceptional contributor back then busy with packaging, but coming from humanities (media studies) presented this state of affairs in somewhat controversial queering visions talk at the end of 2010 FOSDEM entitled: "Haiku has No Future".[15] In this intervention he cited (radical) queer theory of Lee Edelman on queer futurity and Mathew Fuller’s (critical) software studies writing when addressing the situation and stating the Haiku is a "queer" operating system. "Our work will not ever define the future of operating systems, but what it does do is undermine the monotone machinery of the competition. It is in this niche that we can operate best." This gives the opportunity for a "playful approach" in development and to keep in mind for next release naming discussions: "even though we have no future, it does not mean that there will not arrive one eventually. Let us get there the most pleasant way possible."[16]

Haiku R1/Alpha series

Original Haiku R1 Alpha 1 CD. The picture was taken inside of the Microsoft Research & Development Center, Haifa, Israel.

The first alpha release "Haiku R1/Alpha 1" has been released on September 14, 2009.[17]

The second alpha release ("Haiku R1/Alpha 2") was released on May 10, 2010.[18]

After having been distributed with the BeOS Firefox 2 port, ports of Links or NetSurf, Haiku now has its own web browser, WebPositive.

"Haiku R1/Alpha 3" was released in June 2011, featuring a large number of improvements and big fixes, including support for both GCC 2 or GCC 4 (use of the latter being discouraged for compatibility reasons).

"Haiku R1/Alpha 4" was released on November 14, 2012, with an intended purpose to provide "third party developers with a stable version for testing and development".[19]

Haiku R1/Beta series

"Haiku R1/Beta 1" was released on September 28, 2018, after many years in between official releases. One of the most notable new features[20] to arrive in Beta1 is PackageFS and package installation through the HaikuDepot (and a new text-based tool called 'pkgman') was a large change in between Alpha4 and Beta1, and as such, Beta 1 is the first official Haiku release to support full package management. This had also contributed to the wait between Alpha4 and Beta1. Packages also allow Beta1 to have system states one can choose from, and because packages are modular in their nature, it's possible to insert/remove them from the 'packages' folder. Full EFI and GPT support are also a first for Beta1. Other large improvements include improvements and changes to several parts of Haiku's user interface, WebPositive, Haiku's media foundation, and a redesign of the Network preflet. Tools in Haiku such as SerialConnect, RemoteDesktop, and Haiku's Debugger as default also were notable features in Beta1 as well. Under the hood, beta1 includes a new thread scheduler, a new launch daemon, ASLR, DEP, and SMAP support, and a salvo of improvements to the filesystem, kernel, drivers, and to hardware support overall in the 6 year gap between it and Alpha4 -- and is perhaps one of the most significant Haiku versions to date.

"Haiku R1/Beta 2" was released on June 9, 2020 with improvements[21] to Haiku's HDA driver, HiDPI, NVMe, and XHCI support in Haiku, improvements to WebPositive (the default web browser in Haiku), improvements to Haiku's system installer (and updater), and under the hood fixes and improvements such as to the kernel, drivers, and DriveSetup. Changes to the Haiku UI like a new 'Input' preflet, a new 'meta' Terminal feature, a new Deskbar 'mini-mode', and small tweaks and improvements to several applications also were introduced in Beta 2.

"Haiku R1/Beta 3" was released on July 26, 2021 with improvements to installation process, improvements to package management using Python 3, improvements to user interface including better support for dark mode, improvements to graphics server, improvements to web browser with newer WebKit, and under the hood fixes and improvements such as to the kernel and drivers.[22]

"Haiku R1/Beta 4" is currently the latest release, released on December 23, 2022 with improvements to hardware support and its overall stability, and much more software ports from drivers, to key GTK apps like GIMP, Inkscape, GNOME Web aka. Epiphany and many more. Wine for Microsoft Windows applications is available in x64 bit support. Developer waddlesplash was contractor working on Haiku via Haiku, Inc., a 501(c)3 non-profit.[23]

References

  1. BeGroovy: OpenBeOS First Release
  2. OSNews: OpenBeOS Becomes Haiku
  3. OSNews: OpenBeOS Proto5 app_server Replacement Released
  4. DarkWyrm: Haiku blog
  5. Lotz, Michael (21 March 2005). "Haiku weblog of Michael Lotz". http://haiku.mlotz.ch/#log_20050321. 
  6. Lotz, Michael (10 April 2005). "Haiku weblog of Michael Lotz". http://haiku.mlotz.ch/#log_20050410. 
  7. Stephan Assmus (2006-01-31). "Re: OS Zoo". http://www.freelists.org/archives/openbeos/01-2006/msg00051.html. Retrieved 2008-06-25. 
  8. "Java Team | Haiku Project". 2009-02-02. https://web.archive.org/web/20090202084352/http://www.haiku-os.org/about/teams/java. 
  9. Jorge G. Mare (2008-01-21). "OpenJDK Porters Group Votes to Sponsor Java Port to Haiku". http://www.haiku-os.org/news/2008-01-21/openjdk_porters_group_votes_to_sponsor_java_port_to_haiku. Retrieved 2008-06-25. 
  10. Bruno Albuquerque (2008-04-01). "Haiku self-hosting.". http://www.freelists.org/archives/openbeos/04-2008/msg00001.html. Retrieved 2008-06-25. 
  11. Urias McCullough (2009-02-01). "Haiku Finally Gets a Native GCC4 - full story inside!". http://www.haiku-os.org/news/2009-01-31/haiku_finally_gets_a_native_gcc4_full_story_inside. 
  12. "WiFi stack prototype works". 2009-07-14. http://www.haiku-os.org/blog/coling/2009-07-12/wifi_stack_prototype_works. 
  13. "Qt4 Ported to Haiku, Developer Preview Release Available". 2009-10-27. http://www.osnews.com/story/22397/Qt4_Ported_to_Haiku_Developer_Preview_Release_Available. 
  14. Pearce, Rohan (2018-09-07). "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. 
  15. "fosdem.org". https://archive.fosdem.org/2010/schedule/events/altos_haiku_no_future.html. 
  16. "Haiku Project Blog: Haiku has No Future". 2016-03-24. https://www.haiku-os.org/blog/nielx/2010-04-11_haiku_has_no_future. 
  17. "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. 
  18. "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. 
  19. "Haiku Release 1 Alpha 4". Haiku Project. 2012-11-12. http://www.haiku-os.org/news/2012-11-12_haiku_release_1_alpha_4. 
  20. "R1/beta1 – Release Notes" (in en). https://www.haiku-os.org/get-haiku/r1beta1/release-notes/. 
  21. "R1/beta2 – Release Notes" (in en). https://www.haiku-os.org/get-haiku/r1beta2/release-notes/. 
  22. "R1/beta3 - Release Notes". https://www.haiku-os.org/get-haiku/r1beta3/release-notes/. 
  23. "R1/beta4 – Release Notes" (in en). https://www.haiku-os.org/get-haiku/r1beta4/release-notes/.