[openbeos] My Big, Fat Catch-up Email

  • From: "Erik Jakowatz" <erik@xxxxxxxxxxxxxx>
  • To: "open beos" <openbeos@xxxxxxxxxxxxx>
  • Date: Tue, 11 Sep 2001 23:18:34 -0700

I'm done doing piece-meal replies to stuff that's 10 days old.  I'll 
just do my catch up and try to grab everything that I need to reply to 
in a single mail -- and beg your forgiveness up front for its length and 
redundancy. =P

On Helmar's Final Word:  guys, we gotta get real here.  Do you *want* 
GeForce3 drivers?  Nvidia doesn't seem too friendly to the idea of 
giving specs to opensource folks for the purpose of implementing 
drivers.  No, they like to keep that stuff in-house or under strict NDA 
with another *company*.  This is gonna be the case for a *lot* of 
hardware.  If nothing else, hardware companies are going to want to see 
that somebody is willing to run the risk of supporting the OS 
commercially before they'll invest in writing the drivers themselves.  
Unless we want this to wind up being a massive act of geekly 
self-flagellation with no real future, somebody is going to have to 
market/promote/commercialize this thing.  People have said it before, 
but it apparently bears saying again:  Linux, that shining triumph of 
opensource, would not be enjoying anything like it's current hardware 
and software support without the *major* efforts to commercialize it 
that have been made by Red Hat, etc.  To believe otherwise is, frankly, 
to live in fantasy-land.  Although I think Helmar's statement that 
"OpenBeOS == Death" is a bit extreme, I must agree in the strongest 
possible terms that for *any* implementation of BeOS to go anywhere, 
someone will eventually have to support it commercially, and Helmar & 
Co. have got the credentials and the passion for the OS to make it 
happen.  If Helmar & Co. and/or Palm can make this happen in the near 
future, we can count ourselves as being very lucky.  I don't know a damn 
thing about marketing, but I'm smart enough to know that without it, 
we're doomed to eventual irrelevance -- and that's not something I'm 
interested in wasting my time on.

On the existence of OpenBeOS:  if Helmar & Co. (or somebody else) can't 
cut a deal with Palm to continue development of the existing codebase, 
we have no choice for the future of the OS other than an opensource 
implementation.  The existing development and user communities are not 
going to hang around while the OS slips further and further into 
obsolesence.  Yes, a few of the total diehards will keep using it until 
it's just plain ridiculous to continue, but the majority of folks will 
bailout if nothing happens to update the OS itself.  Extensions are 
great, and I hope people keep making them, but without continued 
development, BeOS will be like Latin:  interesting to a few, and dead 
for everybody else.  As far as OpenBeOS being "a very different OS", it 
will only be as different as we make it.  We're commited to the goal of 
reimplementing the OS in a way that is _at_the_very_least_ source 
compatible with R5.  If in the course of doing this we add some extra 
nifty bells and whistles, I don't think anyone will complain -- we would 
simply be jumping ahead to R6, that's all. =)

On "a million different projects":  There are not, to my knowledge, "a 
million different projects all trying to achieve the same goal".  To my 
knowledge, there is OpenBeOS, BlueOS and the "Phoenix Group" (for lack 
of a better label) -- each of which is currently taking a very different 
approach to ensuring the continued development of BeOS.  If the Phoenix 
Group is successful, I have the distinct feeling that OpenBeOS and 
BlueOS will soon find themselves irrelevant to the majority of folks in 
the dev and user communities -- in fact, I think most of the devs in 
those efforts will lend their support to the Phoenix Group rather than 
messing about out in the weeds.  And if they aren't successful, I'm 
betting whichever reimplementation effort takes the clear lead, the 
other will soon either join forces or fade into obscurity.  Any way you 
slice it, we'll probably end up with one clear effort leading the way 
before very long.

On starting from scratch:  Neither OpenBeOS nor BlueOS is proposing we 
start from scratch.  OpenBeOS aims to make its work drop-in replacements 
for existing OS systems.  Both projects will be heavily leveraging 
existing opensource resources in their efforts.  Witness OpenBeOS's use 
of NewOS and BlueOS's use of the Linux kernel.  As far as ruining 
NewOS's chances of success, I'm not under the impression that Travis had 
"success" in those terms in mind for the project (feel free to correct 
me if I'm wrong, Travis).

On blowing off a possible deal with Palm:  Nobody's blowing off 
anything.  You may be familiar with the Boy Scouts motto:  "Be 
Prepared."  That's all we're doing -- being prepared for the most 
unpleasant of many possible outcomes of the Palm negotiations.  Any deal 
the Phoenix Group makes with them changes the landscape drastically, and 
everything will have to be reconsidered, whether we like it or not.  
Nobody's trying to antagonize Palm or anybody else -- we're just trying 
to keep the OS alive, which is what all of us want, right?  There are, I 
think, a few extra-enthusiastic members of the OpenBeOS effort who are 
pretty solidly in the "opensource or die" camp, but I don't get the 
impression that this represents the majority (or even a large minority) 
of the team.  By and large, we're open to the realities of the 
situation, and are quite pragmatic about how to achieve our primary goal 
-- BeOS's continued growth and existence.  We are *not* the enemy of the 
Phoenix Group, and the Phoenix Group is *not* our enemy:  there will 
always be those who think that commerical considerations are totally 
unnecessary, may even believe that they constitute selling out, but 
cooler and more realistic heads will prevail (hopefully).  What we all 
really want (whether we individually realize/admit it or not) is for the 
OS to be commercially viable, because that's how BeOS will get to be all 
we want it to be -- whether it's a Palm deal or OpenBeOS or BlueOS that 
gets us there will be, in the end, beside the point.

On moving to GCC 3.0:  From what I've seen GCC 3.0 is not really ready 
for prime time yet.  Yes, it's got oodles of cool new stuff, but now is 
not the time -- we have to keep the developer and user communities 
hanging in there, and heaping a (mostly) unneccessary binary 
compatibility break on top of everything that's happened so far would be 
tantamount to shooting ourselves in the head.  Once we've gotten ver. 
1.0 accomplished and regained dev and user confidence, *then* we can 
talk about GCC 3.0.  It's not like it's going anywhere. =)

On using a Qt/GTK/whatever port:  Ports of this software would be/are 
undeniably cool, and I whole-heartedly encourage non-OpenBeOS team 
members to pursue this as a worthy and very useful accomplishment.  They 
do not, however, get us any closer to our goal.  What, exactly, would a 
"native" Qt port sit on top of?  The interface kit?  We'd have an 
extension then, not a replacement.  BDirectWindow, or maybe 
BWindowScreen?  That *might* have some merit, but I would submit that 
the work necessary to a) make Qt work with either of those classes and 
b) write a BeAPI compatibility layer on top of Qt will, in the end, be 
at least as much as just writing the stuff from scratch.  You would 
still have the problems of actually making apps use that instead of 
using the pre-existing libs, providing classes that aren't widgets but 
are still part of libbe, and dealing with the fact that Qt is designed 
(as I understand it) to be used in a synchronous fashion, necessitating 
a lot of work to get it wrapped around BeOS's multithreading paradigm.  
In short, using Qt in this capacity *seems* like a tempting shortcut to 
the holy land, but that shortcut is only surface deep.  On a related 
point, the Interface Kit team *has* its requirements:  the BeBook! =)

On just moving to AtheOS:  This is a very tempting thing to do, and you 
can't discount Kurt's ability as an engineer -- he's obviously quite 
talented.  He is also, unfortunately, not interested in the idea of 
AtheOS being made into a full-fledged opensource BeOS clone.  He has 
different ideas for his OS -- that's his perogative, and I can respect 
that.  Some people have called for forking the code, which brings us to 
the next issue:  although BeOS and AtheOS are quite similar conceptually 
and architecturally, they are not the same, and important things to hang 
onto from BeOS (like existing apps and drivers) just aren't going to 
drop in.  A significant amount of re-engineering would be necessary, and 
I'm not convinced that we'd really save much time going that route.  
This sort of falls into the same category as the Qt port suggestions:  
looks like a good shortcut, but odds are it won't be in the end.  All 
this is not to say that we can't get a lot of great implementation ideas 
from AtheOS -- we can and absolutely should examine it quite closely for 
whatever insights we can gain.  One last thing:  some people suggest 
bailing out on BeOS altogether and just becoming AtheOS users.  All I 
can say to that is BeOS as it exists is far more complete and polished 
as an operating system.  Personally, I'd wait until AtheOS has gained 
that level before bailing out -- you'll only lose functionality before 
then.

On adding multi-user capabilities:  In my mind, there are two ways to 
define "multi-user".  First, is the classic *nix concept of multiple, 
simultaneous users which we all know and love (sorta).  Second, is a 
system which allows for multiple single users (if that makes any sense) 
where each user has his/her own home directory and, consequently, 
his/her own settings, etc, and where users are prevented from stomping 
on other users' home dirs and on the system as a whole (unless they have 
root/admin priviledges).  The first definition belongs, I think, to the 
realm of servers, which BeOS is not and, IMO, should not aspire to 
become.  After all, we have a perfectly usable and well-supported 
opensource server already in existence -- Linux.  Although people gripe 
about the quality of the Linux desktop experience, I don't think there 
are many folks outside of Redmond who will seriously bash it as a 
server.  To me, Linux and BeOS are the ultimate combination:  BeOS on 
the desktop, Linux in the server closet.  I would personally love to see 
the second definition of "multi-user" implemented in OpenBeOS.  It's 
more of a "multi-configuration" scheme, really.  I think it's do-able in 
a reasonable time frame and desirable.  The *nix definition will be very 
difficult to implement (for reasons discussed elsewhere, track them down 
if you're really interested), and not all that desirable.  This is not 
to say that BeOS shouldn't be used as the light-weight (in the best 
sense of the phrase) server that it is already capable of being.  But it 
shouldn't be forced into becoming the heavy-duty, industrial-strength, 
multi-user server that Linux is a great example of; there's really no 
defensible point to it.

On BeOS design flaws:  I'm neither surprised nor dismayed to learn of 
the glaring problems that JBQ has so kindly pointed out for us.  It is, 
unfortunately, the lot of shipping software to have these sorts of 
issues.  My primary work at the day job is maintaining a fairly popular 
and commercially successful Palm app, which is an absolute horror 
design- & code-wise.  The best we as engineers can hope to do is avoid 
problems when possible, and fix them when we can.  Regardless, I'm in 
BeOS 99% of the time at home (and that's no exaggeration) simply because 
it's more responsive and stable than Windows.  I've never been the type 
to monkey with alternate OSs just for the fun of it (I have *never* 
installed a Linux distro, for instance), and before R3 shipped, I was a 
die-hard Windows user and developer.  In spite of its flaws, BeOS still 
offers the best overall desktop experience.  I am, however, very 
grateful for what JBQ and Manuel and others are revealing; it will only 
help us in the long run, whether we end up going the distance with 
OpenBeOS or working on Phoenix Group code.  

On BeOS development:  I don't remember who suggested that developing for 
Windows and Mac is easier than developing for BeOS, but I actually 
laughed out loud at that. =)  I haven't developed for the Mac, but I've 
done *plenty* of development for Windows using the raw Win32 API, 
Borland's OWL and VCL (Delphi/C++ Builder), and some MFC, and unless I'm 
seriously missing the boat, none of these is as easy, sensible and just 
downright elegant as the BeAPI.  When I got to BMessage in the BeBook (I 
basically read it from cover to cover), I knew I'd found the holy land. 
;)

In conclusion:  our absolute best bet by a very long way for the 
continued viable survival of BeOS is Palm licensing to the Phoenix 
Group.  There is simply no two ways about it -- working from the 
existing codebase will save us *months* or even years of design and 
implementation work.  Sure, we've got an awful lot laid out for us in 
the BeBook and Be Newsletters, etc., but that just can't touch having 
the source.  And even *if* Palm were to just release the source (c'mon, 
do you *really* believe they'll do that?), we'd still need marketing 
muscle to keep things moving.  There's a very good argument to be made 
that Be's marketing is what killed them -- they did a great job of 
evangelising to the devs, but most everybody I've talked to about what 
I'm doing with my free time hasn't got clue one about BeOS.  And these 
are folks that are in the industry, following the trends, reading the 
magazines, using alternate OSs, etc., etc.  I've said it before, and 
I'll say it again:  I'm 100% commited to doing *whatever* it takes to 
keep BeOS alive and thriving.  My involvement with OpenBeOS is 
predicated on the possibility that Palm will *not* cut a deal and will 
*not* release the source to the masses -- but I sure would *love* to be 
proved wrong on that count.  Keep your eye on the prize people -- it's all 
about the BeOS, and that's the bottom line.

e

Data is not information, and information is not knowledge: knowledge is not 
understanding, and understanding is not wisdom.
        - Philip Adams


Other related posts:

  • » [openbeos] My Big, Fat Catch-up Email