Haiku’s core development team — those who are continuously contributing to the project — comprises a handful or two of individuals, though project statistics reveal around 50 people contributing at least one patch every year.
It’s hard to get a sense of the full size of the community, Destugues said. “There are about 200 users registered to show on the ‘world map of Haiku users’, but this is only a subset of active members in our forums,” he said. “There are 124 users on the IRC channel, but not everyone interested in Haiku will be on IRC.”
In addition, beyond contributing to the core project, there are people working on HaikuPorts (“writing recipes to package more software for Haiku”) and at HaikuArchives, which involves updating old BeOS apps to work with the new system, as well as writing new applications.
“There are also users just helping each other on the forums or taking the time to create and follow-up on bug reports,” Destugues said.
Haiku is a long-term participant Google’s Summer of Code (GSoC) program, which involves mentoring students for three-month periods. Since 2012 it has also been part of Google Code-In: Google’s open-source competition for pre-university students aged 13 to 17.
“Running both of these is part of our efforts to share our knowledge and experience; something as important to the project as writing and shipping an operating system,” Destugues said.
Destugues himself began contributing Haiku project in 2009 as a GSoC student.
“I originally discovered Haiku somewhere around 2005, after some friend at school asked me to download and burn a CD of BeOS for him, as he had an old computer and it looked like the only OS that would run it at decent speed,” he said. “And indeed it did,” he added.
“Back then Haiku was just starting to get app_server running,” Destugues said. “So I used BeOS (the ‘DevEd’ distro, more precisely) for some time, and eventually switched to Linux. But I was still following Haiku progress, and when the opportunity for contributing as part of GSoC came, I applied and Haiku was an obvious choice.”
His first GSoC application wasn’t accepted so he spent a year learning more about the project and successfully applied in 2009.
His project — adding internationalisation support to Haiku — was successful, and following GSoC he was invited to talk at BeGeistert, a conference focused on Haiku and BeOS.
“It was a memorable experience, including the road trip crossing most of France and Germany with another GSoC student and two Haiku devs to get to the event,” he said.
“As of today, Haiku is my main operating system and I feel that nothing comes close to it in terms of ease of use, responsiveness, and overall coherence,” Destugues said.
“Maybe I'm just too used to it. The project is also a great learning experience, both in C++ languages, algorithms, and computer-y stuff, but also in managing a team (especially as there is no single leader in Haiku in charge of decisions, possibly the most difficult setup to get working), community management, and many other skills not necessarily directly part of my job, but still very relevant.
“So, Haiku is both the tool enabling me to do what I want with my computers, and the place where I'm still learning about a lot of things around computer science, social interactions, and a lot more. I think it deserves giving back some of my time, and it's fully worth it.”
Prior to joining Haiku he had worked on a paint application called GrafX2, and he still manages the project.
“Over the years I also ended up maintaining various pieces of software,” he said. “Interestingly, very few of these are things I wrote from scratch. It seems my skills and interests are more in understanding others’ code and making changes in a way that keep it running properly. I find this to work quite well and I'm always annoyed at people who always want to rewrite everything. There is a lot to learn by reading other people code.”
Destugues also works professionally as a software developer, largely in the telco sector (“It currently does not involve as much open source code as I'd like, but we're working with some colleagues on improving this,” he said.)
Beyond BeOS and open source enthusiasts, the project has drawn some commercial interest from companies that previously relied on BeOS.
Destugues said that one example is TuneTracker Systems. The company builds command centre software for radio stations. A range of its software runs on BeOS; its TuneTracker Basic suite ships with BeOS, for example.
The company helped fund some parts of Haiku to help get their software running on the operating system, Destugues said.
“We hope to see more in the future in terms of commercial apps ported to Haiku,” he added. “It's great what we achieve with open source software, but it would be nice to see people managing to earn money based on their work for Haiku applications.”
HaikuPorts and HaikuArchives currently house a range of software that can be used with the OS. Destugues said he has worked on a range of software including small 2D games, porting tools for embedded systems and the occasional Python library he’s needed.
“Some people have bigger goals and achieved things such as porting Qt, LibreOffice, or other large applications over from the Linux world,” he said.
He said that the most motivated people have ended up working on Haiku itself, which means there can be fewer resources dedicated to the software ecosystem around the OS.
“Working on Haiku is often difficult and one ends up going ways completely different than expected,” he said.
“For example, the ports of LibreOffice or WebKit often end up uncovering bugs deep in the system, because they use it in unexpected ways when compared to usual simple applications. While working on one of these bugs, you may find out that your text editor simply is not up to the task and start writing a new one (this happened to KapiX while porting LibreOffice, so he created Koder).
“This kind of ‘down the rabbit hole’ programming is quite common in Haiku. We are fortunate that the all-in-one design of the OS (one single source repo and one single team in control of the whole OS) allows us to work this way. But it means if one wants to work on an application, sooner or later they will be fixing the OS as well.”
He said that although Haiku has a large codebase the team tries to keep it clean, reducing the barrier to entry for potential contributors.
“The documentation is sometimes lacking, but that makes it another thing people can contribute to,” he said.
“The team is welcoming and always willing to guide newcomers through the code and the contribution process. Even for people not fluent in C++, there are many ways to contribute, such as keeping translations to various languages up to date, helping other users, completing the user guide, etc.
“On the programming side, Haiku is a large project and there are tasks in all domains. No matter if you are a kernel hacker, user interface designer or even a web developer, there will always be some way you can contribute.”
Haiku can be downloaded from https://www.haiku-os.org/