Today we have a second interview with Sven Jorg, head developer of BNX, an implementation of Haiku on the QNX Neutrino microkernel. Since the last interview, public reactions have formed about the project and the BNX SourceForge project has gone live. We'll cover those and other topics in the talk below.
1. Grant: Hi Sven. First things first. How do you pronounce BNX?
Sven: I pronounce BNX as |binɪks|.
2. Grant: And in the IPA no less! Very good. Moving on, your SourceForge project went live. When we last talked, it was still pending approval. What was that all about?
Sven: SourceForge has a slow approval process that typically takes several days. In our case, however, another project was using the BNX name. Since it was inactive, we requested to take over the name. At this point Eric S. Raymond stepped in and told us that unless we used the Linux kernel, he would prevent our use of the BNX name on SourceForge. He was holding our project name hostage. We had to appeal to higher-ups at SourceForge and they eventually approved our request. So, finally, our SourceForge project is up and running.
3. Grant: I never knew Mr. Raymond took such a particular interest in what software SourceForge projects used.
Sven: Nor did I. The people from SourceForge said it's been a problem lately and they're trying to get him some help.
4. Grant: I hope everything goes well for him. What else has happened with BNX since we last talked about it two months ago?
Sven: We've looked more into XFS and its performance. We've been delighted with what we've seen. We're running Haiku and have found it to be quite stable. My test system only crashed twice in an hour! But on our new box, I was up to six crashes an hour. I was very impressed. Our new system uses dual processing and performance is simply astounding. We're multi-booting BeOS 5, Haiku, QNX 6.3 and Linux 220.127.116.11 using XFS. We also have Windows XP on there for games and Windows Vista build 5381.1 just because.
5. Grant: What kind of new development system did you get?
Sven: It is truly a sweet-ass setup. It took us the last six weeks scouring eBay for the parts, but every second was worth it. Our new system has half a gig of ECC RAM, two 320 GB hard drives, a Radeon 9200 PCI graphics card, and two 200 MHz Pentium Pros with 1 MB L2 cache each. And to top it all off I overclocked the chips to 233 MHz! Linux starts up in less than two minutes! We are ready to rock and roll.
6. Grant: Wow, that's some serious hardware. But why didn't you opt for something a little newer?
Sven: Well for one we are not a rich project. It is only Adolf and I. There is no financial base for the project, just the time and skill we can muster. No one gets paid to make BNX. For two, if we are getting our clock speeds up to the 2 GHz range, that would be something like 10x the speed of the Pentium Pros, and we would be at 60 crashes per hour. How could we develop an operating system? All of our time would be spent crashing and rebooting, never getting any work done. Six crashes per hour is a workable rate — 60 is not.
7. Grant: I guess that makes sense. Now, there were some questions raised after our last interview. First, are you aware of the existence of Zinzala, a BeOS-inspired work-alike for QNX?
Sven: Yes. It was, in part, inspiration for BNX. But as far as its usefulness goes, it hasn't been updated since 2004. It was also proprietary and, most importantly, was not BeOS-compatible.
8. Grant: Do you think your projection of a year until usability is an accurate one?
Sven: Our work lies in two places: making Haiku work on Neutrino and making Neutrino and Haiku work with XFS. I think the making XFS work will take between three to six months. QNX has no problem with XFS, it's just another userspace process. We might run QNX off its own file system and Haiku on XFS, but we'd prefer to have everything on XFS. It took three years to fully integrate XFS into the Linux kernel after SGI released it under the GPL. But we have their work to go from, So about 36 months for them but only six months for us.
Getting Haiku to work with Neutrino is the real challenge, and I believe it will take nine months to make Haiku work on Neutrino. Hopefully with the work we do to Haiku's servers, they'll be kernel-agnostic and you could run them on anything.
9. Grant: So does that mean that you will be developing the Haiku servers and integrating your changes back into the project? There was some noise over that — whether you would fork or share improvements with the main project.
Sven: What we'll do is share our changes that are easy to share and let Haiku integrate what they want. I imagine a lot of our changes will only be useful in certain contexts. But they can do with it what they want. We may end up forking but we'll try to avoid that as long as possible. Haiku would be a more powerful project if they had support for more than one kernel, so they will be thanking us before long.
10. Grant: Haiku News ran an item about BNX being
yet another Haiku derivative and expressed doubts about the project.
Sven: This is insecurity and jealousy. BeOS users have seen a lot of failed attempts to resurrect their favorite operating system. Haiku has every right to think they will do the best with the bits they're making. We will prove to them just what BNX can do in the future. But really, if they don't want us using their servers on another kernel, they should change their license. It's as simple as that. Don't whine about us using your code when the license you used allows us to! I just have this to say: Don't worry, be happy! You're getting Neutrino support for free!
11. Grant: Does any work with Neutrino itself have to be done?
Sven: It could be, but with how we're licensing it, it'll be a stock QNX Momentics SMP kernel with no customizations. We took this route because frankly it was cheapest for us as developers and for potential end-users. Haiku source is open; QNX is closed and any work on it would be expensive if QNX even does work like that. We never even asked if they modify their kernel for customers. We will eventually use a custom configuration for Neutrino, tuned for our priorities, which will be much different from a typical QNX install.
12. Grant: Is there anything else you would like to address today?
Sven: If there are any more concerns or questions, please contact me directly. Thanks for the interest in BNX. See you at the SourceForge!