Compatibility With BeOS
Haiku R1 aims to be compatible with BeOS at both the source and binary level, allowing software written and compiled for BeOS to be compiled and run without modification on Haiku. This provides Haiku users with an instant library of applications to choose from (even programs whose developers are no longer in business or have no interest in updating them), in addition to allowing development of applications to resume from where they had been terminated following the demise of Be, Inc. This dedication to compatibility has its drawbacks though — requiring Haiku to use version 2.95 of the GCC compiler, released in 2001, which is now 11 years old. Switching to the newer version 4 of GCC breaks compatibility with BeOS software; therefore Haiku supports being built as a hybrid GCC4/GCC2 environment. This allows the system to run both GCC version 2 and version 4 binaries at the same time.
Note that this compatibility applies to x86 systems only. The PowerPC version of BeOS R5 will not be supported. As a consequence, the ARM, 68k and PPC ports of Haiku use only the GCC version 4 compiler.
Despite these attempts, compatibility with a number of system add-ons that 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 that 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.
In some other aspects, Haiku is already more advanced than BeOS. For example, the interface kit allows the use of 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 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 were fixed.
Read more about this topic: Haiku (operating System)