Google
  Web www.spinics.net

Re: [forum] Move X definition to IETF?

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


On Tue, Mar 25, 2003 at 05:52:58PM +0100, Lukas Molzberger wrote: 
> Breaking a shared lib ABI happens within the context of just one computer 
> while breaking a protocol affects the whole internet. On a local computer you 
> can just install both versions for the time it's needed. Usualy you update 
> all programs and libs on a computer at the same time. Compatibility of many 
> libs under Linux has been broken and that was a good an necessary thing.

The issue is not the Internet vs. one computer, but rather one
application vs. many applications.

It's possible to parallel install GTK+ (as in
http://ometer.com/parallel.html) and we can thus break APIs that are
per-app. However, we can't make backward incompatible changes to, for
example, the drag-and-drop protocol - not because we expect to do
drag-and-drop over the Internet, but because we expect to do
drag-and-drop between two applications that may not upgrade the lib at
the same time.

Similarly, take a case such as GConf, which is a configuration
system. Apps need to share the same settings. You can't have some apps
getting different values for "current font size." So there is a file
format or protocol or something there on the backend that's shared by
all apps, and can't be broken.

No matter how you approach the windowing system, at some point apps
need to coordinate access to the framebuffer device. And the mechanism
for coordinating this access will have to maintain back compat for
what amounts to "forever," because it is a mechanism that spans
multiple applications.

The only way around that is to require all apps to migrate to a new
system at once, and that is a chicken-and-egg problem that is almost
always impossible to solve.

The fact that multiple apps are involved is inherent in the problem
space, not in the technical mechanism of protocol vs. library ABI.

Havoc



[XFree86]     [XFree86]     [XFree86 Newbie]     [IETF Annouce]     [Security]     [Bugtraq]
[Photo]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Samba]     [Linux Security]     [Linux RAID]     [Linux Resources]


  Powered by Linux