Path: utzoo!utgpu!water!watmath!clyde!bellcore!rutgers!cmcl2!nrl-cmf!ames!amdahl!nsc!taux01!chaim
From: chaim@taux01.UUCP (Chaim Bendelac)
Newsgroups: comp.arch
Subject: Software Distribution
Message-ID: <891@taux01.UUCP>
Date: 17 Aug 88 17:41:07 GMT
Organization: National Semiconductor (Israel) Ltd.
Lines: 32

Previous articles (under "Standard Un*x HW"/"Open Systems"/"ABI", etc) have
expressed the wish for portability standards. Many organizations are spending
tremendous resources to promote such standards. Nothing new there.

I wondered, if there is no room for another standard layer, specially 
designed for software DISTRIBUTION.  Imagine an Intermediate Program 
Representation Standard (IPRS) along the lines of an intermediate language
within a compiler.  Language independent, architecture independent.
The distributor compiles and optimizes his program with his favorite 
language compiler into its IPR, copies the IPR onto a tape and sells. 
The buyer uses a variation on 'tar' to unload the tape and to post-process 
the IPR program with the system-supplied architecture-optimized IPRS-to-binary 
compiler backend.

No need for cumbersome source-distributions, no more different binary copies
of the software. Utopia! You introduce a weirdly new, non-compatible 
architecture? Just supply a Standard Unix (ala X/Open or OSF or whatever), 
an IPRS-to-binary backend, and you are in business. The Software Crisis 
is over! 

:-)   ?   :-(

No free lunch, of course. The programmer still has to write "portable"
software, which is a difficult problem. A truly language- and architecture-
independent interface is almost as difficult to design as the old "universal 
assembler" idea. But with enough incentives, perhaps?  Questions:

	1. How desperate is the need for such a standard? (I know: GNU
	   does not need ISPRs nor ABIs...)
	2. Assuming LOTS of need, how practical might this be?
	3. What are the main obstacles? Economical? Political? Technical?
	4. What are the other advantages or disadvantages?