Writing Haiku: Begun in 2001, an open source replication of BeOS finally nears its alpha release
An unlikely, multi-continent development effort is aiming to create a binary-compatible, open source version of BeOS, a pioneering multi-threaded operating system whose last release, version 5 (
Jorge Mare, Haiku’
Mare also says that hardware auto-detection is seamless with Haiku. You can move a drive or graphics card from one computer to another with no re-configuration needed. And Haiku might be a good fit for ultra-mobile PCs (UMPCs), where processing power and memory are inherently limited－although Linux already has a good foothold here. “Haiku could shine in certain niches with native applications,” Mare says. “But compared with BeOS, Haiku is much more POSIX-compliant－so porting applications will be a lot easier.”
But for most people, none of this quite adds up to a compelling need. If you are looking for a friendly user experience, Steve Jobs is happy to help. If you are looking for a fast response time, Moore’
I first got interested in writing about Haiku last year after reading that its 2007 annual gathering, called WalterCon, would be held here in the San Francisco Bay Area. But when the conference was canceled, I figured that the lack of interest must extend to the development project, itself. Then late last November, I received an email from Mare saying that Haiku was alive and well. We met a few months later in Sausalito, across the Golden Gate Bridge just north of San Francisco. We spoke over bag lunches, sitting on some camping chairs we set up at the end of a floating dock at a marina. By that time, project founder Phipps had departed－though the “divorce” seemed an amicable one. As for WalterCon, Mare said that the conference was canceled due to diminishing interest among U.
From BeOS to Haiku
BeOS was chiefly the creation of Jean-Louis Gassee, who left Apple in 1990 to found his own company and create his own machine running its own operating system. If this business model sounds familiar, consider that Steve Jobs has done it twice: first with Apple, then with NeXT. Gassee founded Be, Inc. the following year. Looking back, Gassee’
By 1997, Gassee was promoting a two-box strategy: BeOS on the Mac and also on dual-processor PowerPC BeBoxes. When I spoke with him around then for a Pacific Connection/
Be Inc. released an x86 version in 1998. Writing the following year, Paul Thurrott called it “beautiful and blazingly fast….From a programming/
The catch, as Thurrott noted, was a limited application library. Not that the library shelves were empty. Native BeOS applications included the GoBe Productive office suite, Xentronix’
Be Inc. went public in 1999, and released its final version, R5.
Enter Michael Phipps, whose project 2001 OpenBeOS was renamed Haiku to avoid any copyright infringement. In a 2003 interview with the Wall Street Journal, Phipps thought an alpha or beta release would arrive by that August. But if anything has been learned by the Haiku participants, it is this: operating systems are tough to build. Phipps worked on the Haiku kernel for six years before writing a farewell letter last September. “I love Haiku,” he wrote. But after thousands of hours writing code－in addition to his day job as a software engineer--it was time to move on. “I should have done this sooner.” The advice he laid forth in his letter applies to open source projects everywhere: “Don’
Haiku project members participated in an internal tech talk at Google, The connection was made by Google employee Bruno Albuquerque, a long time Haiku developer, and team leader for OpenBFS, the open version of the BeOS file system. Joining him were Phipps and Mare, kernel team lead Axel Dorfler, as well as several former BE engineers who now work for Google. The surprise of the session was a cameo appearance by Gassee. The Haiku project also participated in the 2007 Google Summer of Code, which matches student developers with “mentoring” open source projects.
In January 2008, a project team led by Bryan Varner formed to port OpenJDK to Haiku. The group made a successful proposal to the OpenJDK Porters Group making Haiku officially part of the OpenJDK family of projects endorsed by Sun. Varner, who has been an occasional code contributor since project’
Varner, a consultant who lives in Ohio and has been programming since age seven, sees Haiku as an operating system that “listens” to end-users, rather than telling them what to do. “I view operating systems as tools, and there’
“Haiku has a simple, single focus. Haiku doesn't try to be everything to everyone, and that gives us some huge advantages. It's simple, responsive, stays out of your way, and works. It's easy to maintain, it'll be easy to install, and it's very fast. For developers, Haiku offers a coherent, comprehensive, modular, modern API.” Even so, he says, open source development is “at the mercy of real life. If developers get busy, have or start families, or end up on major projects, or even other hobbies, then the momentum starts to slow. Having corporate backing with the ability to pay developers helps normalize this ebb and flow.”
Waiting for Haiku
While the Haiku project has proceeded largely under the radar, a few BeOS users are cheering it on. One of them is Dane Scott of TuneTracker Systems in Wisconsin, whose radio automation systems enable a radio station to broadcast programming largely unattended. Scott began development work with release 3 (R3), and got so interested in BeOS that he launched an Internet radio station centered around the operating system－as proof that BeOS could provide the needed resources. BeOSRadio aired news about the operating system and played music created with BeOS-based systems. BeOSRadio is still broadcasting on four streams from www.
“BeOS advantages have included a greater level of stability and jitter-free playback. To give you an idea, back in 2002, we burned our TuneTracker master CD on a 400 MHz system with 64 MB RAM while simultaneously broadcasting with TuneTracker and streaming to two different bandwidths. The burn was fine, and we never dropped a stitch on the air. We've burned every master CD this way ever since.” Needless to say, Scott would love to move to Haiku.
“I think this is a herculean effort, especially considering the small number of people involved,” Scott said. “And they've made remarkable progress. This is an effort worthy of the time and devotion. Anyone still using BeOS is probably not using it exclusively for everything－but for some specific application or on a hobby basis. But once Haiku emerges, I think there will be more applications－including some that Linux users will want to at least give it a try.”
- “If I had to do it all over again…”
: A conversation with Axel Dorfler
If Haiku has a technical spokesperson, it is Axel Dorfler, who joined the project in December 2001, four months after it began. Dorfler is the lead engineer on kernel development and the project’
s largest single contributor. He based his work on a fork of the NewOS (www. newos. org) kernel originally created by Travis Geiselbrecht, a former Be Inc. engineer. A freelance developer, Dorfler has a background in computational linguistics and artificial intelligence, as well as a consulting relationship with Mindwork, a company interested in implementing Haiku. I spoke with him by phone from his home in Hanover, Germany.
- How did you get involved with Haiku?
- I was a long time BeOS user, but my involvement was something of an accident. I had a hard drive failure and needed a tool to recover the data. But since there was no such application, I ended up writing a recovery tool that implemented the Be File System [BFS] for Haiku. One thing led to another, and I eventually became responsible for the kernel.
- What did you see as the need for a BeOS binary-compatible OS?
These days, I probably wouldn’
t have started working on it if I had to do it all again. But while Linux has improved a lot, I would still have a hard time using it on a daily basis. Even today, I wouldn't want to replace my dated BeOS installation with a current Linux distribution. Then and now, BeOS is very fast, responsive and user friendly; it is simple, elegant, and easy to understand. But if I had known the effort required to write an operating system from scratch, I probably wouldn’ t have－because it’ s so much work. But back then, the project didn’ t appear quite as difficult.
- Given that Haiku is close to an alpha release, what advantages will it have over Linux and other operating systems?
The early BeOS advantages do remain: Haiku will be very easy to use and very responsive. The OS does not even have a default busy cursor, although that might have been a stretch－there are still some times you actually have to wait. But compared to Windows especially, the overall response time for Haiku should be markedly faster. The design is simple enough that you can actually understand the whole system, from top to bottom. That means you don’
t have to spend days configuring it to make things work. Mostly, Haiku works without any configuration－it always tries to find the best possible defaults.
- BeOS has been touted for its multimedia capabilities. Does that still give Haiku an advantage over other OSs?
In theory, definitely. There isn’
t anything out there that completely replaces the Haiku Media Kit, which handles the OS’ s multimedia capabilities. But on the other hand, there aren’ t many advanced applications that take full advantage of Haiku, either. There are a few applications, like IZ Technology’ s RADAR 24 that still use BeOS today. And given the challenges of getting compatible hardware, they must definitely think that BeOS has some multimedia advantages.
- Do you see any new application development coming?
m in that category－an application developer who just happens to be working on the kernel right now because someone has to do it. But ultimately I want to develop applications for Haiku and be able to use them on a daily basis.
- Compared to application programming, what has kernel development been like?
s not completely different from application programming, but it’ s harder to debug. You have to write very solid code and be almost paranoid about what could go wrong down the road.
- Are you coding in C++?
Most of the time. There’
s a bit of C, mostly C++, and a bit of assembly: you can’ t get around that completely. If you have to talk to the machine directly, there’ s no other way to do it. The whole repository consists of at least five to six million lines of code, but no small chunk of that is the GNU tools. We have the core “userland” code that provides the operating environment for applications, along with the usual shell commands, which are ported to Haiku. These represent a not-so-tiny part of those millions of lines of code.
- So while I learned that building an operating system requires more work than I originally thought, I also learned a lot about building hardware drivers, working with very low-level code, and that even at the kernel, algorithms still count for a lot.
- The focus of Haiku development seems to have shifted from the U.
S. to Europe. Any thoughts why?
It started in the U.
S. because the founder was American. But interest seemed to fade because people had other work to do－the kind that pays the bills. From the start, we’ ve had interest from European developers, with fewer losses over time. So now, the European side of the development process is much larger than the American side.
- Why do you think there is willingness in Europe to invest the time?
t know; it’ s hard to say. Speaking for myself, Haiku helps explain why it took so long for me to get through my academic studies. That’ s not true for all of the developers, but for me, Haiku consumes much of my free time.
- Will your experience working on the kernel help with job prospects?
m mostly working as a freelance consultant for Mindwork, a German company that is interested in Haiku. Part of my job is to write drivers, and I wouldn’ t have the assignment if I hadn’ t been working with Haiku. The company’ s technology presents news, commercials and other programming in shopping malls using large screens－pulling the content more or less live from the Internet. Mindwork currently does this under BeOS, but plans to switch to Haiku when it is ready.
- Does the Haiku project tell us anything about how open source development has proceeded in the past, or the state of its future?
- Open source projects can be competitors to others, not that this is the goal for Haiku for the next few years, but it may eventually get there. Also, if you are a company, it may make sense to hire somebody to work on an open source project.
- Such as the case for you?
Exactly. This is nice because if someone invests money in open source, not only does this company get something back, but everyone else as well. Which might not always be in the interest of the company but it doesn’
- In the case of Haiku, in some ways it’
s hard to imagine it proceeding without it being open source.
It simply wouldn’
t be viable to do this commercially. Think about all the operating systems that are no longer commercially supported, not just BeOS, but GEOS, CP/ M and OS/ 2. So unless you are Microsoft or Apple, a project like Haiku can only be done as an open source project, and it’ s nice that that so many people want to work－because it’ s really a lot of work, a very large project.
- How many people are involved with it today?
Twenty to 25 active developers. They aren’
t all contributing every day or every month even, but are continuously working on something. We’ ve had a few additions recently, some of them who heard of us from the Google Summer of Code event. Every month or so, someone new pops up and starts contributing.