The team behind Haiku
Although the Haiku project has attracted people who haven’t used BeOS, Aßmus believes that most of the core contributors have a history with Be Inc’s operating system.
Despite this it’s easy for people to get involved in Haiku, Aßmus says (although he adds “especially if one writes quality code”). “The Haiku user experience still has many rough spots and sometimes it's obvious how it should work instead and it's easy to make those changes.
“For new features, it's much easier to get them in when everyone feels they align with the vision of the project. Which everyone more or less has his own version of in his head, I suppose.”
New people often join the Haiku mailing lists, which house discussions on new features. “When someone proposes a feature on the mailing list, often people try to envision how it could be implemented in a more generic and more elegant way, so that it doesn't solve only one particular use-case, but many similar ones.
“And that sometimes means the feature is not implemented for the time being, since it became clear that it's harder and more work to do it right. I believe that can sometimes feel frustrating, especially to aspiring contributors, since the original proposal looked like an easy change. At the same time, I think it's good for the eventual quality of Haiku.”
The small size of the Haiku team can be a benefit because “everyone sort of knows everyone. And for new people it's easy to get to know and interact with everyone. The team is pretty welcoming and friendly; it's an ideal playground and every contribution is automatically important.”
Haiku remains mostly a hobbyist OS, although “it has a lot of potential, especially since Haiku can be rather useful by hobbyist operating system standards”. There is still plenty of room for adding features and polish.
“Haiku needs to realise more of its own potential, by integrating already existing features more to the benefit of users,” Aßmus says. “And obviously Haiku needs more powerful applications to get actual work done. It depends on more capable developers to recognize the potential and share the overall vision of Haiku and to start contributing.”
Haiku today vs. BeOS yesterday
Haiku feels as snappy as BeOS, despite the project’s team adding new features (such as internationalisation). “The Haiku kernel actually runs circles around BeOS,” Aßmus says. “For example compiling Haiku on Haiku is more than seven times faster compared to compiling it on BeOS and only about 20 per cent slower compared to compiling it on Linux, on a dual core machine.”
Kernel development has probably been the most challenging aspect of Haiku development, Aßmus believes. Hunting down kernel, file system or driver bugs is challenging, particularly given sometimes they crop up only on certain hardware configurations. I am not part of the kernel team; I completely admire them.”
Of the development he has participated in directly, working on the Haiku Media Kit, particularly integrating the FFmpeg open source multimedia framework, has been most challenging.
Aßmus is also proud of the graphics subsystem, which he mostly implemented. “I integrated the excellent Anti-Grain Geometry library as the actual drawing backend into the Haiku application server. It all feels pretty fast considering it runs completely without hardware acceleration.”
The OS uses the MIT License; a lot of open source operating systems, particularly Linux-based ones, primarily use the more familiar GNU General Public License. Aßmus wasn’t around when the decision around licensing was made, but assumes it was because the MIT License was considered more business friendly (the MIT License doesn’t restrict combining reusing code with software that has a proprietary license). (“These days, I think the GPL can be just as or more business friendly, since a business making an open source contribution knows that all other businesses are required to play by the same rules,” Aßmus says.)