Spurred by the outpouring of Bill Gates retrospection on the eve of his departure from Microsoft (see “How many times have you wanted to send a memo like this to Bill Gates?“), faithful reader Bill Terrill was kind enough to share this story from back in the day:

“Ah, how I wish I had known — I could have recorded my ‘discussions’ with Bill Gates back in 1979/80. I was with Zilog at the time as a development manager. I had a couple of groups working for me at the time — compiler development (Programming Language Zilog — PL/Z) and Operating System Support. Our operating system was a variant of CPM (call RIO) and we had gotten a big contract from the U.S. military (over $5,000,000!) for our Z80 systems with a Fortran compiler. Since we didn’t have a Fortran compiler of our own, someone decided to purchase one from an outside firm. That firm was Microsoft.

“One of the contract requirements was that the compiler meet all specifications for these compilers. This was included by the military AND in our contract with Microsoft. Well, we shipped everything off only to be told by the government folks that the compiler didn’t meet the specs. A few tests internally and, sure enough, some of the standard procedures didn’t work.

“I was given the job (as support and compiler manager) to get this fixed. So began the weekly calls to Microsoft, which lasted for about 3 months. I had a listing of the compiler, which was written by one Bill Gates. So I called and asked to speak to him. Since there were only a handful of folks there at the time, Bill picked up the phone as often as not.

“I explained the problem and why this was an issue — $5,000,000 that Zilog was not being paid. Bill’s response was (and this is literally true!), “There are work-arounds, use those.” I explained that the military didn’t want work-arounds and that our contract with Microsoft was very explicit in that the compiler was required to meet the formal specs and pass the standard tests. Bill again said that we should send along the work-arounds to the customer (which I had already done to no avail) and that he would look into it.

“After a couple of weeks of calling and getting the same message from Gates, I finally pulled out the listing and went through it. It was terrible code. Sloppy, poorly documented and generally not something that I would have allowed my developers to send out the door. But that was all I had, so I spent a few days going through it and finding the errors that appeared to be causing the troubles with the tests. I then called Bill again and explained what I had done and where would he like me to send a copy of the corrections.

“He didn’t want them, as he could fix it himself! I went ahead and told him the areas that needed to be modified, but he became more and more belligerent as I went through the changes. He said, again, that he’d look into it. I seem to have hit a nerve there as I believe that I mentioned, more than once, what a crappy piece of code this was.

“After that whenever I would call, Bill and I ended up shouting at one another over these modifications. After a total of about 3 months of calling at least once a week I finally gave up and went to our company lawyer. His solution was quite simple — Call Mr. Gates one last time and present him with the name and phone number of our lawyer and tell Gates that the lawyer would be calling him the next week. I did this (quite calmly as Bill began our conversation shouting at me) and told him that I wouldn’t be calling him again.

“We had the patched and working code before the lawyer ever got around to calling him the next week. Seems I was an early recipient of the Microsoft Business Model.”