Just over 17 years since the project launched, and more than 18 years since the last release of the operating system that inspired it, the open source Haiku OS is nearing a beta release.
It has been a long road for Haiku: The project launched in August 2001, initially named “OpenBeOS”.
BeOS was one of the great ‘could have been’ desktop OSes: Launched in in 1995, the system almost became the operating system for Apple’s hardware. Instead, Apple decided to go with OPENSTEP — developed by NeXT Software, which was founded by Steve Jobs after he was ousted from Apple in 1985.
The last formal release of BeOS — R5 — took place in March 2000 (a later, unreleased version, R5.1d0, leaked online). Be Inc was shuttered in 2001, with its assets snapped up by Palm.
But although BeOS is dead, Haiku is very much alive, with the first beta of the OS expected to be released late this month.
(Read more about Haiku’s background here.)
Haiku developer Adrien Destugues said that some of the remaining work before the beta is released includes “fixing some of the most embarrassing bugs”. “But we also need to set up various things to make it possible to publish updates and bugfixes to the beta after it has shipped,” he adds.
The biggest challenge has been the length of time between releases: The most recent release, Haiku R1 Alpha 4.1, dates back to November 2012 (Alpha 1 shipped in September 2009).
“So we have to get the process back in running shape, figuring out buildbot setup, how to distribute the release to mirrors, where to get CDs pressed and how to ship these to users who want to buy one, etc.,” Destugues said.
“While we are doing well with the development tasks, all this side work takes a lot of time, and this is what has delayed the release a lot.”
The timeline for the beta may still change, with the team preferring to “ship a quality product even if that means delaying the release for another month or two”.
“Unfortunately, there isn't a formalised QA team in the Haiku project, but there are some people planning to create one and start working on Beta 2,” Destugues said. “This means the first beta will have rough edges, but we have to start somewhere.”
The uncertainty also means that it is not clear how quickly a non-beta release will ship.
“The Haiku project currently works by setting up goals, and we do not ship a release until everything is ready,” Destugues said.
“The R1 release has ambitious goals; however, in terms of features, we are there already. What we have ahead of us is a long period of bugfixing. This is a boring task and I know some people contributing to Haiku are not interested and would rather work on exciting new features (to be included in R1 if they make them really stable, or maybe in R1.1 or R2).
“However, there is no problem with beta releases, for us it just means ‘there are known bugs’. Think of how Google used the ‘beta’ tag on GMail for a very long time, while it was already obvious that the system was in production and working for millions of users.”
Beginning with the first beta, the intention is to have more frequent releases — potentially a new beta every six or 12 months— as well as continuous updates via the OS’s package manager.
“So it’s fine that people start using the beta and don't wait for a final release,” Destugues said.
The initial goal for Haiku R1 was to be a drop-in replacement for BeOS R5 — the final major version of the operating system. However, after the 2009 release the first Haiku alpha, the goal was reviewed given the advances in other operating systems.
“We had a poll with a list of features, for which developers and users would vote to decide if they were ‘R1’ or ‘not R1’,” Destugues explained.
“This poll was held right after the first release of Haiku, and people were perhaps a bit too optimistic in their choices. New features include support for Wi-Fi , a modern web browser with CSS and HTML5 support, and many improvements to the APIs (support for system notifications, applications localisation, easier [laying out] of controls in the GUI, ‘stack and tile’ window management and probably a lot more).
“We also have a ‘launch daemon’ in charge of starting and monitoring system services (no more ‘restart deskbar and tracker’, ‘restart networking’, ‘restart media services’ buttons as was the case in BeOS).”
“We also added 64-bit CPU support, support for more than eight CPU cores, USB3 and SATA support, support for more than 1GB of RAM — everything you need to run Haiku on a modern machine,” he added.
Perhaps the “most important and controversial” change was decision to add a package manager.
“This started as what looked like a reasonable requirement for R1: That it should be possible to install a beta and then update it without reinstalling everything, until it eventually is up to date with R1,” Destugues said.
“The focus on doing things the ‘Right Way’, however, ended up growing this into a much more ambitious package manager, featuring drag-and-drop install, transactions allowing to rollback to an older state of the system, and management of updates for both the system and applications.
“Later on we also added app-store like functions, such as the ability for users to give reviews (in different languages) and ratings. And then we had a lot of work packaging a good selection of software for it and figuring out how to build all of these automatically.”
Continued on page 2.