Distributions
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.
Brief items
Distribution quotes of the week
Fedora 18 Beta is out
After much delay, Fedora 18 "Spherical Cow" beta is available for testing. "Fedora 18 offers a brand-new version of the Gnome desktop, version 3.6, straight from the upstream development process. Updates have also been made to the KDE, XFCE and Sugar desktop environments; additionally, the MATE desktop is available for the first time in Fedora. Fedora's new installer user interface enhances the anaconda installer with improvements in ease of use and installation."
GNU Guix launches
The GNU Guix project has announced its existence; it is an attempt to build a 100% free GNU-oriented system with, inevitably, a new package manager. "In addition to standard package management features, Guix supports transactional upgrades and roll-backs, unprivileged package management, per-user profiles, and garbage collection."
Distribution News
openSUSE
openSUSE Board official candidates announced
The openSUSE Election Officials committee has announced this year's official list of candidates for the openSUSE 2013 Board. They are: Matt Baringer, Richard Brown, Carl Fletcher, Manu Gupta, Chuck Payne, Robert Schweikert, Stefan Seyfried and Raymond Woonick. Voting begins December 5.
Newsletters and articles of interest
Distribution newsletters
- Debian Project News (November 26)
- DistroWatch Weekly, Issue 484 (November 26)
- Maemo Weekly News (November 26)
- Ubuntu Weekly Newsletter, Issue 293 (November 25)
Langasek: Upstart in Debian
Steve Langasek has announced that upstart is available in Debian unstable. "One of the consequences is that it's now possible to do meaningful head-to-head comparisons of boot speed between sysvinit (with startpar), upstart, and systemd. At one time or another people have tested systemd vs. sysvinit when using bash as /bin/sh, and upstart vs. sysvinit, and systemd vs. sysvinit+startpar, and there are plenty of bootcharts floating around showing results of one init system or another on one distro or another, but I'm not aware of anyone having done a real, fair comparison of the three solutions, changing nothing but the init system."
Jolla offer a first look at their Sailfish smartphone OS (The Verge)
The Verge takes a look at the new Meego-based Sailfish, from the Finnish startup, Jolla. "There are a few interesting UI concepts detailed in the video. First, the homescreen itself acts as a multitasking menu: when in an app you can swipe it away to push it to the homescreen, where it'll act like a large, interactive widget. The application drawer itself lives underneath the homescreen and can be accessed with a swipe up, while notifications are displayed in the upper right. There's an automatic theme generator called "ambience," which creates a look and feel for your device by analyzing a photo. Jolla says many Android apps will run "unaltered" via Myriad's Alien Dalvik software, while others will require some tweaking." (Thanks to Mats)
Page editor: Rebecca Sobol
Next page:
Development>>