Was Microsoft's Empire Built on Stolen Code? We May Never Know

A forensic computing researcher may have settled one of tech's longest standing controversies: whether the original version of Microsoft's seminal MS-DOS operating system contained code copied from an older OS called known as CP/M. But now we have another controversy: the researcher has close ties to Microsoft.

TRS-80 running CPM

A forensic computing researcher may have settled one of tech's longest standing controversies: whether the original version of Microsoft's seminal MS-DOS operating system contained code copied from an older OS called known as CP/M.

But now we have another controversy: the researcher has close ties to Microsoft.

In many ways, the Microsoft empire was built on MS-DOS. The company got its start selling tools for programmers, but its big break came in 1980 when it licensed MS-DOS to IBM for use in the company's first desktop PCs. The irony is that Microsoft didn't develop the operating system in-house. It acquired 86-DOS -- originally called QDOS, short for "quick and dirty operating system" -- an operating system created by Tim Paterson at Seattle Computer Co.

According to tech lore, the IBM deal could just as easily have gone to the late Gary Kildall, creator of the early PC operating system CP/M and founder of Digital Research Inc. (DRI). As explained in a 2004 BusinessWeek article, stories differ as to why IBM didn't end up buying or licensing CP/M. But whatever the circumstances, Kildall was bitter.

DRI's lawyer at the time, Gerry Davis, told BusinessWeek that the company's forensic researchers found that 86-DOS infringed on DRI's intellectual property. But DRI never pursued legal action against Microsoft or IBM. Kildall died in 1994, but the rumor that Microsoft copied his creation persists to this day.

Recently, a man named Bob Zeidman decided to settle the matter once and for all. He examined the code in question using a set of tools he developed for detecting copyright violations in software, and last month he published his findings in the pages of IEEE Spectrum. Spoiler alert: he didn't find any evidence that MS-DOS copied code from CP/M.

But it turns out Zeidman has a history with Microsoft. Rebecca Mercuri, another forensic computing researcher, pointed out in the comments of the IEEE Spectrum article that Zeidman's resume says he's an expert witness in the ongoing battle between Microsoft and Motorola over the Android mobile operating system. This tie was not disclosed in the article. Zeidman runs a firm called Zeidman Consulting that -- among other things -- provides testing services and expert testimony for intellectual property cases involving software.

In an interview with Wired, Zeidman said his firm was hired a little over a year ago on behalf of Microsoft to testify in the the case. "I didn't even think about it [when penning the IEEE Spectrum piece]," Zeidman told Wired. "I've worked against Microsoft in the past." He says that if anything, his article will hurt his chances of being hired to testify for Microsoft again.

Zeidman says that his involvement with the case has been "on hold" since August and that he started looking into the CP/M versus DOS controversy in December because he had some downtime between cases. He'd read about the controversy before and just thought it would be a fun project to work on.

The bulk of Zeidman's analysis was made on CP/M source code made available at The Unofficial CP/M Web site and Q-DOS source code made available at Howard's Seattle Computer Products SCP 86-DOS Resource Website. Zeidman says he looked through the entire code base -- which wasn't hard to do because the lines of code number in the thousands, as opposed to modern applications, which have millions of lines of code -- and he says he found no evidence of copying.

Zeidman also looked at the binary code of a fairly early version of MS-DOS and found nothing. He noted in the article that binary analysis can easily miss copying because the code has been translated from its original source code into binary, but tells us that this isn't that important in this case because if copying had occurred, it would have shown up in the Q-DOS source code.

In a 2006 episode of the podcast This Week in Tech, science fiction writer and former Byte magazine columnist Jerry Pournelle said the CP/M code included a secret command that would display a copyright notice and Kildall's full name when typed into MS-DOS 1. "This is not somebody told me this, Gary showed it to me," Pournelle said on the podcast. Zeidman looked for this too, but didn't find it.

This doesn't mean that it's not there, but Zeidman writes that it would be extremely difficult to hide such a message in the code. Besides, if such smoking gun evidence of copying existed, wouldn't Kildall have come forward with the secret command when the controversy first started?

Urban legends die hard, and given Zeidman's connection to Microsoft, it seems likely that some of the company's detractors will dismiss his findings out of hand. But as Zeidman notes, the code is out there for other forensic researchers to examine.

Plus, his analysis only deals with copied code, not with the look and feel of the operating system. In 2004, Little Brown published a book by Harold Evans called They Made America: From the Steam Engine to the Search Engine: Two Centuries of Innovators which included Kildall's claims that the API and look and feel of 86-DOS had been copied from CP/M. In 2005, Paterson tried to sue both Evans and Little Brown for defamation, but the case was ultimately dismissed as the judge found that Paterson had indeed copied CP/M's API. Considering the recent decision that APIs aren't subject to copyright, it doesn't seem that DRI would have had much luck in court. But it's hard to dispute the similarities between the operating systems.

Photo by Blake Patterson / CC