Forgot your password?
typodupeerror
Microsoft Operating Systems Software

MS-DOS Not Stolen, New Forensic Analysis Concludes 286

Posted by timothy
from the sorry-to-disappoint-you dept.
theodp writes "Challenging earlier assertions that Bill Gates got the rewards due Gary Kildall, a forensic analysis conducted for the latest issue of IEEE Spectrum concludes that the landmark MS-DOS operating system which Bill Gates and Microsoft licensed to IBM was an original piece of work, not stolen goods. Using his company's CodeSuite forensic software, Bob Zeidman said he found no evidence that QDOS or MS-DOS was copied from or was a derivative of Gary Kildall's CP/M. So, what do you think of Microsoft expert witness (pdf) Zeidman's "if-the-codebase-doesn't-fit-you-must-acquit" arguments?"
This discussion has been archived. No new comments can be posted.

MS-DOS Not Stolen, New Forensic Analysis Concludes

Comments Filter:
  • meh (Score:5, Insightful)

    by kelemvor4 (1980226) on Tuesday August 07, 2012 @08:53AM (#40904161)
    I think it's interesting only as a matter of curiosity at this point.
    • Re:meh (Score:5, Insightful)

      by jellomizer (103300) on Tuesday August 07, 2012 @09:08AM (#40904319)

      So MS-DOS is to QDOS and CP/M.
      As GNU/Linux is to Unix and Multics.

       

      • Re:meh (Score:5, Informative)

        by Anonymous Coward on Tuesday August 07, 2012 @09:24AM (#40904477)

        I don't think so.

        Microsoft did purchase Qdos, and there are direct correlations between qdos and msdos. What the article asserted was that there is no cp/m in qdos, nor is there any cp/m in msdos. There certainly is plenty of qdos in msdos.

        • there is no UNIX code in linux or modern BSD derivatives which came from BSD 4.4
        • by Petron (1771156)

          Microsoft did purchase Qdos...

          purchase != steal

          It's fine if MSDOS contains parts of QDOS if Microsoft bought QDOS. The original authors got paid. Now if we consider the price paid to be fair is another story... But that doesn't matter, all that matters is did the author think it was a fair price at the time, and did he willingly accept it? In hindsight, of course he should have gotten more, but that is always the risk when you sell your IP...

    • Re:meh (Score:5, Funny)

      by mcgrew (92797) * on Tuesday August 07, 2012 @10:00AM (#40904877) Homepage Journal

      I think it's interesting only as a matter of curiosity at this point.

      I really doubt that NASA's computers are running IBM-DOS 1.0...

  • by DWMorse (1816016) on Tuesday August 07, 2012 @08:55AM (#40904189) Homepage

    Using his company's CodeSuite forensic software,

    Alternate summary: CodeSuite found not to work as forensic software!

    • by rvw (755107) on Tuesday August 07, 2012 @09:00AM (#40904245)

      Using his company's CodeSuite forensic software,

      Alternate summary: CodeSuite found not to work as forensic software!

      Alternate headline: Microsoft acquires new research software suite

    • by Colonel Korn (1258968) on Tuesday August 07, 2012 @09:09AM (#40904331)

      Using his company's CodeSuite forensic software,

      Alternate summary: CodeSuite found not to work as forensic software!

      Or in other words, "If evidence disagrees with my irrational prejudice, evidence must be wrong!"

      • by the_B0fh (208483) on Tuesday August 07, 2012 @09:22AM (#40904459) Homepage

        Did Bill Gates pay $50k for QDOS? Or did he not? It's pretty simple...

        If he did, it wasn't stolen, he owns it.

        • by fatboy (6851)

          That's they way I recall it being presented in Steven Levy's hackers. (But it's been like 20 years since I read that book)

    • Re:Alternatively... (Score:5, Interesting)

      by squiggleslash (241428) on Tuesday August 07, 2012 @09:26AM (#40904513) Homepage Journal

      More likely CodeSuite is right.

      I know everyone wants to believe the story that a devious Bill Gates simply changed the copyright message on a copy of CP/M and re-released it, but there are numerous issues with the story:

      - CP/M is tiny. Really, really, small. And has a well documented API. Anyone conversant in 808x assembler can put together a clone in a matter of days. This isn't an academic statement, I put together one myself for a A Level Computer Science course in the 1980s when I wrote a "CP/M emulator" for the Sinclair QL as my final project. (Appropriately the Sinclair QL's native operating system is also called QDOS. Go figure.)

      - QDOS wasn't even a direct clone. The largest - or at least most complex - component of CP/M is the file system - almost everything else is an almost 1:1 call to a BIOS routine. And QDOS didn't have CP/M's file system - it used FAT, not the somewhat inefficient CP/M system which, IIRC, required scanning the entire directory to determine where the free sectors were. So even if someone had started off with a copy of CP/M and directly ported it, 90% of it or more would have had to be rewritten to produce QDOS.

      The stories of Gary Kildall typing in some obscure set of keystrokes causing a copy of PC DOS to announce that it was actually CP/M - haha! - always struck me as improbable, and the fact they only appeared in dubious sources several years after this had supposedly happened makes me think the stories are outright fabrications. That doesn't mean there weren't potential copyright issues, and I suspect most of the stories of IBM somehow settling with DR over the similarities have some elements of truth - but this is because this was the early eighties, the era of Pacman lawsuits, to be followed a few years later by Apple's infamous look and feel suits against DR and Microsoft/HP.

      In terms of actual code being copied however - no. It would, arguably, have taken more work to translate CP/M into 8086 assembler and then make all of the changes necessary to turn it into QDOS than it would to write QDOS from scratch. QDOS had a similar API, and a similar but not identical shell. Otherwise it wasn't remotely similar.

      • Re:Alternatively... (Score:5, Informative)

        by Joce640k (829181) on Tuesday August 07, 2012 @09:38AM (#40904643) Homepage

        This.

        CP/M is a very simple beast. It's laughable to think that anybody would go to the effort of disassembling it to find out how it worked then rewriting it function-for-function in 8086 assembly code. changing the file system as you go.

        It would be much less work to just read the CP/M docs then write your own little OS using the ideas gleaned. I doubt he even did that. There was no magic in CP/M even way back then and MS-DOS isn't all that similar to it.

        • by Dcnjoe60 (682885) on Tuesday August 07, 2012 @10:55AM (#40905473)

          This.

          CP/M is a very simple beast. It's laughable to think that anybody would go to the effort of disassembling it to find out how it worked then rewriting it function-for-function in 8086 assembly code. changing the file system as you go.

          It would be much less work to just read the CP/M docs then write your own little OS using the ideas gleaned. I doubt he even did that. There was no magic in CP/M even way back then and MS-DOS isn't all that similar to it.

          Luckily there weren't the crazy software patents of today back then.

      • Re:Alternatively... (Score:5, Informative)

        by terjeber (856226) on Tuesday August 07, 2012 @10:05AM (#40904917)

        More likely CodeSuite is right

        More likely, people haven't understood the original dispute. Did QDOS steal lines of code from CP/M? Most likely not, but nobody ever claimed it did. Was it a rip-off of CP/M? Absolutely. QDOS implemented calls identically to CP/M with the specific aim of being as close to CP/M as possible. In other words, as Patterson him self said, he read through Kildalls manual and tried to create something that functioned identically.

        As you point out however, he did a much better job on the FS, which is both to be commended, and also should be added on the "it was not a rip-off" side. DOS was an interrupt handler, and not much more though. As an interrupt handler it clearly "ripped off" CP/M to the point of being almost identical. However, not by stealing code. No stealing of code would have been needed (as you say) and that has never been asserted either. Not by the parties involved.

        • Re:Alternatively... (Score:5, Interesting)

          by jareth-0205 (525594) on Tuesday August 07, 2012 @10:35AM (#40905221) Homepage

          Was it a rip-off of CP/M? Absolutely. QDOS implemented calls identically to CP/M with the specific aim of being as close to CP/M as possible. In other words, as Patterson him self said, he read through Kildalls manual and tried to create something that functioned identically.

          And also (as finally confirmed in the Google-Oracle case) copying an API is a perfectly reasonable thing to do.

        • by slew (2918)

          ...As an interrupt handler it clearly "ripped off" CP/M to the point of being almost identical....

          Apparently it was made identical for the purpose of allowing Qdos to reuse Intel's CP/M-8 to CP/M-16 conversion scheme... From here... http://dosmandrivel.blogspot.com/ [blogspot.com]

          My hope was that by making it as easy as possible to port existing 8-bit applications to our 16-bit computer...
          Intel had defined rules for translating 8-bit programs into 16-bit programs; CP/M translation compatibility means that when a program's request to CP/M went through the translation, it would become an equivalent request to DOS...
          So I made CP/M translation compatibility a fundamental design goal. This required me to create a very specific Application Program Interface that implemented the translation compatibility.

          Even back then... Developers, Developers, Developers... ;^)

        • by daid303 (843777)

          Same way Wine rips off Windows then.

      • by mwvdlee (775178) on Tuesday August 07, 2012 @10:31AM (#40905163) Homepage

        but this is because this was the early eighties, the era of Pacman lawsuits, to be followed a few years later by Apple's infamous look and feel suits against DR and Microsoft/HP.

        Oh how the times have changed.

  • by Anonymous Coward on Tuesday August 07, 2012 @08:55AM (#40904193)

    Literally in the process of reading a dismissal of that same analysis. [theregister.co.uk] See what you think...

    • by Zaelath (2588189) on Tuesday August 07, 2012 @09:03AM (#40904275)

      Andrew Orlowski is to journalism as Tammy Faye Baker is to cosmetics.

    • by cnettel (836611) on Tuesday August 07, 2012 @09:05AM (#40904299)

      From your link: "What is the evidence, then, that QDOS was a derivative work – a rip-off? The answer lies in the API, which describes how software can call up the underlying operating system and make it work for the user. The first 26 system calls of MS-DOS 1.0 are identical to the first 26 system calls of CP/M."

      Yeah, just like Linux and WINE are rip-offs. The need to map system calls by number and not only name was of course due to the fact that the actual calling mechanism worked by number. However, the IEEE article is still strange, since the matters described are already settled. On the other hand, the legend of DOS being stolen and not only a clone lives on, in some places.

      • Why is it OK to clone operating system APIs but not games [slashdot.org]?
        • by Shavano (2541114)
          A game is more about the creative content -- artwork and story flow. This aren't important components of an OS.
          • by tepples (727027)

            [link to Tetris v. Xio]

            A game is more about the creative content -- artwork and story flow.

            There isn't much "artwork" or "story flow" to speak of in the game of Tetris, yet its rules were still ruled copyrightable.

      • The first 26 system calls of MS-DOS 1.0 are identical to the first 26 system calls of CP/M.

        That was for backward compatibility with existing CP/M code. By DOS 2.0 file handles replaced File Control Blocks.
      • by Joce640k (829181) on Tuesday August 07, 2012 @09:42AM (#40904703) Homepage

        The first 26 system calls of MS-DOS 1.0 are identical to the first 26 system calls of CP/M."

        So? Windows NT has a POSIX interface in it somewhere. It's done to try and tempt people to port their POSIX code to windows.

        Making CP/M code easy to port to MS-DOS would have been a good idea and those functions would have been needed anyway so arranging them in the same order is no real extra effort.

        • by DavidTC (10147)

          Windows NT has a POSIX interface in it somewhere. It's done to try and tempt people to port their POSIX code to windows.

          Actually it was done entirely because specific US government purchasing rules required only the purchase of OSes with POSIX interfaces.

          There was never any intent that anyone actually _use_ that interface. It was so they could fill a checkmark on 'Required OS features'.

      • by dkleinsc (563838)

        Yeah, just like Linux and WINE are rip-offs.

        You may laugh, but remember that little dust-up with The SCO Group over precisely that claim? When it came time to actually show some evidence, they pointed to the identical lines in the header APIs that were part of the published Unix standards.

    • I think both this story, the dismissal and the original claim are all bollocks, especially due to the slanted language El Reg put on matters - "derived", "derivative work", "a rip-off".

      Tim Paterson and Microsoft are essentially "guilty" of the same thing Google just won a court case against Oracle/Sun for - reimplementing an API. And yet Microsoft somehow comes off worse than Google for it...

      Kildall lost out, Gates prospered - that's about the sum of it. Anything else is just farting in the wind. It does

      • Damn, if what Kildall did was lose out, that's how I want to lose out too: all the way to the bank (without the dying in a bar part).

    • by Zobeid (314469)

      Here's the good bit from The Register: However Zeidman contrives to ignore the incontrovertible evidence that MS-DOS was derived from CP/M, and instead establishes a straw man. Zeidman, who pictures himself in a deerstalker hat, asserts that he can refute the allegation that "Microsoft stole the CP/M source code" - a claim that has never been made, let alone contested.

      Based on my own very limited historical knowledge, that's on-the-mark. I've heard many times over the years that MS-DOS was a clone of CP/M

      • by gnalre (323830)

        Also most likely both would of been written in assembler at the time, the analysis is most likely flawed. On the other hand the creator of QDOS has already admitted that his was work did invole using a debugger on CP/M so it wasn't totally clean.

        Here's the register take on it http://www.theregister.co.uk/2012/08/07/kildall_unforensic_ieee_smear/ [theregister.co.uk]

        and here's Verity Stob's

        Waltz$

        'Ask Bill why function code 6 [in MS-DOS, to output a string] ends in a dollar sign. No one in the world knows that but me' — the

  • by drainbramage (588291) on Tuesday August 07, 2012 @09:01AM (#40904249)

    Always thought the issue was that MS did not have a license to re-license (e.g. to IBM) the product which was created by 'Seattle Computer Products'.

    • Re: (Score:2, Informative)

      by Anonymous Coward

      Always thought the issue was that MS did not have a license to re-license (e.g. to IBM) the product which was created by 'Seattle Computer Products'.

      MS had bought all rights to it from SCP before the launch of the IBM PC. http://en.wikipedia.org/wiki/86-DOS#Creation_of_PC.C2.A0DOS [wikipedia.org] . This wasn't disputed by SCP, but they claim they wouldn't have sold it as cheap if they had known about the deal with IBM and pending launch of the IBM PC..

  • by Rambo Tribble (1273454) on Tuesday August 07, 2012 @09:02AM (#40904259)
    I don't think many of us who were around at the time gave much credence to the idea that DOS was derivative of CP/M 86. Had it been, it would have been a better OS.
    • by mvdwege (243851) <mvdwege@mail.com> on Tuesday August 07, 2012 @09:04AM (#40904281) Homepage Journal

      Actually, it's a fairly typical Microsoft attempt at a derivative: a copy of the superficial features on top of an unholy mess that shows that they don't understand the deeper concepts.

    • I always thought the argument was that it was a rip off. I've never heard the argument that it was stolen. Two different things... a (bad) imitation vs. putting your name on someone else's work.

  • by Dynamoo (527749) on Tuesday August 07, 2012 @09:05AM (#40904301) Homepage
    Seriously? Yes, MSDOS (and QDOS) were definitely inspired by CP/M. But it's hardly a big programming project is it? One bloke coding by himself could conceivably write a CP/M clone for Intel processors. I think that's probably the most obvious answer..

    What next? Proof that the Apple II wasn't copied from the Commodore PET?

    • Re:Seriously? (Score:5, Insightful)

      by hazydave (96747) on Tuesday August 07, 2012 @09:20AM (#40904441)

      The PET was a much better design. And back then, it was all good... in fact, Chuck Peddle (inventor of the PET and the MOS 6502) actually helped Woz on some critical issues to get the Apple I up and running. But Peddle had a whole system approach, thus, all the other chips Commodore made to support the 6502. If you look at the Apple I/][ or may of the other early personal computers, you usually see a Microprocessor, some memory chips, and a vast sea of SSI and MSI parts from the TTL databook. If you look at early Commodore machines, you find all sorts of integration.

      But there's a vast difference between "inspired by" and "copied". And even then, in layers. Steve Jobs saw the Xerox Alto and got inspired. Apple didn't really copy the UI, they actually left out some of the good stuff. And of course, the OS they created was vastly inferior, and the internals had nothing to do with the Xerox system. Microsoft did actually borrow some of Apple's stuff, but they's because they actually did exchange code. Most of Windows had nothing to do with MacOS, and the OS design was not something any experienced OS designer would have some up with (eg, the OS treating an application as a series of callbacks)... and that's not even counting all of the serialization Windows did in Win32 to prevent real multitasking.

      Windows NT, on the other hand, was directly inspired by VAX/VMS (via Dave Cutler), but also ran a POSIX API layer from the get-go. But that was a standard by then, so no really a "copy" of UNIX anymore.

  • by jjeffries (17675) on Tuesday August 07, 2012 @09:10AM (#40904345)

    "Whew!" said Mr. Kildall, from the grave. "I'm glad this slanderous attack on my programming skills has come to an end, and I have finally been exonerated."

  • alike and different (Score:5, Informative)

    by scharkalvin (72228) on Tuesday August 07, 2012 @09:24AM (#40904485) Homepage

    QDOS was actually quite similar to CP/M in it's structure, and CP/M86 was different in that it actually made use of the improvements offered in the 8086 processor. QDOS was written as if an 8080 to 8086 translator had been used to code it. However MS-DOS quickly moved away from this. What Microsoft sold was much polished over the original QDOS and CP/M OS's. They quickly improved the disk structure, FAT12 and FAT16 are different enough from the original CP/M disk structure. What they all STILL have in common is the use of the 0XE5 IBM uninitialized data marker in the FAT to show available space. This was a quick and dirty hack that allowed a freshly formated diskette to be used without having to initialize a directory structure on it.

  • by mister2au (1707664) on Tuesday August 07, 2012 @09:27AM (#40904521)

    First paragraph of wikipedia entry nicely sums up why this would be the case ... that is, it was a clone that was ported to run on a different (albiet VERY similar) instruction set, a different file system and obviously different hardware support.

    You'd think after that either:
    - not much of the original code with survive IF it was copied and then adapted
    - it was probably easier to copy the functionality and write from ground-up which is what this article implies

    MS-DOS was a renamed form of 86-DOS – informally known as the Quick-and-Dirty Operating System or Q-DOS – owned by Seattle Computer Products, written by Tim Paterson.

    Microsoft needed an operating system for the then-new Intel 8086 but it had none available, so it bought 86-DOS for $75,000 and licensed it as its own then released a version of it as MS-DOS 1.0. Development started in 1981, and MS-DOS 1.0 was released with the IBM PC in 1982.

    86-DOS, in turn, was a clone of Digital Research's CP/M for 8080/Z80 processors ported to run on 8086 processors and with two notable differences compared to CP/M, an improved disk sector buffering logic and the introduction of FAT12 instead of the CP/M filesystem

  • Not Surprising (Score:5, Interesting)

    by GreggBz (777373) on Tuesday August 07, 2012 @09:29AM (#40904553) Homepage
    Those accusations still sound like sour grapes from Gary Kildall. The Microsoft - IBM deal was genius. Gary sounds upset he did not have the foresight to make it happen. He had his chance. Heck, MS even suggested that IBM talk to Gary and the CPM guys when they were looking for an operating system. But, Gary refused to play ball. Too bad.

    So, Microsoft stepped up to the plate. They bought QDOS, worked with it and wrote MS-DOS. Sure, it was not an extraordinary operating system. But it wasn't terrible, and it worked like CP/M in a lot of ways because MS certainly took ideas from CP/M. That's perfectly OK (maybe not these days, software patents etc...) They were giving IBM and their customers what they wanted when Gary and Digital Research decided not to. That's the genius of Microsoft. Realizing the spectacular deal to be had and standing up to IBM to sign an agreement that would make them the biggest software company ever; keeping ownership of their software, regardless of how much big blue pushed them around. Sorry Gary, you missed out.

    Lastly, I doubt the young Bill Gates would hypocritically allow his company to stoop to coping code after he wrote this [blinkenlights.com] and sent it to many of his future customers:
  • by DdJ (10790) on Tuesday August 07, 2012 @09:40AM (#40904663) Homepage Journal

    The system calls and lots of the design are clearly cloned. Anyone who used both CP/M and MS-DOS back in the day and who dabbled in assembly language programming on both would be able to spot it.

    If the software industry had been as rife with patents (both functional and design) and other litigation tools back then as it is today, Microsoft wouldn't have gotten away with this particular way of copying.

    (Whether this is a good thing or a bad thing is left as an exercise for the reader.)

    • by rnturn (11092)

      ``The system calls and lots of the design are clearly cloned. Anyone who used both CP/M and MS-DOS back in the day and who dabbled in assembly language programming on both would be able to spot it.''

      Back when CP/M was still kicking around, I had a Columbia Data Products XT-clone. It shipped with MS-DOS and CP/M-86 and I recall reading through the programming manual and thinking ``Geez this looks a lot like DEC's RT-11.'' Remember when MS-DOS used to ask you to insert the diskette containing COMMAND.COM? T

    • by JDG1980 (2438906)

      If the software industry had been as rife with patents (both functional and design) and other litigation tools back then as it is today, Microsoft wouldn't have gotten away with this particular way of copying.

      If the legal situation with patents and copyrights had been that bad back then, we'd all still be stuck in the 8-bit era, and the Internet as we know it today wouldn't exist.

      It seems highly hypocritical to criticize Bill Gates for cloning CP/M when we (rightly) defend similar actions taken in the pre

  • Wait, what? (Score:5, Informative)

    by bmo (77928) on Tuesday August 07, 2012 @10:00AM (#40904871)

    Where did this idea ever come from? "Everybody knows" that Gates bought QDOS from Kildall and nobody ever claimed that QDOS was a "copy of CP/M," not even Kildall himself. What was in dispute was whether Kildall was literally out to lunch or flying, or whatever, brushing off the meeting and selling a license for what turned out to be a pittance. That's the legend anyway, but he's not here on this planet anymore to defend himself.

    FFS. Want to know where DOS came from? Just read Tim Patterson's blog. http://dosmandrivel.blogspot.com/ [blogspot.com]

    He discusses the design differences between the two and why he did what he did.

    And if you're really curious and need to feed the inner nerd, go have a look at the CP/M source code.

    http://www.cpm.z80.de/source.html [z80.de]

    --
    BMO

  • Oracle would say a re-implementation of ideas is a copy.
    Apple obviously would say it is a copy.

  • MS-DOS still has the "look and feel", so in today's world they still would have been sued. (not then mind you)

    How is that for irony?
  • only heard it was a cheap product copy of the famed CP/M and hence the name Quick and Dirty Operating System.

    If they want marketing time, they should run versions of NT or Windows against open source code bases like GNU/Linux and BSD or better yet UNIX. IMO

    LoB
  • by kheldan (1460303) on Tuesday August 07, 2012 @12:06PM (#40906249) Journal
    Back in the day I had more than one machine I'd built (either 8080 or Z80 based) that ran CP/M, and I even wrote software (in C and in assembly language) to run under CP/M. MS-DOS only bore a superficial resemblance to CP/M, in that there are certain elements to a command-line OS that you really can't easily get around.
  • by CanEHdian (1098955) on Tuesday August 07, 2012 @12:06PM (#40906251)
    Imagine that in the 70s software patents were as they are now... we would not be having this discussion.
  • by cpm99352 (939350) on Tuesday August 07, 2012 @02:42PM (#40908177)
    More interesting the is the tale of how Windows 3.11 did the DOS version check to determine if it was compatible, back around 1992 or so. I recall reading an analysis of how Windows managed to throw a nasty message if DR DOS was used instead of DOS. Apparently the Windows code was actually encrypted or something to obscure the hoops they were jumping through so that Microsoft could destroy DR DOS.
  • by dgharmon (2564621) on Tuesday August 07, 2012 @04:38PM (#40909635) Homepage
    "MS will pay SCP $10,000 upon signing of this agreement Payment of the initial fee described in Paragaph 2(c), above and royalties called for under this Agreement shall be due within 45 days of the date MS invoices their customer for the product for which the initial fee or royalty is due" link [edge-op.org]

No amount of careful planning will ever replace dumb luck.

Working...