Binary compatability (was: Whether POSIX calls should be...)

David Elliott dce at smsc.sony.com
Tue Oct 16 10:14:17 AEST 1990


In article <24420:Oct1418:07:5290 at kramden.acf.nyu.edu>, brnstnd at kramden.acf.nyu.edu (Dan Bernstein) writes:
|> In article <1990Oct14.122854.17433 at virtech.uucp> cpcahil at virtech.UUCP (Conor P. Cahill) writes:
|> > In article <21628:Oct1400:12:2990 at kramden.acf.nyu.edu> brnstnd at kramden.acf.nyu.edu (Dan Bernstein) writes:
|> > >and BSD
|> > >stat() might not be implemented inside the kernel either. (It can be
|> > >written in terms of lstat() and readlink(), for example.)
|> > Actually, to maintain binary compatibility with earlier code it has
|> > to be implemented in the kernel.
|> 
|> Grasping at straws. Binary compatibility is not a requirement for a UNIX
|> system. It's hardly even important for most people. I stand by my
|> statement.

While I agree with your original statement (that stat could be
implemented using lstat and readlink), I can't agree that binary
compatability isn't a requirement for a UNIX system.  Of the 4
workstations I have helped develop, 3 had binary compatability
requirements of one form or another.

For people with source, having to recompile some programs for a new
version of the OS is possible, though not always desirable.  For people
without source, it makes life very difficult.  What happens when you
need the new version of the OS to run new programs, but old programs
can't run on the new OS?  What happens if one package takes 6 months to
get converted and out the door, and others take less?

I know firsthand of a situation where a small group of users had to
have their own complete software environment using an old OS, where
everyone else in the company had the new version, all because they had
a CAD package that wasn't converted yet.  This was hell for everyone.
Bugs that existed in the old OS and not the new one had to be worked
around or ignored, we had to make special cases of these machines,
and everything we changed needed extra tests.

I think that binary compatability is becoming more important.  If we
want to have as much useful Unix software as we have for the "personal"
machines (PC/Mac/Atari/Amiga), we are going to have to leave developers
with some room to breathe.  It's bad enough that they have to deal
with different hardware (the price we pay for performance), but to
have to deal with incompatible OS changes will drive many of them away.

--
...David Elliott
...dce at smsc.sony.com | ...!{uunet,mips}!sonyusa!dce
...(408)944-4073
..."Whoopee!  I'm a human head kabob!" -- Grumpy old man



More information about the Comp.unix.misc mailing list