Haiku is an [[MIT License]] licensed operating system built on [[BeOS]] technologies written primarily in [[C++]]. - [Website](https://www.haiku-os.org/) - [Source](https://cgit.haiku-os.org/haiku/) - [Documentation](https://www.haiku-os.org/documents/) > Haiku is an open-source operating system that specifically targets personal computing. # Notability I think it is important to have a vibrant community of different operating systems and ideas. For a brief period I used Haiku in a VM as my primary development environment. # Issues When building experimental apps for Haiku I can attest that I did not enjoy using their C++ templates etc. This is hardly limited to Haiku, but they have made an effort to support other languages, so perhaps those may make it smoother for me. ## Missing Packages [[Crystal]] is not in the ports list, but is a [work in progress](https://codeberg.org/supercell/crystal-haiku). [[Firefox]] is not available on Haiku anymore, due to the major infrastructural changes in the Firefox build system after 2017. [[Rust]] has now been available for 5 years, but upstream patch acceptance appears to be slow. [[DotNet]] is not available on Haiku, but is a [work in progress](https://www.haiku-os.org/blog/trungnt2910/2023-08-20_gsoc_2023_dotnet_port_final_report/). Developers are stymied by patches not being accepted upstream. # Philosophy Haiku's development is managed by [Haiku, Inc.](https://www.haiku-inc.org/) - a non-profit organization founded in 2003. # Hardware Support BeOS was primarily [[POWERPC]] based. Haiku is most at home in VMs, but major strides have been made for hardware support. Today, Haiku supports a wide range of modern and legacy hardware with relatively [minimal](https://www.haiku-os.org/get-haiku/r1beta4/release-notes/) system requirements. ## Graphics Haiku supports [many graphics cards](https://dev.haiku-os.org/wiki/HardwareInfo/video) including a VESA fallback mode which should work on almost anything, but 2D and 3D acceleration is not available for any modern GPU. Despite this, the media and general software rendering capabilities of Haiku and BeOS before it have always been impressive. When BeOS was under active development it was a decade ahead of Linux when it came to desktop media support. Stacking up many different media programs in Haiku is still seamless today. # Features Many open source applications have been ported to Haiku, including the GNU userspace, most POSIX shells (and [[Fish - Unix Shell|Fish]]), as well as nearly 4,000 other packages in their [Depot](https://depot.haiku-os.org). - The [[Godot]] Game Engine is [available](https://depot.haiku-os.org/#!/pkg/godot/haikuports/haikuports_x86_64/2/1/6/-/2/x86_64?bcguid=bc2-IGJX) (although it is a very old version) ## Programming Languages - [[Rust]] is [available](https://depot.haiku-os.org/#!/pkg/rust_bin/haikuports/haikuports_x86_64/1/69/0/-/1/x86_64?bcguid=bc239-ICDG) on Haiku since 2018 - [[Go]] is [available](https://depot.haiku-os.org/#!/pkg/golang/haikuports/haikuports_x86_64/1/4/3/-/6/x86_64?bcguid=bc5210-GMCO) - [[Erlang]] is [available](https://depot.haiku-os.org/#!/pkg/erlang/haikuports/haikuports_x86_64/20/1/-/-/3/x86_64?bcguid=bc5410-HXLC) - [[Elixir]] is [available](https://depot.haiku-os.org/#!/pkg/elixir/haikuports/haikuports_x86_64/1/9/4/-/1/x86_64?bcguid=bc2-TIJJ) - [[Ruby]] is [available](https://depot.haiku-os.org/#!/pkg/ruby/haikuports/haikuports_x86_64/3/2/2/-/1/x86_64?bcguid=bc2-SSNP) - [[Python]] is [available](https://depot.haiku-os.org/#!/pkg/python3.12/haikuports/haikuports_x86_64/3/12/0/-/1/x86_64?bcguid=bc2-OWWH) - [[Lua]] is [available](https://depot.haiku-os.org/#!/pkg/lua/haikuports/haikuports_x86_64/5/4/6/-/2/x86_64?bcguid=bc2-CLTN) (as well as LuaJIT) - [[Node.js]] is [available](https://depot.haiku-os.org/#!/pkg/nodejs16/haikuports/haikuports_x86_64/16/11/1/-/1/x86_64?bcguid=bc6177-YMMY) ## Haiku Vector Icon Format Haiku developers created [[HVIF]], a tiny vector image format that allows icons to be stored in file metadata. # Tips ## Buildtools To build Haiku, or parts of it, you need the buildtools. These are not in the main repo for some reason, even though they are part of the main distribution. - https://cgit.haiku-os.org/buildtools/ ### Jam - https://www.haiku-os.org/guides/building/jam - https://www.freelists.org/post/haiku/New-Build-System # Resources - https://www.besly.de/ - Info and tutorials on Haiku and other BeOS-based environments # References ## Rust - https://depot.haiku-os.org/#!/pkg/rust_bin/haikuports/haikuports_x86_64/1/69/0/-/1/x86_64?bcguid=bc239-ICDG - https://docs.rs/haiku/latest/haiku/ - https://www.haiku-os.org/blog/nielx/2020-09-06_rust_on_haiku_the_case_of_the_disappearing_deceased_threads/ - https://www.theregister.com/2023/01/11/haiku_beta_4/?td=keepreading