Binary Compatibility 80286

Mike Tilson mike at hcradm.UUCP
Thu Oct 24 23:51:17 AEST 1985


Several people have responded to the issue of binary compatibility by
arguing that it is nearly irrelevant -- the only way to move from
one architecture to another is by source level compatibility, and once
you have it you aren't stuck with the 80286 when you need something
else.  I agree this is a key point.

However, I think the issue is more complex, and there is some truth to
what Bill Gates says.  The popularity of UNIX will depend increasingly
on the amount of application software that is readily available.
To an end user, "available" means that one can send in an order for
program "X" to run on machine "Y", and have the tape or disk sent back
promptly.  If the answer to the request is "Sorry, we haven't ported to
machine Y yet", then for that user the software is not available, even
if program X runs on "UNIX".

Distribution in source code form is not the answer for commercial software.
One could imagine software vendors who sell source code only, but this
is not practical for most vendors.  Software is already easy to steal,
and unlimited distribution of source code is almost a license to steal
(it certainly requires a much larger policing effort.)  Most software
vendors make their living selling binary copies, with only the occasional
source code sale.  If the software could be protected, most would be
happy to sell source only, but it can't and they don't.  There are technical
problems as well -- you want to sell a program that you *know* will run.
If you haven't actually compiled it on the target machine, you don't
know what compiler bugs you might hit, etc.  (Note:  Please no flames about
the moral wrongness of binary code.  In our economic and legal system,
binary code will continue to be the norm, even if some think it wrong.)

Therefore vendors sell binary code.  As a software vendor, we at HCR
find the multiplicity of machines to be a real pain.  We can live with
the fact that you must make a 68000 version and a VAX version of a
program, but it is very costly to make 10 different 68000 versions.
A binary standard would eliminate needless duplication of effort.  As
software companies go, we are fairly big (60 people using almost
$1,000,000 worth of computer equipment) but we can't afford to deal
with all of these formats.  Therefore we are targeting our new products
to a few "winner" machines.  These machines may not be the best cost
performers, but they have the largest sales because they are sold by
the largest companies.  If there were a binary standard, we and other
vendors could sell to more markets, but more importantly, end users
would have a much wider choice.

The biggest advantage of the IBM PC is that a user can go to a store
and buy thousands of programs from big and small companies.  These programs
are *cheap*, because of the volume market and competition.  Binary standards
for UNIX program portability would help to create a volume UNIX market,
which would give us all a better selection of software at lower prices,
and would increase the general acceptance of UNIX.  While there is no
fundamental technical obstacle to this, I don't believe it will happen
for a few years, because there are a lot of sticky little problems. But
it would be nice to get rid of yet another *unnecessary* difference between
machines, so we can focus more on the real differences.

/ Michael Tilson
/ Human Computing Resources Corp.
/ {utzoo,decvax...}!hcr!hcradm!mike



More information about the Comp.unix mailing list