• Please review our updated Terms and Rules here

Do you think Tim Patterson infringed on DRI's rights with QDOS/MSDOS?

Pentad4k

Member
Joined
Sep 11, 2023
Messages
16
Those of you who used CP/M and then used MS-DOS, I wondered what your opinion on this was? From the books I've read and the interviews I've seen with Tim, I do not think that he copied any CP/M code into QDos. However, Gary Kildall threatened IBM with a lawsuit because QDOS was so close CP/M which forced IBM to also offer CP/M. It is interesting that Gary was unhappy with QDOS, but DRI copied Apple with GEM in 1984.

In Merrill Chapman's book "In Search of Stupidity" he says people begged Gary to lower the price of CP/M for the 5150, but Gary declined.
 
There is an issue of PC Magazine where DRI made statements declining to reduce the price of CP/M-86. I think it was published about the time the XT was released. Rather long article that the improvements to Google Books search have made much more challenging to find. Edit: I was off by a year. See page 35 of June/July 1982 which is part of an interview with Gary Kildall including a response to a suggestion of a lower cost CP/M without assembler or debugger.

A number of people cloned CP/M without any claims of it being a violation of copyright. Kildall was unhappy but it was DRI's decision to pursue multi-user MP/M-80 instead of single user CP/M-86 until after IBM had set on its path.
 
Last edited:
I don't recall seeing any clones of CP/M-80 until mid-80's or later, long after DRI stopped caring. I remember looking at a first version of PC-DOS/MS-DOS from the debugger, which I had done a lot of in CP/M-80 prior to that (so was very familiar with the CP/M -80 code). What I saw was the same code but translated to 8086 instructions, so to me it was like someone disassembled the BDOS and ran it through the special 8086 assembler mode that would take 8080 instructions and assemble them as 8086 code. Remember that the first version of 'DOS had very few extensions beyond the CP/M functions, but there were some modifications. Whether it could can been proven in court, I don't know. But, to me, it wreaked of having been stolen. I'm sure Gary saw the same things, probably more.

Note that MP/M-80 pre-dates all the IBM-PC and DOS stuff. DRI was working on CP/M-86 before IBM announced that they were using the 8086 in their PC - although it is possible that Gary knew of it before we the public did. CP/M-3 was really the last major effort from DRI in the 8080 world, and MP/M-80 was more-or-less finished by then. I saw no evidence that DRI was neglecting CP/M-86, although I wasn't really paying close attention to that side of things.
 
DRI was charging $240 for CP/M, while MS was charging $40 for MS-DOS. No doubt DR's reluctance to drop their price played into MS's offering a lower price for their OS.
 
Z-System was first released in 1982 which was the middle of DRI's most aggressive phase.

Take a look at the CALL 5 interface of MS-DOS. It is the clearest example that MS-DOS was not translated from 8080/Z80 code. No automated system would generate something that crazy. DOS takes the function number from CL, moves it to AH, restructures the stack, and then goes into the standard DOS dispatch table.
 
I don't remember that much disparity in price at the beginning, but it certainly could be that MS dropped the price while DRI was engineering better product. I don't think Gary/DRI had any illusions about trying to beat MS/IBM. He was interested in making a good product, and exploring what could be done. He wasn't interested in taking over the world.
 
Z-System was first released in 1982 which was the middle of DRI's most aggressive phase.

Take a look at the CALL 5 interface of MS-DOS. It is the clearest example that MS-DOS was not translated from 8080/Z80 code. No automated system would generate something that crazy. DOS takes the function number from CL, moves it to AH, restructures the stack, and then goes into the standard DOS dispatch table.
I would not characterize 1982 as DRI's most aggressive phase for CP/M-80. They were putting MP/M-80 and CP/NET "to bed" and pushing out CP/M-3 because they had committed to that, but they were otherwise done with 8080. Also, Z-system did not rip-off CP/M-80, it provided alternative implementations, which is not anything DRI objected to. In fact, didn't Z-system actually fit "on top of" a CP/M distro?

Regarding MS-DOS CALL 5, that is exactly the code that first told me of it's relationship to CP/M 2.2 BDOS. If you look at the very first copies of 'DOS, I believe you'll see code that is very close to CP/M-80. Certainly, MS started altering the code right away, both to distance themselves from this controversy as well as extend it as required (I believe IBM had a fair amount of input on how things needed to work).
 
Copying the functionality of CP/M did not infringe on copyright so long as no code from the original was copied. Given that CP/M 80 was 8080 code and QDOS was 8086, it's kind of difficult to make the argument that copyright was infringed upon.

Hence, the "clean room" copying of the IBM BIOS functionality succeeding.
 
Is there any evidence that Tim Paterson started with the code of CP/M to generate what became DOS? Automatic code translation leaves distinctive code structures which aren't visible in any DOS source I have seen. There are several bugs where DOS follows the documented behavior instead of what CP/M code does. Some places, like the CALL 5 interface, have completely different code designs that have been mangled to produce the expected result for programs designed for CP/M 2.2.
 
I think it's just a meme that's been going around for 40 years and growing taller with the telling.
 
I don't think he did violate the copyright, and I don't believe I would have violated the CP/M copyright either had I written the Loki operating system back in the 80s, and that runs CP/M software on a z80 machine and is compatible with CP/M. Enough to make a suitable clone.

Writing the OS from scratch isn't difficult. I had written most of my own OS after a month, and it functioned like an OS, and ran like an OS, but it didn't run CP/M software due to me misinterpreting a LOT of the CP/M documentation. Making things work correctly was challenging and took more time than writing the original OS, and I was fortunate enough to have an emulator to work on, so I could set breakpoints and debug in detail. Doing that in hardware would have been complex.

Of course, the real question shouldn't be "Did he infring DRI's rights" - it should be "Should what he did have been considered to have infringed DRIs rights?"

The copyright system is a mess. The patent system is a bigger mess. Both are in rapid need of reform and in the end, the winner is usually the person with the most money. I think the situation between CP/M and MSDOS certainly messed things up a lot more. It would have made a lot of people fearful. In the modern era, it's impossible to fully take on an incumbent that has IP protection in place and money to defend it.

Anyway, if you want to see what a scratch-written OS looks like, with some very limited knowledge of what CP/M was ( not entirely a clean room build, but maybe close enough to be called one still ) you can look at the code. It does differ from CP/M, but if you make elements the same, it's amazing how many instruction chains are the same, because that's simply how it's written.

Maybe the thing that differentiates my build from CP/M is it's obvious I wrote mine for z80 only, and use of index registers extensively breaks up the code and makes it very different, but if you ignore that, to work with CP/M's disk format in an efficient way, you're going to end up with most of the same code.
 
Copying the functionality of CP/M did not infringe on copyright so long as no code from the original was copied. Given that CP/M 80 was 8080 code and QDOS was 8086, it's kind of difficult to make the argument that copyright was infringed upon.

Hence, the "clean room" copying of the IBM BIOS functionality succeeding.
That's the difference between borrowing an idea versus stealing directly from it. No need to peek under the hood if there's documentation that describes how it works. Gary claimed there were encrypted messages in his code, or Easter eggs present to prove code was stolen, but no one has ever proven their existence in 86-DOS.
 
Regardless of whether there was legally any infringement, the similarity that I observed was more than coincidental, and there were "better" ways to use 8086 instructions to do the same things. It was highly suspicious, at least ethically.
 
Regardless of whether there was legally any infringement, the similarity that I observed was more than coincidental, and there were "better" ways to use 8086 instructions to do the same things. It was highly suspicious, at least ethically.
It is as ethical as any other work alike system including DRDOS. The one unusual wrinkle for SCP-DOS was the ability to run CP/M-80 programs that had been automatically converted to 8086. That was to be a space holder until DRI finally made something for the 8086. Lots of effort for something that turned out to not be needed once SCP-DOS became PC-DOS, the single most used micro operating system.
 
It is as ethical as any other work alike system including DRDOS. ...
We disagree. What I observed was suspicious, and more than just "work alike". My perspective had nothing to do with MS-DOS using most of the same BDOS API as CP/M 2.2.
 
It clearly copied the API - is an API copyrightable? Was the API copyrighted?

I agree with Chuck about the filesystem; I don't see how anyone could say it was copied when the filesystem was a complete departure!
 
It clearly copied the API - is an API copyrightable? Was the API copyrighted?

I agree with Chuck about the filesystem; I don't see how anyone could say it was copied when the filesystem was a complete departure!
The code that implements an API is protected. The world would be a very different place if APIs couldn't be reimplemented.
 
Again, my opinions of the first release had nothing to do with the API - the fact that the APIs were very similar simply triggered the question "how different are the internals?". And, the fact that one part of the system (e.g. filesystem) was replaced does not prove that other parts weren't copied. Granted, at that point in time our legal system was completely incapable of handling cases about software copyrights, as evidenced by the few cases that did go to trial. Regardless of whether Gary felt there was copyright infringement or not, there was little chance that a legal battle would do any good - especially when the defendants might include IBM. In that era, makers of software and hardware just threw copyright notices on everything, and hoped they never had to enforce them. CP/M was certainly copyrighted, but exactly which parts was never determined as far as I know.
 
Back
Top