Haiku edges toward general release
Haiku, the open source re-creation of BeOS, threatens to become "The Duke Nukem of operating systems,
" joked long-time contributor Ryan Leavengood. Actually, after eleven years of development, Haiku still falls four years short of Duke Nukem Forever's long delay, but few other projects have been so long in development. However, with the recent release of Alpha 4.1, Haiku is at last nearing general release.
Haiku started in 2001, after Be, Inc. was bought by Palm and development stopped on BeOS. Although never popular, BeOS had developed a cult following due to its rethinking of the assumptions that go into most operating systems, and the resulting simplicity and performance. To this day, some of its features, such as the customizable attributes supported by its filesystem, remain either unimplemented on other operating systems, or else implemented with more overhead and less efficiency by desktops or specialized applications.
Consequently, BeOS retains a certain nostalgic cachet, with at least one distribution, ZevenOS, dedicated to recreating its user experience on Linux. Although Leavengood suggested vaguely that Haiku might interest modern users with older machines or concerns about viruses, more likely the main interest in the finished Haiku will be due to its unique structures and solutions. If nothing else, they retain a historical interest as roads not taken.
Reasons for the delay
Over the years, about twenty active developers have drifted in and out of Haiku, with occasional new contributors being attracted through Google's Summer of Code and Code-In. Along the way, project founder Michael Phipps and several others have had to drop out for personal reasons, but, by now, the core developers have become a close-knit team familiar with each other's preferences and long-accustomed to filling in for each other.
So why has the project taken so long? According to Leavengood, many of the
basics, such as the kernel, the API, and most of the subsystems for
printing, sound, and other basic functionality — the
"kits,
" in BeOS / Haiku jargon — were largely finished
in the first years of the project. He continued:
Moreover, as a small project, Haiku often faces an unresolvable dilemma. On
the one hand, struggling to keep pace with a much larger project can be
demanding for a small team of hobbyists. For example, Leavengood, who first
ported WebKit to Haiku, observed that at times WebKit can have
"hundreds of commits
" daily.
On the other hand, when a key piece of software is forked, it can fall behind the original version and become increasingly difficult to patch. Haiku ran into this second problem with GCC, finding that the fork of release 2.95 originally used by BeOS needed to be replaced with a much later release in order to build WebKit. What seems expedient in the short term may actually have created more work in the long term.
Now, however, "we are over the hump of the last twenty percent,
" Leavengood said, "and I think the general release is possible by next year.
"
A quick tour of the desktop
![[Desktop]](https://static.lwn.net/images/2012/haiku-desktop-sm.png)
Exploring Alpha 4.1 makes Leavengood's prediction sound plausible. Considering that it is an Alpha, the release is a relatively mature milestone, with the operating system and many basic utilities complete and stable. (It follows in a matter of weeks after Alpha 4.0, whose release revealed timing and hardware compatibility issues that the project lacked the resources to reproduce without the assistance of more users.) It is available as both a Live image and a virtual machine image for VMware and VirtualBox, and installs in well under ten minutes on most machines.
Overview documents of both the BeOS architecture and the Haiku desktop are available as icons on the desktop, as is a Welcome page. All three are concise and well-written starting points for exploring the system, although basic navigation should offer few challenges for most computer users. The greatest problem may be minor inconsistencies and unexpected usages.
Like BeOS, Haiku is designed for use with a graphical interface and a built-in window manager. Currently, it is a 32-bit, single-user system, although a 64-bit version and multiple user support are in development.
On first impression, Haiku resembles a minimal desktop environment, perhaps slightly archaic in appearance compared to GNOME or KDE, but, like Xfce or LXDE, lightweight and fast to boot or open windows. Desktop icons, virtual workspaces, desktop applets, and limited customization options are all available, although themes are not.
Linux users may note small idiosyncrasies. For example, minimizing or maximizing windows is controlled by the same titlebar button, while multiple windows can be converted into tabs in a single window, as they can be in KDE. Similarly, although the desktop context menu has no item for adding launchers, you can drag and drop items from a file listing directly to the desktop. In many cases, expected functionality is available, but may not be immediately obvious.
The most important of these idiosyncrasies is the deskbar in the upper right corner. Like the launcher in Unity, the deskbar is an unmovable access point for the main menu, taskbar, the file manager Tracker, and system settings. Although unmovable and sometimes requiring users to drill down several layers, on the whole it is an efficient use of desktop space, although more text-based than many modern users are accustomed to seeing.
Currently, the main shortcoming of the Haiku desktop is a lack of applications. Printing to PDF is supported, but the browser does not support Flash, for example. As described on the Welcome page, users can install BeOS applications, but by modern standards, many offer only limited functionality. Similarly, most of the applications installed with Haiku are basic utilities, such as a CD player, a screen capture program, and a media player. Moreover, most of the applications go unmentioned in the help pages and have names that will not only be unfamiliar to Linux users, but provide no clue to their function until opened.
Probably, the most advanced — and most important — application is WebPositive, the WebKit-based browser. Although short of features compared to Chrome or Firefox, WebPositive appears faster than both. Just as importantly, the browser helps to compensate for the lack of productivity tools such as spreadsheets or word processors by providing access to online tools like Google Docs.
Under the hood
Despite Haiku's graphical orientation, some of its most interesting features are best viewed from the terminal. To start with, Haiku's filesystem hierarchy begins with the /boot folder. It has three branches: /boot/system, /boot/common, and /boot/home. The /boot/system branch is written to only by software updates, while as part of the preliminary support for a multi-user system, /boot/common is reserved for shared resources and configuration files, and /boot/home for individual user's resources and configuration files. Eventually, /boot/home will support separate home directories, but for now there is only one.
On each branch, the files for a piece of software have a similarly named path. Although the paths are not identical — for instance, according to the User Guide, /boot/common/add-ons is the equivalent to /boot/home/config/add-ons — the paths are arguably more consistent than, for example, the locations of /bin and /share directories in Linux.
In addition, aside from a few time-honored abbreviations such as /config, the directory names are usually spelled out in full, making them slower to type, but easier to identify at a glance. Such organization makes knowing where to look for a particular resource much easier than in typical Unix-like systems.
Haiku also supports a modified version of Bash that, to judge from the help, seems included largely for scripting. An Introduction to Bash tutorial is available online, and the scripting chapter of the BeOS Bible is included as part of Haiku's installation.
However, probably the most interesting feature of Haiku is the filesystem's file attributes. To start with, files on Haiku have several unique attributes that are built into them. These include flags for setting whether single or multiple instances can be opened, and whether or not a file responds to system messages.
Even more interestingly, the filesystem allows users to create their own attributes for files using Haiku's addattr command. Like a spreadsheet cell, each attribute is a separate field, for which a specific content type is defined, such as string or numeric. Because they are implemented at the filesystem level, these customizable attributes help Haiku to index and search files with considerably less overhead than, for example, KDE's Nepomuk, which operates on the desktop level and uses its own database.
The advantages of custom attributes inspired the Haiku developers to make each email received by the system a separate file, rather than storing it in a specific application's database. As a result, emails can be searched and viewed in Haiku by ordinary file applications rather than by specialized mail browsers, which simplifies development and integrates emails into the filesystem. In effect, customizable attributes eliminate the need for a separate database layer.
Some of these features were present in BeOS. However, Haiku is also going beyond BeOS, and includes features such as font anti-aliasing that BeOS never had. Even in its present incomplete stage, Haiku aspires to be thoroughly modern while being markedly different from any other operating system available today.
Moving closer to the general release
"There are some people who use Haiku daily and get by with it,
" Leavengood said, but he immediately admitted that "usually they are those who came from BeOS and really like the system.
"
What is required for the general release is not hardware drivers, as some might expect. Thanks to a compatibility layer, FreeBSD drivers can be easily recompiled to support Haiku. Nor, with the increasing popularity of web applications, are productivity applications the problem they were a decade ago.
Instead, Leavengood listed the remaining necessities as polish, "some kernel bugs to work out,
" and the need for "a fairly decent package management system.
" Haiku's software installation is already a straightforward matter of uncompressing zipped files into the correct directory, but the development team has a more ambitious vision for packages:
One of the main reasons that this work remains unfinished, according to Leavengood, is that the two developers doing most of the work on the package manager will not be available for several months to work on it full-time. However, by the time they are, Leavengood said, "we can start working on the betas.
"
In some ways, Leavengood said, Haiku's decade-long development cycle may improve its chances of a favorable reception. "We're in a different world now from what we were when BeOS was around,
" he noted. "Windows, while still quite dominant, isn't dominant in quite the same way.
" Not only has OS X gained in popularity, but the rise of smartphones and tablets means that average users are more used to multiple operating systems.
Probably, Leavengood said, the first release will not be as complete as the development team would prefer. However, so far as he is concerned, the time is rapidly approaching when "we just need to do the best job we can and get it out there for the world.
"
In today's more diverse market, Leavengood suggested that Haiku can offer a hybrid design philosophy, specifically:
When the general release finally comes, Haiku may not gain many dedicated users. However, at the very least, it does stand a reasonable chance of being installed virtually and on secondary machines by many who are curious and, perhaps looking for fresh perspectives on operating system design. If so, they are unlikely to be disappointed.
Index entries for this article | |
---|---|
GuestArticles | Byfield, Bruce |
Posted Nov 29, 2012 4:00 UTC (Thu)
by rsidd (subscriber, #2582)
[Link] (4 responses)
Posted Nov 29, 2012 10:06 UTC (Thu)
by renox (guest, #23785)
[Link] (3 responses)
Posted Nov 29, 2012 11:40 UTC (Thu)
by micka (subscriber, #38720)
[Link]
Posted Nov 29, 2012 11:51 UTC (Thu)
by dgm (subscriber, #49227)
[Link] (1 responses)
Posted Nov 30, 2012 16:43 UTC (Fri)
by drag (guest, #31333)
[Link]
Posted Nov 30, 2012 3:43 UTC (Fri)
by skissane (subscriber, #38675)
[Link] (7 responses)
If you are just doing it for fun, then hope you have fun! But if your hope is that someone else finds what you produce useful, it might make more sense to extend an existing system than build a whole new one - uptake is more likely that way.
Posted Nov 30, 2012 8:54 UTC (Fri)
by renox (guest, #23785)
[Link] (4 responses)
Note that one of the most innovative feature of BeOS was responsiveness(*), it's quite hard to add responsiveness to an existing OS..
*: it's difficult to know why it was much more responsive than the other OS (being closed source), but I think that it was because of heavy use of multi-threading: each GUI program had a dedicated thread to manage the window and the display server was also multi-threaded.
Posted Nov 30, 2012 16:26 UTC (Fri)
by bronson (subscriber, #4806)
[Link] (3 responses)
Of course, CPUs are now 50 times faster. It seems like every operating system should feel WAY faster than BeOS did, but only iOS (and maybe Jellybean) seem to be in the same camp.
Posted Nov 30, 2012 16:40 UTC (Fri)
by bronson (subscriber, #4806)
[Link] (2 responses)
Posted Nov 30, 2012 16:47 UTC (Fri)
by renox (guest, #23785)
[Link] (1 responses)
It would be interesting to know if BeOS still feel more responsive than current OSs on modern hardware (especially one with a SSD)..
Posted Nov 30, 2012 17:21 UTC (Fri)
by bronson (subscriber, #4806)
[Link]
Posted Dec 3, 2012 17:31 UTC (Mon)
by samroberts (subscriber, #46749)
[Link] (1 responses)
Posted Dec 3, 2012 17:54 UTC (Mon)
by rahulsundaram (subscriber, #21946)
[Link]
Posted Nov 30, 2012 17:10 UTC (Fri)
by falcone857 (guest, #85092)
[Link]
Posted Dec 1, 2012 0:43 UTC (Sat)
by tialaramex (subscriber, #21167)
[Link] (23 responses)
In fact Alpha 4 was released on the 12th of November and Alpha 4.1 was released on the 15th. In effect the Alpha release process was a complete failure, some people, including Haiku's release manager experienced the faults that later required Alpha 4 to be replaced during the brief testing window for the Alpha 4 release but there was no real "release candidate" programme and the problems were brushed aside as probably specific to an individual machine.
The actual fixes needed were rather trivial:
http://cgit.haiku-os.org/haiku/commit/?h=r1alpha4&id=...
http://cgit.haiku-os.org/haiku/commit/?h=r1alpha4&id=...
which arguably makes the organisational failure more significant
“FreeBSD drivers can be easily recompiled to support Haiku”
In fact Haiku has a rather limited framework which is just about enough for most FreeBSD WiFi drivers for PCI hardware (ie no USB). If there's a FreeBSD driver for your hardware but it's not a PCI device, or it isn't a WiFI network chip, you're probably somewhat out of luck. If the driver you need exists but isn't "released" for FreeBSD then it won't make its way into Haiku. So for new WiFi chipsets you have first wait for a FreeBSD driver to be developed, then for a new FreeBSD release to feature that driver, then for a Haiku maintainer to import the driver, then a new Haiku release.
For audio (PCM) hardware Haiku have a sprinkling of their own drivers, some working, some incomplete, and they have a port of the OpenSound System's collection of PCI drivers (again no USB). The two are incompatible though.
One fascinating thing about this article is that it seems to be largely based on interviewing Ryan Leavengood, a sometime developer of Haiku. Whereas interviewing Linus Torvalds about the Linux kernel would give you some confidence that you were getting answers from "the horse's mouth" the same cannot be said for Ryan and Haiku. The last time LWN linked an article written by Ryan he was predicting this same Alpha 4 release for April, in August Ryan became Release Manager for Alpha 4, the release continued to slip and in October Alexander von Gluck IV took up the reins and eventually got Alpha 4 out the door.
Posted Dec 4, 2012 8:47 UTC (Tue)
by man_ls (guest, #15091)
[Link] (22 responses)
Your comment fills the void a bit, thanks.
Posted Dec 8, 2012 21:10 UTC (Sat)
by commodorejohn (guest, #88219)
[Link] (21 responses)
I can't speak for everyone in general, but here's why I want to use Haiku: I want to move to a free (as in beer) open-source OS, but I've found that Linux, on account of being the end product of several decades of turning an OS for PDP-11s driving serial terminals into a professional workstation/server OS and then into something usable on personal computers, is far too labyrinthine for my tastes, and that the large majority of efforts to "simplify" it for general use have consisted of hiding away that complexity behind "manager" interfaces. Oftentimes those interfaces are pretty good, but they don't actually do anything about the underlying complexity, and when something breaks, you're actually worse off for not having learned how the complex systems work because the interfaces aren't going to be any help in getting the very thing they're supposed to keep you from having to deal with fixed. It's just all a lot more complicated than an OS for personal computers really ought to be. On top of that, I've found that a lot of Linux software suffers greatly from what I call "programmer-centric UI" - by which I mean that the user interface is often designed largely as an afterthought by someone who would much rather get back to tweaking the backend functionality but knows that nobody's going to appreciate all their hard work if they can't use the thing, so they cobble up something adhering to whatever random subset of every UI convention in computing history springs to mind and gets the job basically done, and then go back to working on the technically interesting stuff. It's understandable why that happens, but it doesn't make it any less frustrating when I just want to get stuff done - and the attitude a number of advocates have that "usability is for wimps, if you don't like it why don't you just write a different UI, it's open-source after all!" doesn't help matters, either. Haiku offers a better alternative on both counts. It's much simpler under the hood and it's well-documented to boot. It doesn't have the enormous learning curve that Linux in anything other than an "Ubuntu as a browser launcher" sense does. It also offers a clean, simple, and consistent UI and has a very usability-focused developer culture. It's coming from what is, in my opinion, exactly the right place: trying to simplify anything that's unnecessarily complex, but not trying to dumb down or gloss over the stuff that has good reason to need a little work to understand. Because of that, I fully believe that, when it reaches a state where it's ready for general daily use, it's going to be a system where the benefits of switching over outweigh the comparatively minor learning curve - which is not something I can say for Linux. You're right that the article is a bit lacking in its overview. Yes, drivers are an issue, and yes, development is slow (mainly because the vast majority of open-source developers think that Linux is the only open OS!) But there's plenty of reason to look forward to what comes out of the Haiku project.
Posted Dec 11, 2012 16:27 UTC (Tue)
by bronson (subscriber, #4806)
[Link]
I'd love to see Haiku step in where the Linux desktop has failed. Save us from what is currently looking to be an Android-dominated future.
Posted Dec 12, 2012 0:21 UTC (Wed)
by hummassa (subscriber, #307)
[Link] (19 responses)
Posted Dec 12, 2012 2:08 UTC (Wed)
by commodorejohn (guest, #88219)
[Link] (18 responses)
Not in a while, no. (I think the last time was when I had Fedora 11 on my Eee...early 2009, so some early KDE 4 version.) But KDE's standards are only good for KDE software. If you want something that isn't part of the KDE project, or that doesn't have a tweaked version available, then you're still stuck with the problem of using whatever the programmer happened to decide was "good enough" for a graphical frontend to whatever code they really wanted to be working on. The same goes for GNOME, for Unity, and so on and so forth; the whole problem with Linux usability is that it's little insular islands of standardization in a sea of "whatever." And anyway, that still doesn't solve the problem of the underlying system just being too drat complex. A desktop OS just really should not be built out of forty years of cruft layered onto a mainframe OS from the '70s.
Posted Dec 12, 2012 10:04 UTC (Wed)
by hummassa (subscriber, #307)
[Link] (17 responses)
You do know that this is a generalized problem, not a Linux problem, don't you? If you use enough, diversified, Windows or OSX software, you'll see yourself in the same situation. (Yes, there are more than one toolkit to develop under Windows and under OSX and yes, they "feel" as different as Qt vs GTK...)
Anyway, get a good (Arch or Kubuntu) version of KDE4 and you have mostly any software you want, Qt/KDE-ized, and most GTK software also will look/feel nice if you use QtCurve. I personally use kubuntu + chrome + libreoffice + eclipse/poweredbypulse + lazarus + virtualbox.
> And anyway, that still doesn't solve the problem of the underlying system just being too drat complex.
Nothing solves that. Windows is VMS, the rest of us (including BeOS/Haiku, you can open a terminal and type "ls -l" there) is Unix. Operating systems are complex beasts. You see "forty years of cruft layered", I see "forty years of evolution, trial and error to solve find heuristics to unsolvable problems." It is a good thing. Every single, "younger", other-lineage OS got stuck in their growing pains by the 90s and died. Some examples: Mac OS 9 -- had to be replaced by unix, even after IBM and Apple spent some millions (billions and billions? :-D) with Taligent/Copland; Windows 95/98, son of MS/DOS, son of CP/M -- had to be replaced by VMS before the monstrosity of Windows ME broke the company; Every Single Smartphone/Palmtop/Tablet OS -- replaced by unix.
Posted Dec 12, 2012 19:07 UTC (Wed)
by commodorejohn (guest, #88219)
[Link] (16 responses)
It is a generalized problem, yes - but it's much worse in the Linux software ecosystem than on any other system I've ever used. Windows and Mac software vary, but not by nearly as much. Well, for starters, Windows is only VMS deep down at the kernel level, as far as I've been able to find out. MacOS wasn't Unix until 2001. But more importantly: BeOS and Haiku are not Unix. The presence of bash notwithstanding. It does not share an API with Unix, it's object-oriented and not pipe-based, it doesn't use either the classic Unix or BSD file hierarchies (indeed, it organizes things in completely the opposite way from traditional Unix.) It is not based on Linux or any other Unix-derived kernel. In fact, they specifically state that it is not Linux, because so many people like to assume that any open-source OS must be Linux in some form or another. Operating systems are complex, alright. But just because you spend forty years developing solutions does not mean that you should stick with them. Modern-day Unix is like an archaeological tell; you can trace pretty much the entire history of computing from 1970-present by stripping away successively lower layers until you arrive at the bottom, where you're left with serial ports, threads, and a filesystem. That's interesting from a historical-record standpoint, to be sure, but it also means that you're carrying forty years' worth of baggage around with you. There might be an argument to be made for that in environments like server rooms, where you want known entities with definite compatibility a lot more than you want a sane design. But in a desktop context, it's just ridiculous. There's no reason, from the perspective of a desktop user, that things should be this complicated, that getting a system up and running again if it's broken should involve digging through scripts that call scripts that call applications that call scripts to find where the problem is. How often has Unix as a whole been refactored? Why hasn't more of this complexity been stripped away? Because it's clung to with a religious tenacity, and anyway, a large number of open-source developers aren't interested in doing things that make life easier for anybody but open-source developers. And you wonder why you didn't win the desktop war. Or, as the Haiku FAQ puts it: Sounds a lot more palatable to me. And as an aside: Mac OS 9 did have to be replaced, yes - but nobody said it had to be replaced by Unix. It was replaced by Unix because Steve Jobs came back from NeXT and wanted to make sure that everybody knew that this was his company again. It could've been BeOS, if either Apple or Jean-Louis Gassée had been less stubborn. And Taligent/Copland didn't fail because they weren't Unix, they failed because of internal politics and poor project management.
Posted Dec 12, 2012 19:34 UTC (Wed)
by raven667 (subscriber, #5198)
[Link] (1 responses)
What in the heck? Aside from WinNT systems where the system works like VMS all other systems are Unix or Unix-like including desktop or consumer systems like Mac OS X/iOS and Android or webOS. Even the systems which are not Unix clones like QNX and BeOS are Unix-like in their userspace API, including features like environment variables, pipes, fork(), file descriptors, etc. What falsifiable assertions are you prepared to make and what evidence will you use to back them up, or are you content to just make commentary that sounds like a PHB trade-rag, with apparent misunderstandings of what an OS or API is? What exactly is this crufty baggage that is so damaging, do you have a list of system calls or features?
Posted Dec 12, 2012 21:46 UTC (Wed)
by hummassa (subscriber, #307)
[Link]
Posted Dec 12, 2012 21:59 UTC (Wed)
by hummassa (subscriber, #307)
[Link]
Nobody *makes* you install lots of diverse based software to use Linux. And in the same cases where you would do so in Windows or MacOS, this are the cases where it happens under linux. All in all, I work everyday with the three OSes: Windows7, Kubuntu Quantal, and Mountain Lion. My office suite is LibreOffice 3.5 in all three, as my browser is Chrome 24. My two IDEs of choice are Eclipse and (by Pascal necessity) Lazarus -- though I keep slipping into Vim73 when I have to do small changes or big, many-files-swooping changes. My media management (photos, music) is done mostly under the linux machines, so I use the platform tools (digikam, amarok) and they are GREAT (I chose the platform for the tools, not the other way around). And for the movies and TV shows I have XBMC. The other tools I use are the KDE tools; kmail, krita, scribus, ... no other "out of place" programs. And if I send a file to print under LibreOffice or Chrome, they happily open the KDE print dialog, so, they don't seem "out of place" either.
And no configuration complexity: when I get a new computer, I install the OS from the CD, and it's up and running, with a simple enough control panel to install new printers, configure monitors etc.
Posted Dec 13, 2012 0:06 UTC (Thu)
by man_ls (guest, #15091)
[Link]
You will notice that the only way to keep backwards compatibility is to keep the cruft and polish it. Many packages in a modern distro have preferred this route: Linux, X Window System, Bash, emacs (and vim). But, as others have pointed out, all this baggage is actually useful: it codifies many use cases which have not disappeared magically but are still used by someone. Whenever a specific bit is not used by anyone it will decay naturally. Just browse the Debian-PowerPC archives for an example.
On the other hand, when compatibility is not a requirement developers are free to break with the past. The result is not always to the liking of everyone: we have seen many recent examples with PulseAudio, systemd, Gnome 3 and Ubuntu Shell, to keep it short. In an unconstrained environment such as the GNU/Linux ecosystem, it is inevitable that some people will prefer compatibility, and others will prefer to take a different route of their own.
Breaking with the past and bringing everyone else aboard can apparently be achieved only in a very reduced environment or when there is a controlling entity, and even one of these conditions may not be enough: Microsoft has tried to peddle Windows Vista and now 8 without success, and in the reduced *BSD world there are many competing distros. Perhaps Haiku can do what it does (break with everything) only because it has no inertia and few developers. We will see.
Posted Dec 13, 2012 11:51 UTC (Thu)
by jwakely (subscriber, #60262)
[Link] (9 responses)
At least once, as Plan 9 from Bell Labs.
Posted Dec 16, 2012 4:29 UTC (Sun)
by bronson (subscriber, #4806)
[Link] (8 responses)
Posted Dec 16, 2012 17:31 UTC (Sun)
by renox (guest, #23785)
[Link] (7 responses)
Uh? You should elaborate on your criticisms because it's not obvious at all what you're referring to.
Posted Dec 17, 2012 1:02 UTC (Mon)
by bronson (subscriber, #4806)
[Link] (6 responses)
My lament is that, at this point, Plan9 is dead in the water and its team members are using Unix in their day jobs again. If it had followed a longer, more conservative schedule, maybe starting from a working Unix base, it might have seen more success. Ah well. Now it's competing with Haiku and the Hurd for the cleanest software that nobody uses. :)
Posted Dec 17, 2012 8:51 UTC (Mon)
by renox (guest, #23785)
[Link] (4 responses)
Bleah, this page is a mess, the perfect example of a wiki gone wrong.
> I don't think you'll find anyone claiming Plan9 is a refactored Unix. It's always been a proud start-from-scratch effort.
Bah who cares about the implementation details, it is still considered to be the "successor" of Unix as it takes the same concepts but goes further with those concepts.
> My lament is that, at this point, Plan9 is dead in the water and its team members are using Unix in their day jobs again. If it had followed a longer, more conservative schedule, maybe starting from a working Unix base, it might have seen more success.
Maybe, but note that Plan9 stayed proprietary during a long time even when there were Free implementations of Unix..
Posted Dec 17, 2012 11:33 UTC (Mon)
by hummassa (subscriber, #307)
[Link] (3 responses)
The argument here is: Plan9 is NOT a refactoring of Unix because, in the words of Martin Fowler, "Refactoring is the process of changing a software system in such a way that it does not alter the external behavior of the code yet improves its internal structure."
The original phrase from bronson was: "It was a rewrite suffering serious second system syndrome." (referring, obviously, to Plan9). Going by stages:
IMHO Plan9 is quite elegant itself (but I *do* think Limbo is a monstrosity /per se/), and I agree with you that it did not lose momentum because of featuritis or other stuff, but because it stayed close where other unixen opened up.
Posted Dec 17, 2012 12:58 UTC (Mon)
by renox (guest, #23785)
[Link] (1 responses)
Uh why? I like it very much.
Posted Dec 17, 2012 14:51 UTC (Mon)
by hummassa (subscriber, #307)
[Link]
And I respect your opinion and you are certainly entitled to it.
> I'm not alone as Go has some success and it is very similar to Limbo..
Don't even get me started on Go... (hint: WHY OH $DEITY WHY) :-D
Seriously, both languages are "C on steroids". Full of shorthands, but none of the shorthands *I* would use. IOW, poorly-Huffmann-encoded for me. YMMV.
Posted Dec 17, 2012 18:05 UTC (Mon)
by bronson (subscriber, #4806)
[Link]
Posted Dec 27, 2012 9:51 UTC (Thu)
by jwakely (subscriber, #60262)
[Link]
The post I was replying to was talking about revisiting the ideas behind unix and removing historical cruft. Plan 9 does that (along with adding a lot of new ideas and new features, as to be expected from a research OS)
Posted Dec 17, 2012 13:52 UTC (Mon)
by tialaramex (subscriber, #21167)
[Link] (1 responses)
This is false, although it's in line with BeOS / Haiku propaganda.
Here's an example of one of the classes from Be's "object-oriented" API: BStatable. BStatable is a class for getting at file metadata. It has methods like GetPermissions which return 32-bit integers with bitmasks in them that you can compare to some eerily named constants like S_IXOTH even though multi-user doesn't really work on BeOS (or Haiku).
This is hopefully already feeling very familiar if you know anything about Unix, and otherwise totally bizarre - but let's peel back the covers a bit. How is this BStatable "object" implemented? Oh here we are, there's a system call named "stat" which returns a big flat data structure just like in every Unix.
Now BStatable is an especially hilarious example because of its transparent naming, but this is what's going on throughout most of BeOS and thus Haiku too. Take something Unix systems did in the 1980s, smear another layer on top in C++ and say "Pay no attention to the man behind the curtain" in your best Oz voice. By throwing everything from code for handling joysticks to a class that represents a dialog box into the same library you can give the impression that this is a comprehensive solution, but it's really just a vast utility library, it's doing no more (and sometimes less) than Qt but without the benefit of being cross-platform.
It is no surprise that getting _developers_ to fall for this is harder than finding users who want to go along with the propaganda without knowing any specifics.
Haiku mostly deviates from BeOS in being _more_ like a modern Unix. You will see claims that this is just for "compatibility" but in practice most of the changes involved were _fixes_. Being more like Unix means being less _broken_.
Posted Dec 18, 2012 10:12 UTC (Tue)
by dgm (subscriber, #49227)
[Link]
You just ruined all the fun, don't you see? That Haiku download sitting in some directory on my hard drive doesn't make me feel 1337 anymore. I suddenly feel an urgency to go and download Microsoft's Singularity. Ah, yessss.
Posted Dec 8, 2012 9:57 UTC (Sat)
by theodric (guest, #88211)
[Link]
http://www.haiku-os.org/docs/userguide/en/deskbar.html
You can even make it always be on top, if that's your bag, so there's no need to 'drill down several layers'.
Posted Dec 13, 2012 16:58 UTC (Thu)
by mirabilos (subscriber, #84359)
[Link]
Not to forget that Haiku was very quick in fixing a kernel bug wrt. signal delivery, enabling https://www.mirbsd.org/mksh.htm to work on it – just in case one of you dear readers wants to have a *proper* Shell on it instead of GNU bash ;-)
Haiku edges toward general release
Not so sure
Users wants applications too, a responsive OS is nice but by itself not good enough..
Not so sure
is the goal of Beos the same as dos emulators, allowing people to run their old apps that have no replacement ?
Not so sure
Not so sure
Would it make more sense to add features to an existing system?
Would it make more sense to add features to an existing system?
Would it make more sense to add features to an existing system?
Would it make more sense to add features to an existing system?
Would it make more sense to add features to an existing system?
Would it make more sense to add features to an existing system?
Would it make more sense to add features to an existing system?
Would it make more sense to add features to an existing system?
Haiku edges toward general release
Mmm
To be honest, I missed a more critical view of Haiku in the article. There are many obvious issues that are just glossed over, like the lack of dedication and drivers. But there isn't even a balanced assessment of why would anyone want to use Haiku, and also why not: are the improvements worth it?
Mmm
Mmm
Mmm
Mmm
Mmm
Mmm
Mmm
You do know that this is a generalized problem, not a Linux problem, don't you? If you use enough, diversified, Windows or OSX software, you'll see yourself in the same situation. (Yes, there are more than one toolkit to develop under Windows and under OSX and yes, they "feel" as different as Qt vs GTK...)
Nothing solves that. Windows is VMS, the rest of us (including BeOS/Haiku, you can open a terminal and type "ls -l" there) is Unix.
Operating systems are complex beasts. You see "forty years of cruft layered", I see "forty years of evolution, trial and error to solve find heuristics to unsolvable problems." It is a good thing. Every single, "younger", other-lineage OS got stuck in their growing pains by the 90s and died.
Linux-based distributions stack up software -- the Linux kernel, the X Window System, and various DEs with disparate toolkits such as GTK+ and Qt -- that do not necessarily share the same guidelines and/or goals. This lack of consistency and overall vision manifests itself in increased complexity, insufficient integration, and inefficient solutions, making the use of your computer more complicated than it should actually be.
Instead, Haiku has a single focus on personal computing and is driven by a unified vision for the whole OS. That, we believe, enables Haiku to provide a leaner, cleaner and more efficient system capable of providing a better user experience that is simple and uniform throughout.
Some examples: Mac OS 9 -- had to be replaced by unix, even after IBM and Apple spent some millions (billions and billions? :-D) with Taligent/Copland;
Mmm
Well, for starters, Windows is only VMS deep down at the kernel level, as far as I've been able to find out. MacOS wasn't Unix until 2001. But more importantly: BeOS and Haiku are not Unix. The presence of bash notwithstanding. It does not share an API with Unix, it's object-oriented and not pipe-based, it doesn't use either the classic Unix or BSD file hierarchies (indeed, it organizes things in completely the opposite way from traditional Unix.) It is not based on Linux or any other Unix-derived kernel. In fact, they specifically state that it is not Linux, because so many people like to assume that any open-source OS must be Linux in some form or another.
Mmm
Mmm
You make good arguments. However, I am not sure that the background idea is completely sound. I would like to point you to a subtle contradiction in your message:
Backwards compatibility, once more
The underlying theme is the same old tension explained in this classic Spolsky article.
Mmm
Mmm
Mmm
Mmm
Mmm
Mmm
it IS a rewrite of Unix, and if you define second-system syndrome as "the tendency of small, elegant, and successful systems to have elephantine, feature-laden monstrosities as their successors", then Plan9 /could/ be construed as having this, altough I think it was more of an hyperbole than a factual statement.
Mmm
I'm not alone as Go has some success and it is very similar to Limbo..
Mmm
Mmm
Mmm
Mmm
Mmm
Deskbar
Haiku edges toward general release