[fdo] Haiku - FreeDesktop.org cooperation proposal

François Revol revol at free.fr
Sat Apr 26 06:15:37 PDT 2008


From: Haiku - http://www.haiku-os.org/about
To: FreeDesktop.org

GNU/Linux has gained quite some momentum on the desktop, with the help 
of Gnome and KDE environments, and the FreeDesktop.org project. 

Haiku is a Free Software (BSD/MIT) desktop targeted operating system, 
designed to present a coherent and simple to use environment, inspired 
by BeOS.
Although Haiku does not use X11, it provides much of the POSIX 
environment, partly Unix-like file-system layout, provision for POSIX-
like users in the future, and already uses or supports Linux/Unix/GNU 
originated software (SANE, some FreeBSD network drivers, GNU bash and 
shellutils, gcc, FireFox... and a CUPS port is underway).

While we welcome the advances on GNU/Linux on the desktop, some of 
which were pioneered on the desktop by BeOS in its time[1] which made 
us like it, we believe Haiku also has a place to fit alongside GNU/
Linux and other Free Software OSes, in the great ensemble of the 
technodiversity. 

As such we believe Haiku shares some common interests with the 
fredesktop.org initiative, despite not using X11 for its GUI.

Although most[2] X11 related standards are not relevant to Haiku, some 
freedesktop.org supported initiatives are not strictly limited to X11.
And of course Haiku, being a free software implementation of BeOS, 
inherits existing conventions, so by design some standards cannot be 
applied as is.

However we believe we can cooperate on several points:

* Haiku can certainly adhere to some freedesktop.org standards where it 
is relevant.

For example, we currently have our own mime database, inherited from 
BeOS, but it is concievable to reuse existing freedesktop.org provided 
types in some way, and contribute some new types.

The VAAPI is also an interesting standard we could adhere to, besides, 
as noted on the wiki, 
"The current interface is [...] window system independent, so that 
potentially it can be used with graphics sub-systems other than X."

* the Haiku project and its developers could also get involved in the 
discussion of new standards, to share existing ways and contribute 
code.

For example, while Haiku reuses BeOS' BFS extended attributes namings 
and typing, a standardized way of exchanging attributes in an 
interoperable way would certainly benefit everyone. Indeed, BeOS has 
been using its own ways for supporting attributes in zip files, mails, 
even some ftp servers, but those were never standardized. In the same 
way 
BeOS used to publish HFS resource forks as attributes to allow 
preservation, a standardized OS-independant storage mechanism would 
likely help wider acceptance of extended attributes, making it possible 
to copy a file from an OS to a different file system, ftp to a server 
from another OS, zip it in yet another, and unzip again somewhere else 
while keeping the extended attributes intact. Of course standardizing 
the semantics of attributes is a different story.
The Shared File Metadata spec seems interesting in this respect, and it 
is 
great to see typing and namings similar to what we used, although not 
exactly the same.

* some freedesktop.org projects can be ported to Haiku to help porting 
and integrating GNU/Linux software in the best way. For other projects 
wrappers can possibly be written, for example we don't have DBUS but 
our 
BeOS-compatible scripting interface can certainly be exposed to it.

In that spirit a port of the xdg-utils has been started[3].

It is our hope both project can benefit from each other.

On behalf of the Haiku team,
François Revol.

----

[1] on the kernel side we can cite: preemptive tickless kernel, module 
hierarchy, intelligent hierarchical devfs...
on the gui level: UTF-8, mime-based file managment, indexing of file 
meta-data...

[2] BeOS itself used the X11 /etc/rgb.txt for its native browser, 
NetPositive, to map color names to values. BeOS (and Haiku) also uses 
modeline-like strings in the app_server_settings file to define graphic 
modes for each workspace, so modeline calculators can also be used.

[3] cf. 
http://revolf.free.fr/beos/patches/xdg-utils.beos.diff.001.txt
though it's a preliminary version, ported to BeOS until Haiku itself 
can use it. Note the latest cvs switched to #!/bin/bash, which won't 
work anymore on BeOS, as it uses bash but installed as /bin/sh. Haiku 
has both installed though. But it can likely cause trouble on other 
platforms as well (does (Open)Solaris) have bash installed by default 
?)



More information about the freedesktop mailing list