Back in the days BM (Before Microsoft), I worked for a small
company in Seattle called International Entry Systems, Inc, or IESI. They
manufactured Z-80 based data entry terminals that were, basically, a
single line display, a keyboard and a data cassette recorder. All software
was loaded from tape. (This was 1980, after all.)
One of the software packages they had available was a copy of Microsoft Basic.
I won’t go into the machinations you might go through to have a working Basic
interpreter that uses a single line (40 character line, at that) display
and a single cassette deck for all storage, but
they did. It was in place, though underutilized, when I showed up.
it became my task to extend it with some device specific additions to the Basic programming language.
We had the source code of course, so I dove headlong into
understanding how 8-bit Microsoft Basic worked, and I successfully added
access to the communications ports on the data entry terminal.
Customers writing in Basic could actually write simple terminal emulation
programs and other nifty things.
However, what I came to eventually find out was that IESI had not acquired Microsoft Basic
by normal (read ‘legal’) means. In fact, one of my predecessors in the company
had reverse-engineered it … meaning that he had taken a copy of Microsoft
Basic on some other 8-bit machine, and reconstructed the source code for that,
and then begun modifying it to customize it for IESI’s needs.
Fortunately for me (and probably for all concerned), the legalities had
been addressed, and the licensing approved before I arrived.
Fast forward two or three years to when I’m interviewing at Microsoft.
Certainly a respectable knowledge of the workings of their own product was perhaps a small
part of my getting hired. So when I got the offer and accepted it, I was then
offered three possible positions. It kinda went like this:
We’ve got this position working on Basic, this other position working
on Basic, and this position working on Microsoft Cobol.
Cool! I’d like that position working on Basic, please.
Well, we’d kinda sorta like to get you over on Cobol if you don’t mind.
Well, how about that other position working on Basic?
Yes. Well. Ahem. You see, we’d really like to have you join our Cobol
OK, then. Who am I to argue? Cobol it is!
Cobol turned out to be the right fit … I had a great time there, and made
some great friends.
But the story’s not over. You see, that guy who illegally reverse-engineered Microsoft
Basic for IESI? He left that company just shortly before I arrived. He found
himself a new job.
Working on Basic.