Haiku (operating system): Wikis

Advertisements
  
  
  

Note: Many of our articles have direct quotes from sources you can cite, within the Wikipedia article! This article doesn't yet, but we're working on it! See more info or our list of citable articles.

Encyclopedia

From Wikipedia, the free encyclopedia

Haiku
Haiku Project logo
Haiku OS.png
Haiku desktop, with Firefox
Company / developer Haiku Project
OS family BeOS
Working state Alpha
Source model Free and open source software
Initial release OpenBeOS: 2002[1]
Haiku: September 14, 2009
Latest unstable release R1 / Alpha 1 / September 14, 2009
Available language(s) English
Kernel type Hybrid
License MIT License
Website haiku-os.org

Haiku is a free open source operating system compatible with BeOS. Its development began in 2001, and the operating system became self-hosting in 2008,[2] with the first official alpha version released in September 2009.

Haiku is supported by Haiku, Inc., a non-profit organization based in Rochester, New York, that was founded in 2003 to support the project.

Contents

History

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 appear to be inactive at this time) 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 should allow any existing BeOS R5 programs to run on the new system without being recompiled.

A first release of OpenBeOS was made in 2002.[1] That release was no 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.[3] The name was influenced by an official community vote, decided by project leaders and revealed at that year's WalterCon. The name "Haiku" intends 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.

Development

Haiku is developed in C++ and provides an object-oriented API. The modular design of BeOS has enabled teams of volunteer programmers to work independently on replacements for individual servers and APIs (collectively known in Haiku as "kits"). These teams include:

  • App/Interface – develops the Interface, App and Support kits.
  • BFS – develops the Be File System, which is mostly complete with the resulting OpenBFS
  • Game – develops the Game Kit and its APIs.
  • Input Server – the server that handles input devices, such as keyboards and mice and how they communicate with other parts of the system.
  • Kernel – develops the kernel, the core of the operating system.
  • Media – develops the audio server and related APIs.
  • MIDI – implements the MIDI protocol.
  • Network – writes drivers for network devices and APIs relating to networking.
  • OpenGL – develops OpenGL support.
  • Preferences – recreates the preferences suite.
  • Printing – works on the print servers and drivers for printers.
  • Screen Saver – implements screen saver functionality.
  • Storage – develops the storage server and drivers for required filesystems.
  • Translation – recreates the reading/writing/conversion modules for the different file formats.

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 and a fork of NewOS[4], a modular kernel 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 (VFS) layer and rudimentary symmetric multiprocessing (SMP) support.

Advertisements

Progress

OpenBeOS app_server Proto5

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

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[7] (running with full 2D acceleration), and the first use of a web browser on Haiku[8] (Links). 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, working 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 funds allocated ran out.

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

In August 2006, Haiku celebrated its fifth anniversary. Development on the aforementioned network and USB stacks continues rapidly, and it is expected that once these two last major remaining pieces of the operating system are complete, Haiku will 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. A partial implementation of the set can be found in the latest builds.

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

In April 2008, Haiku became self-hosting, which means Haiku can be built from within itself.[2]

On January 31, 2009, Haiku obtained a native GCC4 port; this allows modern applications, like Firefox 3, to be built on Haiku.[11]

On July 12, 2009, a first prototype version of the FreeBSD WLAN-Stack was ported to Haiku, enabling unencrypted WLAN connections as a first step.[12]

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.[13]

On October 27, 2009, Haiku obtained Qt4 support.

Compatibility with BeOS

Haiku aims to be compatible with BeOS at both the source and binary level, allowing software written and compiled for BeOS to compile and run without modification on Haiku. This would provide Haiku users with an instant library of applications to choose from (even programs whose developers were no longer in business or had no interest in updating them), in addition to allowing development of other applications to resume from where they had been terminated following the demise of Be, Inc. This dedication to compatibility also has its drawbacks though, requiring Haiku to use version 2.95 of the compiler GCC, which is 8 years old.[14] Switching to using the newer GCC version 4 breaks compatibility with BeOS software, therefore Haiku supports being built as a hybrid GCC4/GCC2 environment.[15] This allows the use of both GCC version 2 and version 4 binaries at the same time.

Note this compatibility is only valid for x86 systems. The PPC version of BeOS R5 will not be supported. As a consequence, the ARM, 68k and PowerPC ports of Haiku use only the gcc4 compiler.

Despite these attempts, compatibility with a number of system add-ons which 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 Indeo 5 media decoders for which no specification exists.

R5 binary applications which run successfully under Haiku (as of May 2006) include: Opera, Firefox, NetPositive, Quake II, Quake III, SeaMonkey, Vision and VLC media player.

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 for storage devices and SCSI adapters will not be compatible. USB drivers for both the second (BeOS 5) and third (BeOS Dano) generation USB stacks will work, however.

On some other points, Haiku is already more advanced than BeOS. For example the interface kit allows using 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 also 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 was fixed.

Beyond R1

Initial planning for R2 has started through the "Glass Elevator" project (a reference to children's novel Charlie and the Great Glass Elevator). The only detail confirmed so far is that it will switch to a current GCC release (namely v4.3.3, [16]).

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 Mac OS X's Spotlight; greater integration of scalable vector graphics into the desktop, proper support for multiple users, and additional kits.[17]

See also

References

  1. ^ a b BeGroovy: OpenBeOS First Release
  2. ^ a b Bruno Albuquerque (2008-04-01). "Haiku self-hosting.". http://www.freelists.org/archives/openbeos/04-2008/msg00001.html. Retrieved 2008-06-25.  
  3. ^ OSNews: OpenBeOS Becomes Haiku
  4. ^ "Haiku Kernel & Drivers Team". http://www.haiku-os.org/about/teams/kernel_drivers. Retrieved 2008-07-17.  
  5. ^ OSNews: OpenBeOS Proto5 app_server Replacement Released
  6. ^ DarkWyrm: Haiku blog
  7. ^ Haiku weblog of Michael Lotz
  8. ^ Haiku weblog of Michael Lotz
  9. ^ Stephan Assmus (2006-01-31). "Re: OS Zoo". http://www.freelists.org/archives/openbeos/01-2006/msg00051.html. Retrieved 2008-06-25.  
  10. ^ 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.  
  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. ^ "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.  
  14. ^ The GCC team (2007-07-25). "GCC Releases - GNU Project - Free Software Foundation (FSF)". Free Software Foundation. http://gcc.gnu.org/releases.html. Retrieved 2007-08-16.  
  15. ^ Stephan Aßmus (2008-05-18). "Steady Progress towards Alpha 1". Haiku Inc.. http://www.haiku-os.org/news/2008-05-18/steady_progress_towards_alpha_1. Retrieved 2008-05-28.  
  16. ^ Native GCC 4.3.3 for Haiku - Tales of updating the GCC4 port
  17. ^ R2 Ideas – Glass Elevator Summaries

External links


Advertisements






Got something to say? Make a comment.
Your name
Your email address
Message