Haiku OS Resurrects BeOS as Open Source
Technical Writing Geek writes "The Haiku project, which began shortly after the death of BeOS in 2001, aims to bring together the technical advantages of BeOS and the freedom of open source. 'The project has drawn dozens of contributors who have written over seven million lines of code. Although Haiku is nearly feature-complete, there are still numerous bugs that must be fixed before it is ready for day-to-day use. The design principles behind Haiku are very closely aligned with those of BeOS. The central goal of the Haiku project is to create an operating system that is ideally suited for use on the desktop--this differs significantly from Linux and other open-source operating systems which are intended for use in a diverse range of settings including server and embedded environments.'"
But I don't look forward to the long climb up the curve of identifying and cleaning up what, going by past experience, is likely to be quite a nest of security issues.
Having said that, if it is actually like BeOS in that it handles multimedia similarly (that is, *really* well and without even a nod towards DRM), I'd be very likely to put some effort into using it. Linux's swap paradigm is completely unsuited to applications that need to respond *right now*, OS X is just about the same (it's only been a matter of hours since I shook my fist at Leopard for swapping out things I was using), and Windows... ugh. Going completely the wrong way.
I suppose it'll be a while yet, though. [prepares to wait]
I've fallen off your lawn, and I can't get up.
$action = empty(PHP) ? backToC() : unset(PHP) ; "when the concrete cases are understood, the abstractions are readily
A direct link in the summery would have been nice:
http://www.haiku-os.org/
http://en.wikipedia.org/wiki/Haiku_(operating_system)
Am I the only one that thinks that this is a horrible idea from a security perspective? Also, wouldn't the integration of network functionality mean that Haiku is about as much of a microkernel as Windows NT?
We all know what to do, but we don't know how to get re-elected once we have done it
It would have been nice for the summary to include a link to the Haiku OS site.
Love sees no species.
I used to run BeOS and am a huge fan. When this reaches the point where it runs reasonably well on an EeePC, the dubious Linux install on that thing is *so* gone.
Actually there is a fairly substantial legacy issue associated with BeOS/Haiku, but not in the way you are thinking. The ABI used by BeOS is not supported in GCC anymore. Haiku Release 1 is striving for binary-compatibility with BeOS. What this means is that if you want to run original BeOS applications, it can only be compiled against GCC version 2.x. Haiku can be compiled against later versions of GCC, but you will lose the ability to run older software unless it's recompiled for Haiku, which may be impossible if it's closed source.
there were other legacy issues with modern hardware that existed with BeOS as a result of having died so young, but these don't exist with Haiku.
There is a fairly recent vmware environment maintained by haikuware.com
The Feb. 9th release is http://www.haikuware.com/view-details/development/app-installation/74-weekly-super-pack-feb9th-r23934
It contains a fairly diverse set of old beos apps which are function in haiku as well.
In terms of compiling the project and installation to a partition, doing this from linux is by far the easiest route due to the lack of an installer and tested self-hosting.
http://www.haiku-os.org/documents/dev/installing_haiku_to_a_partition_from_linux
Hope this helps.
Greed and money,
Like a thicket of beard,
Obscure good and sunny:
Let all things be sheared.
Burma Shave
Get thee glass eyes, and, like a scurvy politician, seem to see things thou dost not.--King Lear
It's nice to have all those systems, but when people are looking at creatingsoftware for an open system for the desktop, they target Linux, possibly with a side of BSD. If the result compiles on Be, that's an unintended bonus, but nobody in his right mind is going to go out of his way to make it so.
The people of Bibble Labs who make commercial (and closed source) photography software which I buy from them sell their stuff for Windows, Mac OS and Linux (which is why I use it).
The last time I looked at Be, it wasn't too hard to *port* Unix/Linux software to it. However it really needs to be able to "just" run it, at least for the Linux binaries (like the *BSD do with the Linux libs). Otherwise it's going to be a repeat of 1999 (or whenever that was) when everybody played with the Be live CD or created a little partition to poke at for a while, and then went back to Linux or Windows or whatever the system where his software and data lived was.
Be was/is a nice system, among other things I liked the ideas in the filesystem. But unless there's actually a reason to use it (and there's none), nobody will. Unless you're into that kind of thing and you still have a little space next to your OS/2 partition. But then you're probably too far gone anyway.
May contain traces of nut.
Made from the freshest electrons.
Did you ever even use BeOS? Did't you see the "app_server", "net_server", "recyclebin_server", etc? What exactly do you think a microkernel is? BeOS made EVERYTHING a service.
"When life gives you lemons, don't make lemonade. Make life take the lemons back!" -- Cave Johnson
What I want is a computer where the "OS" is just a virtual PC launcher. I would have multiple OS installs on scaled down "OS" virtual drives and then a common (shared) "user" drive that consumes the rest of the available space. An OS wouldn't be shutdown or started, it would just be resumed (and in the case of Microsoft, reset occassionally). And the virtual environment would have a set of drivers for my hardware so that my virtual PC's could use full 3D rendering and sound and whatever else I stick in that box.
Layne
Haiku is an example of code reuse par-excellence! You can get a normal desktop footprint into something like 60 megabytes. (Not one of these cut-down small footprint distros.) It's how an object-oriented multimedia operating system should be done.
http://video.google.com/videoplay?docid=236331448076587879
Haiku is damn cool
The One OS that follows
Don't Repeat Yourself
God, that was really unclear. OK, first of all if the OS is compiled with GCC v.2.x so that you get binary compatibility with BeOS, that means that ALL software for your system has to be compiled against GCC v2.x. With regards to "legacy modern hardware," what I meant was that BeOS just plain doesn't run on many hardware that came after Be died, because of incompatibilities in the kernel. BeOS Max Edition is an unofficial "distribution" of the free "personal" version of BeOS which includes some binary kernel patches to allow BeOS to run on more modern hardware. Of course Haiku is open source, so it does not suffer from this limitation because it can just be patched and recompiled.
Lack of drivers will be an issue with both platforms, but the intent is that there will be driver compatibility between BeOS and Haiku, of course. AFAIK this mostly works. Additionally, both OSS sound and FreeBSD drivers can be recompiled and used in Haiku, so you get all that hardware support in Haiku that never existed in BeOS.
in 1997 Beos could run multiple videos in real time and remain responsive to the user. This was back when playing one video on windows or quicktime introduced dramatic slow downs on the same hardware.
Beos originally had a database file system that MSFT has been trying to duplicate since. BeOS had a local file search in 1997 that would rival OS X 10.4 or Windows Vista.
they were a decade ahead of their time, and got killed by MSFT because of it. Unfortunately parts of the GUI and system now are behind the others. It is a bit dated, but there are many things that can still be learned by the other OS/GUI makers.
i thought once I was found, but it was only a dream.
It's also inherently multithreading capable - again, not so much of a feature these days, but eight or nine years ago, it was a Big Thing. It was a completely new idea for an OS - none of this silly "if it ain't broke, don't change it" mentality of *nix - or for that matter, the "it's broken, so let's break it some more" attitude of MS/Windows. BeOS was a completely new OS in just about every way you could think of. It's just a shame Palm doesn't feel like giving away the source...
Great... Just what I need, more zombied processes.
If "disco" means "I learn" in Latin, does "discothèque" mean "I learn technology"?
>>Multimedia works just great on my Windows XP machine.
Please don't take this as an insult, but the reason you feel that multimedia works "just great" on your XP box is probably because you've not seen anything better. In the same way propeller-driven aircraft were just fine until jet engines came along. BeOS *was* better than anything else at the time (Can't speak to Haiku, as I've not run it). I ran BeOS as my primary OS for several years and in those days Windows would struggle to play two (or sometimes just one) video smoothly, with well-tracked audio. BeOS had no problem on the same hardware with a half-dozen simultaneous videos. It could simultaneously import video, mix audio tracks and play video streams, render 3D graphics, etc. and when it did slow down, it did so gracefully and never failed to respond the way that Windows would (e.g. click a menu, wait 20 seconds for Win to load the code and draw the menu).
The main thing is, BeOS was amazingly fast and responsive in the days of I486 CPUs and 128Meg RAM. Menus and UI elements responded instantly. Cold boot to completely loaded desktop, on the net, HDD light off and ready to work? Something like 15 seconds. Windows took something like 2 1/2 minutes by comparison and the HDD never quit rattling. Why? Clean design internally and small size -- about 50MB for the whole OS including sample applications, code, and demos. (Or to put it another way, about the size of one of the hundred-or-so security patches for Windows XP.)
From a programmer's perspective, BeOS was the best-designed OS I've ever coded for. Everything was logically named, well structured and designed with threading in mind. (In fact, every window ran in its own thread). Written entirely in C++, it was just brilliantly designed and easy to code for!
Personally, I'm pretty excited about Haiku. IMO, BeOS was the best OS from the 90s. (BeOS was created by a spin-off group from Apple France, the same group that defied Steve Jobs' direct orders and developed the Color Macintosh (early 1990s?) and saved Apple. I was profoundly disappointed that Apple chose NeXTStep over BeOS for what was to become MacOSX.
So, that's my long-winded way of saying "give it a try! You have no idea what you're missing."
As a former BeOS fan, I agree it was a great OS, but let's not whitewash the past. They had some significant design challenges ahead of them if they wanted to go mainstream. Everything from the "fragile base-class problem", which they never really solved, to support for lots of functionality most users consider basic these days had the potential to eat away at the performance.
...which is why Apple hired the guy to help develop MacOS X 10.5.
BeOS had a local file search in 1997 that would rival OS X 10.4
they were a decade ahead of their time, and got killed by MSFT because of it.
"got killed"? Apple didn't buy them, and Microsoft encouraged VARs to not sell it pre-installed, but the simple fact is that it wasn't really valuable enough for most people to want to buy it. Windows 95, Windows 2000, linux and MacOS 9 were "good enough" for most folks across most market segments.
E pluribus unum
If I understand you, it sounds like haiku/the beos user movement needs someone to intentionally break gcc-2.x-binary-compatibility (like redhat did with their gcc2.95 in RH8) to kickstart the move out of the old software. Possibly there's no one Free-BeOS users' group/os-project that has the numbers to catalyze all the others into switching. Too many forks, not enough people to choose just one and stick to it. Which is a shame, from the time I ran BeOS Max PE, it was a work of genius.
FreeBSD for the impatient.
It could just be idealogical. Not everyone agrees with all the stipulations of the GPL, and so given they choice they may simply prefer to work with BSD licensed code when they can.
"People who think they know everything are very annoying to those of us who do."-Mark Twain
The submit button
Made your post into a line
Like a fencing foil?
Get thee glass eyes, and, like a scurvy politician, seem to see things thou dost not.--King Lear
Interesting tidbit though: from what I've read, BeOS was Apple's #1 choice as a base for what they wanted to build into Mac OS X. BeOS's CEO wanted $400 million for the company though, and Apple was only prepared to offer $100 million. So, Apple ended up buying out NeXT instead, and based OS X on that. Now OS X is a WONDERFUL platform, and that might have even bee the best choice, but I really, really wonder what MacOS X would look like today if it HAD been based on BeOS. My gut feeling is that we'd have an even nicer Macintosh operating system than we do now.
"People who think they know everything are very annoying to those of us who do."-Mark Twain
I see a lot of shortcomings in Minix. It's a toy os, and that doesn't satisfy me. I think I'll make my own. Yeah, that's the ticket.
(With apologies to Linus Torvalds)
I'm waiting for a "-1 somepeoplejustshouldn'tgetmodprivileges" meta-moderation.
-- Jean-Louis Gassée, CEO Be, Inc.
Shutting down free speech with violence isn't fighting fascism. It IS fascism!
Enjoy.
"Programming is the fine art of making a machine that has absolutely no intelligence act as though it does."
I used BeOS for about 20 minutes back when it was around. I would have spent longer playing with it but something amzing happened. When I went to to check if it could recognize my modem it did and it connected to my ISP. Which was something I was unable to do with any version of Linux I had tried so far. So I quickly started digging through the differances in the code of the Linux version I was using at the time and BeOS to find out where the magic happend. I didn't find it but I asked some others and turned out I was only one line of code away from fixing the problem. /bin/setserial -b /dev/modem IRQ 3
I never got back around to trying BeOS but I am ever so thankful for it providing me proof that my modem was supposed to be working. After that I deleted windows from the 1.3 gig hard drive and was Linux only. Been windows clean for about 9 years now and I owe it all to BeOS. Maybe when Haiku comes out I will dedicate at bit more time to it. Maybe it will be or provide an alternative to Windows for more people.
Ascii artist &
I know it will kill the performance to some degree, but why not create a compatibility layer ala WINE for BEOS apps ? BINE perhaps?
I bought BeOS, back in the R3 days and was very sad to see it go. Despite the lack of hardware support it truly was a revolutionary operating system, its multitasking capabilities were unmatched on the hardware at the time and I can only imagine what it might be like on modern hardware. I will definitely be keeping an eye on the progress of this project. Personally I would love to see this project gain some support from the music creation industry. Software like Traktor, and other DJ related software would run fantastically on this OS. BeOS was touted as a multimedia OS and it blew everything else out of the water at the time.
> Do we really need another OS?
... Get the latest, choose 64 bit or 32 bit and one of versions and you are set.
Ever heard of the disadvantages of monoculture? (Yes, I know, it has significant advantages, also.)
One might also ask "do we really need another antibiotic"? Relax and think of it as pure research.
> for a novice it is daunting to figure out which of the 100+ distros to get.
As has been reiterated here hundreds of times: it's trivial for him if it's a pre-installed distro.
> With Microsoft or Apple it is easy
OK, I want the latest Apple OS --- for my Dell. Oops! And how does that novice choose between 64 and 32 bit by himself? I'll tell you how --- he asks the salesperson for help. The thing is, since no one makes extra money on Linux installs, there's no incentive (or at least no perceived incentive) for the salesperson to familiarize himself with the the Linux world so he can give the customer informed advice on distros.
I wonder how many of our youthful readers are staring at your post, muttering "WTF?"
Poor kids...
is there a particular reason you can't have both? (and statically link the libraries needed for the older-gcc-compiled binaries? it would take up disk space, but that's cheap these days...)
FreeBSD for the impatient.
The system you described is what I use every day. It is called Moka5 BareMetal, and you boot into it and select what virtual environment you want to run. The virtual environments (what they call "LivePCs") automatically update when the version on the server is updated. It keeps the user data (documents, settings, etc.) separate so you can revert and update the system without losing your data. You can suspend them and they start up pretty quickly. Makes using XP and Vista a lot more pleasant, plus I have a bunch of other Linux distros installed. It's a very cool system.
To stay on topic, there is a Moka5 LivePC for HaikuOS available for download, so you can try out Haiku without installing it.
I've tried Haiku on a virtual machine and I must say it's pretty cool. If you are thinking about trying it yourself, beware, it doesn't come with a web browser installed. You can download one as well as various other programs at Haikuware.com. If you want a version that has everything pre-installed try the weekly superpack.
One of our competitors trademarked the term "hypothesis". From now on, we will call them "boneheaded ideas".
Let's not whitewash the past. Microsoft used it's monopoly position to strong arm VARs into not selling it pre-installed with Windows. MS stated clearly that the VARs had to either stop pre-installing BeOS with Windows or had to pay retail for Windows, which would have been a death sentence for any VAR distributing BeOS.
That was the basis for one of the anti-trust lawsuits filed against Microsoft.
There is no "-1 offended" or "-1 you don't agree with me" mod options for a reason.
IIRC this was requested. The BeOS binary-compatible code was suggested to be placed in /beos while the GCC4 code should be placed into /haiku. If my memory serves me right, this idea wasn't welcome because it's too much work, wastes too much space on old PCs and so on.
Describing it as 'relatively good' is questionable. Ever booted one of the Copland Developer Releases? I managed to coax it into happening once. It was not pretty.
(I think I still have a copy of the disc, but it'd be difficult to find the hardware to boot it on now. It only worked on a handful of early PowerMac models.) Steve Jobs was brought in to suck up to Microsoft and cut the deal which kept Office on the Mac for five years. Uh, yeah. This was on his job description, then? Apple needed that deal to survive. That's the real reason for the NeXT acquisition. No. The real reason was that Apple's board went out looking to buy an OS once it became clear the internal next generation OS project had failed. At that time, it probably would've been possible to resurrect Copland by cleaning house, hiring replacements for those booted out, and restarting implementation nearly from scratch, but the result would have been far too late and far too out of date to be worth the cost in dollars or time. With the company in deep trouble due to the lack of a modern OS, the best option to get back on track quickly looked like acquisition (not just for the code but also to get the engineering staff and management -- Apple's problems with Copland had a lot to do with the organization, see above comment re: cleaning house). NeXT was supposed to be closer to deployable than MacOS 8 or BeOS, but, as it turned out, it was years away from delivery as MacOS X. NeXTStep was by definition deployable -- it had been deployed for years, since before 1990. And in fact Apple almost immediately shipped a slightly warmed over NeXTStep as MacOS X Server (it was, more or less, NeXTStep skinned to look a bit like MacOS 8).
In the early days of the NeXT merger, Apple was trying to push the idea of legacy Mac application compatibility only in a penalty (emulation) box. They had a pretty realistic shot at shipping that in about a year. However, Mac developers (not just Microsoft) revolted, because they'd have to completely rewrite their GUIs in an unfamiliar language and UI toolkit to get out of the penalty box. So Apple had to go back to the drawing board and come up with Carbon, and while they were doing Carbon they decided to modernize everything which needed modernizing in NeXTStep, which was a lot because NeXT had actually stopped new development on NeXTStep the OS for a few years mid-90s. And that's how it stretched to 3-4 years post-acquisition to ship MacOS X (client) 10.0.
The same process with BeOS instead of NeXTStep would only have shipped later, as BeOS simply wasn't as complete a system to begin with.
The central goal of the Haiku project is to create an operating system that is ideally suited for use on the desktop
The degree to which an OS is suited to use on the desktop is primarily determined by (1) available applications, (2) ease of use, (3) driver support, and (4) stability. Linux has BeOS beat on (1) and (3). There is almost no work on usability on Haiku. And even in the best case, Haiku is at best equal to Linux on (4).
I'd say that if you look back at OS history then, it's clear why Apple went with Next.
BeOS had a lot of buzz and a lot of attention from the media producing world, and in fact, that's where it actually made the most real impact: Level Control Systems was selling a BeOS-based theatre system that actually ran some Broadway and Vegas productions for years, Tascam made a multitrack recording system based on it, Steinberg ported their "Nuendo" system to it, etc. And that's why a lot of people thought it made more sense for Apple to start with it than Next, which was known mostly for their dazzling development environment and deployment through a few large organizations. But Gil Amelio, Apple's CEO at the time, was obsessed with getting into the "enterprise" market. BeOS on the cheap would have been fine, but not at the price Be's CEO was asking -- which was around $250 million, IIRC, not the $400M that someone else mentioned. As it turned out, Amelio paid over $400M for Next, because the "enterprise credibility" he thought they had was that important to him.
At the time, I thought Apple hadn't made the right choice, but in retrospect, bringing Steve Jobs back to the company has almost certainly put them in a much stronger position a decade later than they'd have ever gotten under Amelio. From a purely technical standpoint, BeOS would have been at least as strong a foundation. (It had its share of technical problems, but if it had kept being developed by a team the size of the current OS X team, for another ten years, it's reasonable to assume those would have long since been solved.)
Despite having various servers for large areas of the operating system it can't really be called a microkernel. A microkernel will have (as close as possible) to the bare minimum of functionality to get and keep a machine running safely; see L4, etc. As another poster commented, BeOS included drivers, filesystems, and even started moving networking _into_ kernel land (with the BONE system which was released in a final form). A modular kernel, yes. A microkernel, no.
AmigaDOS booted from an 800k floppy and needed less than 512k of ram. It had all these basic gui things: file management, task management, a user friendly command line shell and so on. I do like the BeOS style interface, but its greatest accomplishment is not its size.
Yeah, but Amiga printing support was terrible, and that brings up an important limitation / benefit. AmigaDOS had a huge advantage that today's operating systems cannot have. It was welded directly to the hardware. Witness GDI in Windows, or, for that matter, the drawing surface in BeOS. Those surfaces completely abstract the graphics device from the user. That adds bulk and complexity to the OS code, but it means you can have an upgrade path for graphics cards.
By contrast, in Amiga OS, you could always fish your way through the display to the underlying RastPort. You could take a pointer to an Intuition object, like a Window, then go into a Screen, and from there a RastPort (or something like that)... anyway the RastPort was the animal that was the screen memory and you could write to it willy nilly. There was the whole mess of multiple graphics planes that complicated things, although you could use the Blitter.... the point is, if you liked hacking on hardware, (which was the best part of 80's computing), you could do whatever you wanted, but that ultimately married your application to that hardware. Windows changed that... but that made it more complex.
Nowadays, graphics hardware is insanely complicated and you almost have to thank the Gods that nVidia and others actually write drivers for it. I would love to see a specification, at some point, that was as clear about how to drive a modern graphics card as RJ Mical's (right name) documentation for the Amiga Hardware. I still have the book, best hardware doc ever written. Given that, you could theoretically write a small OS pegged to a PC with a particular graphics card, sound card, and network, but what would that get you? Size, speed and elegance... but, ultimately, the economies of scale would screw you in favor of big fat retarded operating systems that abstract everything.
Now, there's quite a few features that AmigaDOS lacked that we would consider essential in this day and age. That would add to the bloat as well.
a) Printing. I think printers are terrible and foolish but some people can't live without them and have to have that paper copy. Does anyone remember the hype of computers bringing the paperless office? That was a few billion trees ago!
b) Scalable Fonts. Amiga DOS had nothing like True Type
c) Clear Type, font anti aliasing, scaling, etc. Amiga just had bitmap fonts. Fonts were blitted over and that was that.
d) 3d graphics.
e) Better sound. Amiga's 4 channel 8 bit sound would a bit dated by today's standard. Although, I loved how easy it was to program.
This is my sig.
Less support than Unix, no wireless - lame.
Well, the Color Macintosh was created after Steve Jobs left, so it wasn't him that told them not to produce a color Mac. After all, Steve left about 1985 or 1986. From what I understand about BeOS, the idea was that, by creating an entirely new OS, they could create a light and fast OS that wouldn't be encumbered by backwards compatibility. Apple borrowed this idea/philosophy while they were working on Copeland and when they purchased NeXT, except that, instead of eliminating backwards compatibility entirely, they created a special environment, which allowed them to cut old code out of the OS.
"I'm glad I'm going to die because, when I do, the world's gonna go to the dogs." -Me on aging and the next generation.
Eivind.
Doubting the existence of evolution is like doubting the existence of China: It just shows that you're uninformed.