August 20, 2005

A (Pre) Microsoft Story

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.

Over time 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 team.

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.

For Microsoft.

Working on Basic.

TrackBack
Comments
Post a comment






Remember personal info?