Re: Questions To Answer



> From: Alan Cox <alan@lxorguk.ukuu.org.uk>
> Date: Wed, 12 Jul 2000 23:54:02 +0100 (BST)
> To: mjs@eazel.com (Maciej Stachowiak)
> Cc: alan@lxorguk.ukuu.org.uk (Alan Cox), jg@pa.dec.com (Jim Gettys),
>         frank@collab.net (Frank Hecker), foundation-list@gnome.org
> Subject: Re: Questions To Answer
> -----
> > "Without standards Linux is dead, defunct, gone and a waste of coding
> > time."  A lot of people used to say that. I haven't seen it
> > happen. Sure LSB is in the process of making some standards now, but
>
> We have a lot of standards.
>
> > vendors have been doing OK without them. Hell, Linux doesn't even
> > follow all the POSIX standards fully (e.g. threads), and many vendors
> > don't actually follow FHS, one of the few Linux-specific standards
> > that has been around for a while.
>
> Right now one of the biggest reasons vendors are giving for not supporting
> Linux is ABI standards. They are less worried about pthreads not being
> perfect - if you know the limits then you can work with it easily
>
> A lot of the LSB work is driven by ISV's. Without the LSB several vendors
> on the Linux bandwagon today would probably not be there.

Yup.

>
> > It should address these issues. However, I see addressing those issues
> > as subordinate to the goal of creating a free desktop. I also

You won't get the free desktop without all the other commercial apps to
get critical mass (or it will take much longer, by which time you have
yet more catch up to do).

> >
> > Anyway, this is a matter of perspective to some degree. I definitely
> > agree that at some point, making standards will be an important part
> > of organizing the development of GNOME - but I definitely do not agree
> > that the coding is secondary to the standards.

Sorry, it does end up being secondary.  Think about it from a different
direction: the coding is secondary to the DESIGN (what a standard is is
the codification in carefully chosen words describing the design of a
protocol or API): you have to get the design right enough (perfection
not necessary, but see below), and stablize it so that people can build
on top of you.

>
> Coding is subordinate to the API's. We spent much of the 1.2->2.2 Linux
> kernel timeline learning that one. If the API is right you can fix the code
> later, if the API is wrong boy are you deep in it.

Exactly correct.  Existance proof 1: Keith Packard has rewritten the frame
buffer code for the X server recently: machines have changed very
significantly over the last 10 years.  The X server on a straight frame
buffer is now 600Kbytes of text, rather than several megabytes.  From
a client's point of view, nothing changed (except things generally go
faster, you have more RAM available, and the implementation offers all
pixmap depths).  You don't notice, other than things just working better...

Existance proof 2: the original X11 sample server's dynamic memory usage
was much larger than current servers: it got VERY much faster, and consumed
only 40% of the (non backing store related) memory of the original sample
server implementation.

>
> Thats not to demean the code. Nobody would pretend Bonobo by work is 99%
> the API and 1% knocking off code. In the long term its the APIs that have
> to stand. You can rewrite code

Yup.  Plan to throw one away (the implementation; sometimes even the design),
you will throw it away, even if you don't think you will.  When you get
the protocol/api's wrong, you get to live with them (almost, if not) forever....

The more successfull you are, the less chance you get to fix the API's.
I'd love to "fix" some of my/our mistakes with X11.  I can't.  You don't
think this is frustrating to me? Or Bob Scheifler? or the others who
contributed to X11 design?  It is, and it is the reality of the world.
The compensation is seeing things like Gnome happen, finally validating
that we got most of the important things right.

At best, I can help make things less painful by helping transition to
improved technology (for example, at the base X server level, Keith Packard
is working on a new rendering model for X that can run side by side with
the current rendering model).  This IS the price of success: you get to
live with your mistakes forever staring you in the face.  All I can say
is that X11 is LOTS better than X10 and before: we also faced a success
disaster with the base window system, and did the best we could with the
time we had available.

Whether you believe it or not, Gnome is in the standards business: right
now, it is the standards setting business.  But it will all become moot
if no standard is set.  We can discuss how/where/when defacto/formal
standardization should occur, but I don't think "if" is up for discussion.
Not if you want a free desktop.  Now if you want to change API's/protocols
forever, we can all go elsewhere, and you can play in your sandbox.  Because
people can't build on a foundation of sand...

					- Jim

--
Jim Gettys
Technology and Corporate Development
Compaq Computer Corporation
jg@pa.dec.com





[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]