Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.1 6/24/83; site hcradm.UUCP Path: utzoo!hcrvax!hcradm!mike From: mike@hcradm.UUCP (Mike Tilson) Newsgroups: net.unix,net.unix-wizards,net.micro Subject: Re: Binary Compatibility 80286 Message-ID: <2347@hcradm.UUCP> Date: Thu, 24-Oct-85 09:51:17 EDT Article-I.D.: hcradm.2347 Posted: Thu Oct 24 09:51:17 1985 Date-Received: Fri, 25-Oct-85 01:19:37 EDT References: <248@omen.UUCP> <2320@brl-tgr.ARPA> Distribution: net Organization: Human Computing Resources, Toronto Lines: 57 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