[openbeos] Thoughts on rewriting BeOS, if it is necessary (LONG)

Assuming that Palm will not open source anything BeOS and will not develop it 
either (a definite possibility), I have been looking into the possibility of 
using the 2.4.0 Linux kernel along with a bare-bones version of XFree86 as a 
base and building the various servers (app server, net server, etc) and going 
from there. Guillaume Maillard started me on this and I think it's at least 
looking into as one of the many options. This is a horribly huge task, but 
then again, so is writing an OS which can do as much as BeOS does. Correct me 
if I'm wrong on some of this stuff - I'm an apps coder, not a kernel coder. 
I'm also going *way* out on a limb here, so be gentle. :^)

Using the Linux kernel and an X server would allow for the vast array of 
Linux drivers already available (a current and valid complaint about BeOS) 
and the presence of an X server would more than likely allow for two APIs to 
coexist. I'm not exactly sure how well it could work, but it could be done in 
such a way that you actually have the app server work as a go-between for the 
apps and the X server and it would need to do only those things not done by 
the X server and provide a transparent interface for BeOS apps.

AtheOS would also be a large part of the equation. The API, although there 
are differences in places, could be ported relatively easily. The majority of 
the tweaks would be where interaction with the kernel was necessary. I 
personally believe that using the Linux kernel would be a better idea just 
because it is simply so much more developed and stable. It would also allow 
for so many apps that we have been waiting for, like the GIMP, and smooth 
over development issues, like not-quite-complete BSD socket compatibility, 
lack of BONE, and no mmap().

Kurt Skauen used the Be File System Concepts book to help him write the 
AtheOS file system. It is journaled and supports attributes, but definitely 
necessary and desirable over ExtFS. Adding AthFS support to the Linux kernel 
would simply be a matter of adding a file system driver to the kernel - 
although not simple, all the sources and info are out there.

The App server could even be more or less ripped off from AtheOS because the 
fundamental code is already there and some of the things it takes care of are 
already done by the X server.

Simply going to AtheOS isn't really an option - Kurt passionately has stated 
(probably ad nauseum) that it is not a BeOS clone. The API is inspired by 
Be's, but is not directly compatible, and writing a whole series of wrappers 
or a Perl script to convert won't be enough because of the differences and 
also because of speed.

Networking is something I wonder about, being I'm no networking person and 
only having passing familiarity with Linux. If I understand things correctly, 
the network kit would be pretty much written as is, possibly needing a few 
wrapper functions/classes.

Well, folks? If we're effectively left out in the cold as a community, is 
this workable?

--DarkWyrm


Other related posts: