MS-DOS Not Stolen, New Forensic Analysis Concludes
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?"
Literally in the process of reading a dismissal of that same analysis. See what you think...
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.
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.
I'm about 90% sure you're wrong on this. CP/M's file system doesn't really resemble FAT at a low level. FAT actually originated as the file system implemented by Microsoft's early stand-alone BASIC implementations.
CP/M's file system was extremely crude, being comprised largely of a single table containing the directory, with the rest of the disk containing the data. Each directory entry contained pointers to up to 16 blocks, if a file contained more than that it had to have multiple directory entries.
FAT has multiple tablers, and FAT's system is, ultimately, based upon chains of clusters, and the directories simply point at the starting cluster, with the information about the groups of clusters themselves stored in a separate table (the actual FAT.)
They're both hideous, but they're not remotely similar.
I never said anything remotely similar.
What I said, which I believe is true, is that CP/M had to read the whole directory to find out what parts of the disk were empty. Many of the optimizations that occurred between 1.3 and 2.x were to address this specific issue.
You are not alone. This is not normal. None of this is normal.