Showing posts with label BeOS. Show all posts
Showing posts with label BeOS. Show all posts

May 22, 2006

Follow-Up With Sven Jörg, BNX Project

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 2.6.16.16 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!

Mar 23, 2006

BNX? Sven Jörg Talks About Merging BeOS & QNX

In the last few years, BeOS fans have witnessed the beginning of what some say is a renaissance for the beleaguered operating system. Haiku, an open source re-implementation of BeOS based on a kernel by a former BeOS developer, and Zeta, based on official Be source code taken over by German firm yellowTab, are the two projects on which many place their hopes for a BeOS revival.

And then there's the focus of today's interview with Sven Jörg — BNX, a mating of Haiku's open source BeOS servers with a specially-licensed, real-time kernel from QNX Software Systems. Jörg, lead developer of the project, talks with us today about his team's unique approach to their BeOS successor. I corresponded with Sven over the course of several weeks regarding what led the BNX team to their idea and how they will implement it in the near future.

1. Why the need for another BeOS? With Haiku and Zeta, haven't all the bases been covered?

Sven: Some might be happy to accept that. But those two other approaches have some serious drawbacks. Haiku is working on recreating an operating system that at this point over six years without an update. By the time they have something to fully replace BeOS 5, it'll be ten-year-old technology. When it's done, it'll be like 2000 all over again. In 2010. You might be able to use it to run old BeOS apps for nostalgia, but that's about it.

With Zeta, yellowTab are amending the BeOS API to make it more modern, but as hardware is changing so much so quickly today, they must devote a lot of resources to getting Zeta working with USB 2, FireWire, multiple cores, 64-bit, etc. Zeta takes the same small/efficient approach BeOS did, and it's farther ahead than Haiku is, but it still has the same basic problem: They are a long way from what we consider modern hardware and operating system concepts in 2006.

2. What is the ultimate goal of the BNX project?

Sven: Our goal, simply, is to create a bleeding-edge BeOS that can be used for high-end production. We want BNX to be a Media OS today, like BeOS was in the late Nineties.

3. What has changed that you must address in BNX in order to be a modern Media OS?

Sven: Two things. What an OS is expected to do, and the hardware it is expected to support.

Six years ago MP3 was coming into its own. Video-on-demand was also in its infancy. Now we have ways to manage tens of thousands of MP3s with just a few clicks and we're right on the verge of video-on-demand being ubiquitous. There's simply no BeOS solution to do anything like that. The Web has become richer and more complex, and has crept into the rest of the OS. Graphics standards have shot ahead as well. Everything is richer and offers more functionality.

As far as hardware goes, What was yesterday's high-end server or graphics workstation is now on the desktop and today's high end workstation includes 64-bit, four or more gigs of memory, two or more cores, larger and faster cache memory, real-time video encoding, etc. And here we have BeOS still choking on half a gig of RAM. This is the first thing that needs addressed in order to truly bring BeOS ahead to current times — modern hardware support.

4. How do you intend to take care of the hardware support problem without being bogged down in it like you say the other two BeOS projects are?

Sven: We asked which part of the OS that had to be upgraded in order to take advantage of these things, and that was the kernel. From that realization, we agreed that recreating it would take too long, as with Haiku. Licensing the actual BeOS kernel wasn't an option but still would have left us with too much work to do. So we began shopping for kernels.

5. What different options did you look at?

We looked at Linux first, of course, because it's everywhere nowadays. And we we weren't satisfied with what we found. Linux takes a very sturdy, monolithic approach. It's so sturdy and monolithic, in fact, that it's just plain bloated.

6. What about the real-time extensions to the Linux kernel that have received so much attention in the last year or so? Did you look at those?

Sven: Real-time Linux extensions are basically hacks. You can't expect it to be as good a product built to be real-time. Go with something built from the ground up to perform a certain way rather than a poorly kludged mess. This was the route the BlueEyedOS project had taken years ago. And looking to that project today, it is a footnote. Linux sucks.

7. Were there any other options worth noting before you settled on QNX Neutrino?

Sven: We looked at almost every popular Open Source kernel as well as a few commercial ones. None of them made sense, either because of their capabilities and performance or their licensing programs and prices.

8. So what was it about QNX that seemed right?

Sven: Adolf, one of the other BNX developers, dual-booted QNX for several years and had a lot good to say about it. And from there it was pretty simple. They have a proven track record and they aggressively support the latest hardware. Since they have a microkernel, you can choose which parts of the OS to license and which to leave out. We could just take the kernel and let QNX take care of the hardware while we focused on moving the BeOS API ahead.

9. So what parts go where? Are you licensing the whole QNX shebang?

Sven: No. All we want from them is their kernel. We'll throw Haiku's servers on top of it. In this manner, we get the tight fast kernel that supports new hardware innovations and the free time to work on the API of the system. We're also looking at taking some parts from elsewhere, like the TCP/IP stack from FreeBSD and and the XFS file system from IRIX. We will take whatever will give the BeOS API the best advantage, even if it means going beyond BeOS itself.

10. Where is the project now? What are your near-term goals for BNX?

Sven: We are running QNX Momentics 6.3 SP2 as our development platform and, thanks to QNX's modular design, are getting different parts going. While we test parts for our OS, the whole QNX OS is already there working. So for instance we can just fire up the TCP/IP stack and test it. Moving to XFS is another goal, a bit trickier but so far it still seems feasible. Before we do anything else, we want filesystem and networking support on top of our kernel. From there we will get Haiku's BeOS servers running, and that will take some work. They have to be modified to work with Neutrino and our new file system and networking stack. After that, it's pretty much all in place.

11. To get it down to a number, when do you expect to be able to run BeOS apps?

Sven: Within a year from now.

12. A year? That's a fairly short amount of time compared to the other projects.

Sven: We'll spend a year getting things together and still end up just about where the others are in terms of functionality. That's thanks to using Haiku and Neutrino. We can focus on sewing it all together rather than recreating anything.

13. What were the licensing terms with QNX Software Systems?

Sven: We aren't allowed to comment on any of the figures or stipulations involved, but I can say that their contract with us was very generous. It went a long way to making our decision with QNX final. :)

14. Do you find it ironic that many saw BeOS and QNX as rivals at one point and now you're dependent on one to realize the other?

Sven: There aren't really any feelings involved except the desire for a working BeOS successor.

As for the rivalry, I think it was misplaced. BeOS was a Media OS, and QNX was an embedded OS. While there are many common things between the two, they were targeted at different places. QNX only ran on the desktop as a development environment for itself anyways. BeOS ran laps around that incarnation of it.

15. What kind of PC will I need to run BNX?

Sven: You can get by well with a 1 gig Pentium III and half a gig of RAM, though BNX will in theory run on anything the Intel QNX Momentics system would run on, from Pentiums on up. Adolf is on a 450 MHz Pentium II system with 512 MB RAM while I use a 2.8 GHz Pentium 4 with a gig of RAM. It will depend on what you want out of the system, really, that will dictate hardware requirements. The newer the better though. We're about to get a Core Duo system to develop on.

16. And what's the current status of the BNX project page at SourceForge?

Sven: Another project had the BNX name already, but since it was inactive, we took it over. Unfortunately that process takes about two or three weeks to complete. So we have our page, we're just waiting for it to activate.

17. Thanks for taking the time to talk with us, Sven, and best of luck on the project.

Sven: Thank you, Grant.

Jul 25, 2005

Zeta: A Refreshing State of Being

Ever since Be, Inc. was dissolved and its BeOS technology was turned over to the Palm OS charnel house in '01, Be fans have been eagerly awaiting a successor to their favorite operating system, with very few rays of hope since. Earlier this month, however, yellowTAB released their BeOS descendent Zeta.

Based on Dano—an unreleased BeOS 5 update that managed to sidestep Palm's meatgrinder—Zeta has been in development since early '02 and progressed rapidly due to its direct lineage from Be and so has a huge lead over other projects like Haiku, PhOS, and BlueEyedOS. Have Be fans finally found their savior, or is this just another failed attempt at reviving the dead?

Read on: this review will help you decide exactly that.

Getting Started With Zeta

Zeta Quick Facts

Release Date: June 09, 2005 Company: yellowTAB GmbH Price: $129 ($99 sale price)

Zeta comes in a professional-looking DVD case and its packaging and manuals are surprisingly easy to read having come from a German company. And happily, installing it is painless and relatively fast, improving upon BeOS 5's installation procedure. After booting from the CD, I was at the install screen in under fifty-five seconds.

The installer first requires you to choose a language. I chose American English, though they offer localizations for British English, Japanese, German, and about twenty other languages. After the language switch, which takes about a minute, there's a standard EULA and then the hard drive partitioner. Oddly, you can't delete partitions, but resizing is supported.

A full installation takes about a gigabyte of space and around seventy minutes to finish, though times will vary with hardware. You can choose to install the BeOS bootloader. If Zeta is to be your primary operating system, I recommend this option. It can handle Windows too, but not Linux. Some might find this troublesome though I think it's just fine — after using Zeta, Linux will seem downright neanderthal.

Love At First Boot

Zeta boots fast, in about ninety seconds, and delivers you straight to the preferences program. Hardware support is excellent and everything came up roses with my system, so I had very little to configure save for personal preferences. In contrast to BeOS 5, the preferences are altogether in one program rather than seperate panels, analogous to System Preferences in Mac OS X.

The icons in Zeta still look the same as they did five years ago but the rest of the GUI looks like a refugee from an early Nineties techno album cover — the windows and buttons are now shiny, polished, and plastic and the yellow color used for the window and tabs is entirely too bold. Because of this the GUI is much more obtrusive than it used to be. Fortunately, you can switch back to the matte finish of BeOS 5.

Well, you should be able to. I also tried using the Windows, Amiga, and Mac OS styles as well but had no luck. Perhaps trying to use five different GUI skins was too much for the operating system? On top of that, some windows that dimmed in the background wouldn't return to their normal coloration after being selected and the Deskbar would grey out randomly. The GUI certainly didn't earn yellowTAB any points here.

Applications and Utilities

Zeta certainly comes with a lot of multimedia applications, both updated versions of Be apps, the original Be apps, and third-party apps in various states of antiquity. Since I'm not a very multimedia-oriented person, most of these were lost on me, but I can comment on some more general programs a typical home user is likely to be interested in.

Instant messaging is a mess. First, the only supported protocol is AIM, which is fine most of the time, but there is absolutely no Yahoo!, or MSN support for when you might need it. Furthermore, the AIM clients in Zeta — one old one from Be, one new one from yellowTAB — support none of the newer AIM features and are buggy and crash a lot. Don't trust Zeta if you like to chat.

Browsing is handled by Mozilla 1.0.3. It launched in fifteen seconds and took only five seconds to render the Trollaxor.com home page. Everything in the browsing experience works fine, except for one show-stopping bug: Opening local HTML files causes Mozilla to crash. This embarrassing bug shouldn't have been allowed to leave the labs unsquashed, but somehow did. For shame, yellowTAB.

Hardware Support — The Hard Way

Review System Specifications

Processor: 233 MHz Pentium Pro (2x) Memory: 512MB 60ns EDO RAM Hard Drive: 40GB EIDE

My scanner, an Acer 320U "Prisa," was unsupported. Upon looking at the hardware page on yellowTAB's site, however, my initial curiosity was met with disappointment and surprise. Zeta supports only five scanners, and even the second Pentium Pro in my system doesn't work as yellowTAB has yet to support my motherboard. In five years, Zeta's hardware support is sadly nowhere near what it should be.

The lack of support for my other hardware quickly became infuriating: The scroll wheel in my mouse was useless, my digital video camera wasn't one of the three that Zeta had drivers for, and my monitor gave me a headache with its 50KHz refresh. Zeta has had years to write drivers for new hardware but instead has barely tip-toed beyond BeOS 5. In a word, Zeta's hardware support is unacceptable.

Other Points Of Interest

Zeta ships with bash, a popular Open Source shell, and a host of standard Unix utilities. While having Unix at your fingertips is nice, it seems more like a kludge than part of the system, and has since the early days of BeOS. yellowTAB pretty much kept Unix support at status quo, so don't expect the integration you get with Mac OS X. Perhaps they should start using FreeBSD as a reference platform.

Of course we're all familiar with Be's filesystem querying capabilities, which was revolutionary in the late Nineties but at this point is ubiquitous on the desktop since Mac OS X Tiger and Windows Vista. Only Linux has yet to catch up with this functionality. This used to be a killer app for BeOS, but now isn't worth writing home about. It's barely even worth writing a full paragraph.

Zeta recognizes MMX, SSE, 3DNow!, HyperThreading, and x86-64/EMT64. Zeta is just now starting to optimize for the above processor features, though it's still really a 586-and-better system. It's rumored to execute as much of the kernel as possible from L2 cache. Zeta is still only 32-bit, however, and 64-bit processor support is likely not to happen for years, if ever.

Putting It All Together

Looking at things from a Mac OS X or Windows XP standpoint, Zeta lacks polish, hardware support, and a lot of thoughtful features. Part of this is due to reviving the BeOS from its moribund state, while another factor is the small development team who simply can't compete with the 200+ engineers Apple and Microsoft have behind their offerings.

If you're a long-time Be warrior, however, Zeta is the only game in town at the moment. Haiku, an Open Source project to recreate BeOS 5, is still in developmental stages. BlueEyedOS is stalled indefinitely and PhOS has no future, legal or otherwise, in sight. Even though Zeta feels like the first faltering step of a bedridden patient after five years, it's the only one taking any steps at all.

Jul 5, 2005

BeOS: Has-Been or Will-Be?

For an upstart operating system, BeOS hit a lot of marks: It outran Mac OS and Windows on their own hardware, supported modern operating system features before anyone else did, piqued Apple's interest as the replacement for Mac OS, ideologically succeeded the Amiga platform, started a rivalry with embedded operating system QNX, and did all of the above while booting in under thirty seconds.

Such innovation does not always equal success, however, and Be, Inc. was liquidated by late '02, its intellectual property being swallowed up by Palm (and now held by PalmSource, Inc.). The last release of the BeOS was in 2000, and in five years the computer industry has leapt ahead, while Be fans remain in limbo on an increasingly outdated system with no hope for reprisal.

Or is there?