feature article
Subscribe Now

Next Door to Genius

Was Microsoft Built on Pirated Software from Digital Research?

“If you can’t say something nice about someone, come sit right here by me.” – Alice Roosevelt Longworth

This story is part grave digging, part mythology, part forensic analysis, and part courtroom drama. It’s new and it’s old. It’s about computers and it’s about people; good guys and bad guys; intrigue and betrayal. And it’s all true. Well, most of it, anyway.

Some of you already know the story – or think you do – and it starts like this. A computer science professor named Gary Kildall, working out of his house in tiny Pacific Grove, California, invented his own programming language called PL/M as well as an operating system he called CP/M. When he wasn’t teaching, he consulted part-time for Intel, but the chip company wasn’t interested in his new OS.

So Kildall formed his own company, Digital Research, and, before long, he was selling more copies of CP/M than he’d ever expected. Homebrew computer builders and hobbyists liked CP/M for its modularity and portability. It became the de facto standard operating system for these new things called “personal computers.”

That’s about the time IBM entered the market. The computer giant needed software for its new PC, so IBM representatives flew to Seattle to see Bill Gates about licensing his BASIC programming language. Gates suggested that IBM also pay a visit to Gary Kildall in California to see about licensing the CP/M operating system to go along with his BASIC interpreter. But Kildall and company weren’t available when IBM arrived, so the men in the blue suits made a return trip to Seattle to seek a second alternative. Thinking quickly, Gates bought the rights to the QDOS operating system from another local Seattle company, made some minor tweaks, renamed it MS-DOS, licensed it to IBM, and started down the path to becoming the world’s richest company. The End.

Ever since then, people have accused Microsoft of “stealing” CP/M from Digital Research and Gary Kildall. The two operating systems are certainly very similar. Anyone who’s used them both will tell you that they’re nearly interchangeable from a user’s point of view. The commands, the file structure, the programming interface – it’s all uncannily familiar.

So did Microsoft rip off CP/M? Should Gary Kildall have been the next Bill Gates?

Nope.

It’s that simple. For all of its similarities, MS-DOS is emphatically not a copy of CP/M. It was, instead, written from scratch by a guy named Tim Paterson at Seattle Computer Products. Microsoft bought QDOS (Quick and Dirty Operating System) for $75,000, hired Paterson, and that was that. QDOS was original, just as CP/M was original. But the rumors refuse to die.

How do we know for sure that MS-DOS wasn’t copied from CP/M? Because a recent expert forensic analysis says so. Bob Zeidman specializes in exactly this kind of binary, bit-for-bit comparison, and he says they’re hardly similar at all. Zeidman’s company serves as expert witness on numerous high-tech court cases, including the recent Google/Oracle fracas and the more famous Facebook (The Social Network) infringement case. Scouring source code and object code for infringement is what they do all day, and they just last week concluded that no, MS-DOS does not copy anything significant from CP/M.

Why bring this up now? Because early copies of MS-DOS source code have recently come to light, thanks to a donation from Microsoft to The Computer History Museum. This allowed Zeidman to examine different versions of MS-DOS source code, line by line, for the first time. (The source for CP/M was already available.) They also examined the binaries of both operating systems, which can be just as useful.

Their conclusion? There was no copying between the two. MS-DOS and CP/M were developed independently, largely by two individual programmers, working at two different times. Yes, there are many similarities in how they work – their “look and feel” – but that’s to be expected in an era when microcomputers, floppy disks, and CRTs are all new. There are only so many ways you can send ASCII text to a console. Other contemporary operating systems, such as Apple DOS and VMS, look pretty similar, too.

Adding to the similarities was the fact that MS-DOS (like QDOS before it) was deliberately designed to have partial file compatibility with CP/M diskettes. Given that CP/M was the dominant PC operating system at the time, it only made sense to be compatible with CP/M’s filesystem.

The only place where CP/M and MS-DOS do align is in their respective tables of system calls. Both offer an array of callable functions to read from the keyboard, check device status, open and close files, and so on. These are all accessible via a jump table. Intriguingly, both operating systems organize their system calls in nearly the same order. Function 0 is the same for both; Function 1 is the same for both, and so on.

Zeidman is quick to point out that the code implementing these functions is quite different. There’s no similarity between their implementations. Only their order of appearance in the table of APIs is mostly (but not entirely) the same. It can’t be explained by coincidence, but it’s not software plagiarism, either.

The issue is reminiscent of the recent Oracle/Google lawsuit, where the similarities between Android’s APIs and those of Java were in dispute. But in that case, the code implementing the APIs actually was the same. With CP/M vs. MS-DOS, that’s not the case.

So why, out of the blue, did Tim Paterson copy most of Gary Kildall’s list of system calls? The short answer is, why not? Both operating systems implemented a similar set of features (albeit with different code), and a certain level of compatibility would have been desirable. So Paterson could either (a) arrange the system calls in some sequence that made sense to him; (b) organize them at random; or (c) reuse an existing order that was already proven to work. In the absence of any compelling reason to change CP/M’s established methods, he chose the quick and dirty route. 

So the technical analysis is done, the evidence is in, and the jury has gone home. MS-DOS is not a copy of CP/M, just a similar operating system developed at a similar time. And yet, the rumor persists. “Microsoft stole MS-DOS! The company is built on ill-gotten gains!”

Some people just need a bad guy. For many, an illicit story fuels their resentment of Microsoft and its success. We like to root for the underdog, but we have mixed reactions to their success. Our own success is good and right; others must have gotten theirs unfairly.

Kildall himself could be resentful of Microsoft, too. He felt that his own contributions to the industry had been overshadowed, and that other companies didn’t always emphasize software elegance the way he did. But his work didn’t stop at CP/M. He went on to create MP/M (multiuser CP/M), a LOGO language compiler, a graphical user interface, and his own PBX system. He later sold Digital Research to Novell, made millions on the deal, and retired to an opulent house near the ocean in Pebble Beach. Life didn’t suck.

On a personal note, Gary Kildall’s old house is just a few doors down from mine on the same street. I see the Kildall family home (which doubled as Digital Research’s headquarters) every day. When the company expanded into a second building, it was also in our same little neighborhood. There’s now a brass plaque mounted in the sidewalk in front of the Kildall/DRI building, put there by the IEEE in honor of his contributions to the computer industry.

Gary Kildall wasn’t the man who should have been Bill Gates. He’s the man who was Gary Kildall. 

One thought on “Next Door to Genius”

Leave a Reply

featured blogs
Apr 24, 2024
Diversity, equity, and inclusion (DEI) are not just words but values that are exemplified through our culture at Cadence. In the DEI@Cadence blog series, you'll find a community where employees share their perspectives and experiences. By providing a glimpse of their personal...
Apr 23, 2024
We explore Aerospace and Government (A&G) chip design and explain how Silicon Lifecycle Management (SLM) ensures semiconductor reliability for A&G applications.The post SLM Solutions for Mission-Critical Aerospace and Government Chip Designs appeared first on Chip ...
Apr 18, 2024
Are you ready for a revolution in robotic technology (as opposed to a robotic revolution, of course)?...

featured video

MaxLinear Integrates Analog & Digital Design in One Chip with Cadence 3D Solvers

Sponsored by Cadence Design Systems

MaxLinear has the unique capability of integrating analog and digital design on the same chip. Because of this, the team developed some interesting technology in the communication space. In the optical infrastructure domain, they created the first fully integrated 5nm CMOS PAM4 DSP. All their products solve critical communication and high-frequency analysis challenges.

Learn more about how MaxLinear is using Cadence’s Clarity 3D Solver and EMX Planar 3D Solver in their design process.

featured paper

Designing Robust 5G Power Amplifiers for the Real World

Sponsored by Keysight

Simulating 5G power amplifier (PA) designs at the component and system levels with authentic modulation and high-fidelity behavioral models increases predictability, lowers risk, and shrinks schedules. Simulation software enables multi-technology layout and multi-domain analysis, evaluating the impacts of 5G PA design choices while delivering accurate results in a single virtual workspace. This application note delves into how authentic modulation enhances predictability and performance in 5G millimeter-wave systems.

Download now to revolutionize your design process.

featured chalk talk

Exploring the Potential of 5G in Both Public and Private Networks – Advantech and Mouser
Sponsored by Mouser Electronics and Advantech
In this episode of Chalk Talk, Amelia Dalton and Andrew Chen from Advantech investigate how we can revolutionize connectivity with 5G in public and private networks. They explore the role that 5G plays in autonomous vehicles, smart traffic systems, and public safety infrastructure and the solutions that Advantech offers in this arena.
Apr 1, 2024
3,278 views