As described by The Register in 2001, around 1987 journalists and others started asking Bill Gates for a copy of the source code for the original version of Altair (eventually Micro-Soft) BASIC, written for the Altair 8800 and other 8080-based machines. This turned out to be fruitless, but a paper copy eventually was discovered at Harvard and copies of that now apparently reside in the Pusey library there and are available for public viewing. Ian Griffiths visited, read some of the code and write about his experience here. (There are various other copies of this page on the net.)
Since then the source for various derivatives of this BASIC has
appeared on the 'net, apparently without major issues or takedown
threats. BASIC-80 5.2 appears to contain substantial amounts of code
from Altair BASIC, and the 6502 port also clearly has substantial
reuse. Compare, for example, the
PTRGET routine in those and you'll
see that the header comment has the same structure and several
identical phrases, many symbol names are identical, and the structure
of the code is the same.
Why, though it's been preserved and bits of it are available through other versions anyway, does there seem to be an issue with making the early 8080 BASIC source code available? The reasons do not seem to be technical, since scanning paper documents from that era and making them available on-line is commonly done.
To be clear, I know that the object code and annotated disassemblies of it are widely available. I'm posting this question not becuase I'm looking for the details of how this BASIC works, but because I'm interested in the details of the original code (particularly naming conventions and comments) as written by Gates, Allen and Monte Davidoff.