MS-DOS Paternity Dispute Goes to Court
theodp writes "Might be more interesting as a Who's-My-Baby's-Daddy? segment on Maury, but a Court has been asked to decide the parentage of MS-DOS. Tim Paterson, whose operating system 86-DOS (aka QDOS) was sold to Microsoft in 1980, is suing author Harold Evans and Time Warner for defamation. In his book They Made America, Evans devoted a chapter to the late, great Gary Kildall, founder of Digital Research, describing Paterson's software as a 'rip-off' and 'a slapdash clone' of Kildall's CP/M."
It's main purpose was to be as compatible as possible to CP/M to faciliate fast porting of CP/M applications to QDOS.
Anything that injures a person's reputation can be defamatory. If a comment brings a person into contempt, disrepute or ridicule, it is likely to be defamatory. You can tell an interviewer that your former boss was an overbearing meglomanic, and have an official document to prove it, and it would still be slander. In this case everyone knows that QDOS was just a quick and dirty clone of CP/M, so it isn't defamatory to write it in a book. Any damage that could be done to Paterson's reputation was done a long long time ago.
How we know is more important than what we know.
The case has nothing to do with whether he had the right to sell Dos to Microsoft. It's only about defamation and failing to give credit in a published work.
Many embedded controllers within CNC machining centers are ran off of versions of DOS due to it's stability and low memory footprint. I end up using DOS (DRDOS and MSDOS) every day.
Requiem
You're both right, in a way. GP's description is essentially accurate and once you've done that you've defamed someone. Truth is, however, a complete affirmative defense. It's much like how fair use was in the copyright sense before 1976. You'd say "sure, I did it, but you can't hold me responsible" because of this defense.
There was Cowboy Neal at the wheel of a bus to never-ever land.
Yep, I guess you're right. Alas, two pointless posts.
How we know is more important than what we know.
Al Gore said, "During my service in the United States Congress I took the initiative in creating the Internet." This is true. On the other hand, when Bush disclaimed his timber business write-off during the televised debates in 2004, that was a lie.
Your (and my) posting on the Internet today is attributable to the role Gore played in creating the Internet when he was in the U.S. Congress.
Al Gore and the Internet
By Robert Kahn and Vinton Cerf
Al Gore was the first political leader to recognize the importance of the Internet and to promote and support its development.
No one person or even small group of persons exclusively "invented" the Internet. It is the result of many years of ongoing collaboration among people in government and the university community. But as the two people who designed the basic architecture and the core protocols that make the Internet work, we would like to acknowledge VP Gore's contributions as a Congressman, Senator and as Vice President. No other elected official, to our knowledge, has made a greater contribution over a longer period of time.
Last year the Vice President made a straightforward statement on his role. He said: "During my service in the United States Congress I took the initiative in creating the Internet." We don't think, as some people have argued, that Gore intended to claim he "invented" the Internet. Moreover, there is no question in our minds that while serving as Senator, Gore's initiatives had a significant and beneficial effect on the still-evolving Internet. The fact of the matter is that Gore was talking about and promoting the Internet long before most people were listening. We feel it is timely to offer our perspective.
As far back as the 1970s Congressman Gore promoted the idea of high speed telecommunications as an engine for both economic growth and the improvement of our educational system. He was the first elected official to grasp the potential of computer communications to have a broader impact than just improving the conduct of science and scholarship. Though easily forgotten, now, at the time this was an unproven and controversial concept. Our work on the Internet started in 1973 and was based on even earlier work that took place in the mid-late 1960s. But the Internet, as we know it today, was not deployed until 1983. When the Internet was still in the early stages of its deployment, Congressman Gore provided intellectual leadership by helping create the vision of the potential benefits of high speed computing and communication. As an example, he sponsored hearings on how advanced technologies might be put to use in areas like coordinating the response of government agencies to natural disasters and other crises.
As a Senator in the 1980s Gore urged government agencies to consolidate what at the time were several dozen different and unconnected networks into an "Interagency Network." Working in a bi-partisan manner with officials in Ronald Reagan and George Bush's administrations, Gore secured the passage of the High Performance Computing and Communications Act in 1991. This "Gore Act" supported the National Research and Education Network (NREN) initiative that became one of the major vehicles for the spread of the Internet beyond the field of computer science.
As Vice President Gore promoted building the Internet both up and out, as well as releasing the Internet from the control of the government agencies that spawned it. He served as the major administration proponent for continued investment in advanced computing and networking and private sector initiatives such as Net Day. He was and is a strong proponent of extending access to the network to schools and libraries. Today, approximately 95% of our nation's schools are on the Internet. Gore provided much-needed political support for the speedy privatization of the Internet when the time arrived for it to become a commercially-driv
- jeps
MS rewrote it.
Nope. The 8088 and 8086 were identical from a software point of view. Only difference was the pinout. The 8088 fetched 16 bits as two 8-bit reads, the 8086 read a 16-bit word.
To a large degree. So is Plan9, only Unix cloned one half and Plan9 cloned the other.
It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
I would be proud to have MSDOS on my resume, as would most serious software architects. MSDOS was used by millions of users, it was a true groundbreaker. MSDOS does not do much compared to VMS or VM/CMS but what it does it does on an 8/16 bit processor running at a few MHz. The original Microsoft Basic was not exactly extensive but most people would agree that it was a cool piece of coding.
But you miss the point in any case. This guy has MSDOS on his resume, what he is objecting to is the claim that he stole it.
Looking for an Information Security student project suggestion?
Try http://dotcrimeManifesto.com/
If my memory serves me right, CP/M was for the 8080 processor. The Z80 processor was 8080-compatible, so it could run CP/M too.
No, it is a result of a friend of Linus' creating a directory for him to place his Unix-like OS in. The name is derived from from "Linus' Unix". By all accounts, Linus wanted to call it something else, as he didn't want people to think he was claiming total ownership of it, but gave up and went with sounder advice.
It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
From: korpela@albert.ssl.berkeley.edu (Eric J. Korpela)
Newsgroups: alt.folklore.computers
Subject: Re: filename separator change in CP/M and MS-DOS
Date: 7 Jul 1998 01:47:52 GMT
>The legend runs something like this:
> 1. The first version of MS-DOS was actually QDOS from Seattle Computer Works
There is much ongoing discussion as to whether it was ever called QDOS.
There is a general consensus that at various times it was called 86-DOS
and SCP-DOS. I belive the real name of the company whas Seattle Computer
Products.
> 2. QDOS ("Quick & Dirty OS") was an unauthorized port of CP/M to x86.
> CP/M ran on Z-80's.
There is little doubt that it was an unauthorized port. (In the US, at least)
No authorization is required to reverse engineer a product. There is much
debate about whether an of the "port" was accomplished by running a disassembly
of CP/M through Intel's 8080->8086 assembly code converter. (This would
be illegal in the US).
The typical (apocryphal) story is one of special key sequences that would
bring up a Digital Research Incorporated copyright notice in early versions
of DOS. (At this point, I've never seen a special key sequence that would
bring up such a notice in any real CP/M version.)
BTW, the CP/M version in question was written to run on the Intel 8080
chip. The ability to run it on the Z-80 was a consequence of the Z-80
design, not vice versa.
> 3a. CP/M used "/" as the separator between components in pathnames
False
> 3b. alternative version: CP/M did not have directories, so did not need or
> use any kind of slash as a pathname piece separator.
The alternative version (3b) is correct here. CP/M did not have directories
other than numbered user areas. In CP/M the '/' character is for command
switches, a trait it inherited from Digital Equipment Corp operating systems
on which it was patterned.
> 4a. QDOS and hence MS-DOS used "\" as the pathname separator to disguise
> the origin of the ripped-off software (unauthorized port from CP/M).
False, this is far too little to disguise the nearly identical APIs of
CP/M and early versions of DOS.
> 4b. alternative version: CP/M and hence QDOS and MSDOS used "/" as an
> option separator to commands, hence it was not available for use
> as pathname separator.
Correct.
Eric
And PIP was often used as proof that CP/M was a piece of garbage. Other indications being the idiotic copy command which worked the opposite way to every other one "copy to from", oh and it would erase your disk when you made the obvious mistake.
MSDOS was generally considered something of an improvement.
Looking for an Information Security student project suggestion?
Try http://dotcrimeManifesto.com/
I thought QDOS stood for "Quick and Dirty Operating System".
I'm seriously.
Sadly, he's the exception. The entire computing business (and engineering business, and any other business involving creativity and intelligence) is replete with stories like this. Kildall is just an unusually extreme example.
There's an interesting History of MS-DOS By: Leven Antov at http://www.digitalresearch.biz/HISZMSD.HTM
History of MS-DOS by Leven Antov http://www.digitalresearch.biz/HISZMSD.HTM 'nuff said
Um, you don't have the vaguest idea of what you are talking about. Windows NT 3.5 right up to Windows XP are not built on top of DOS. They do not require any DOS commands or interrupts to work. In fact, their support of DOS is totally shitty as compared to the OS/2 VDM or the Linux DOSEMU system. I have a number of DOS programs that work great both in OS/2 and DOSEMU but don't function at all in NT's DOS subsystem. Whatever XP's flaws may be, it is not at all built on DOS, and neither are its predecessors right back to Windows NT.
The world's burning. Moped Jesus spotted on I50. Details at 11.
MSDOS does not do much compared to VMS or VM/CMS but what it does it does on an 8/16 bit processor running at a few MHz.
UCSD Pascal was a better designed system and ran on a 64kbyte Apple II at the whopping speed of 1MHz with a pathetic little chip called the 6502 that had three (count'em: three) one byte registers.
People were running multitasking operating system with tree-structured directory trees on hardware less powerful than what MS-DOS required before MS-DOS even appeared on the scene.
MS-DOS was a disaster, an embarrassement, a testament to ineptitude and inexperience. MS-DOS was IBM's attempt to cripple the PC so badly that it wouldn't compete with their real computers. They succeeded at the crippling part--too bad it got popular anyway and the plan backfired.
On the other hand, I've used Windows from 2.0 through to 2003 and I've not seen a whole lot of improvement in the interface. (Since when is closing the application a file operation?)
One thing I loved about DOS was the ability to write TSR applets. A "Terminate, Stay Resident" program was basically a daemon that ran when called, usually from an interrupt but you could have a hook anywhere - or no hook at all.
One program that used this was "fourdos", which let you run four programs simultaneously under DOS. You then switched between them with a key combination. It was task switched, rather than multitasking, but it would have been possible to have had a second TSR linked to the clock interrupt which task-switched every so many clock cycles, giving you a very primitive multi-tasking environment.
Another fun thing with DOS was that you could write assembly programs that had total freedom to do whatever they wanted. The 286 had an undocumented instruction nicknamed the "hyperspace" call, because it allowed you to upload a block of memory into the processor, setting every register (including, IIRC, some of the strictly internal ones). Again, it is fun to picture a multi-threaded DOS application, with a TSR using the hyperspace call to switch between threads on a clock interrupt.
TSRs were also good for device drivers. The smarter companies didn't use
For the Unix fan, early versions of DOS had a system variable you could set to determine which way the slash went for the directory separator.
There were some "interesting" quirks, too. If you had three or more floppy drives, the numbering could get wacky. The twenty-seventh addressable device was [: which goes to show that Microsoft invented the smiley.
Finally, something DOS did that Unix does and Windows bloody well aught to (at least, better than it does). You could turn a directory into a virtual drive, or a drive into a virtual directory. Both of these operations was a single command, and it was absolutely trivial to do. A simple one-liner. Show me a single one-step drag-and-drop that'll do the same thing in any version of Windows.
My biggest problem with DOS was that later and later versions really didn't do any more (and often did less), never took advantage of the facilities the operating system itself provided (eg: TSR drivers), developers didn't seem to talk to each other (2 serial port interrupts, 4 serial ports "permitted", 256 serial ports supported by the driver) and using a rotating 64K buffer to handle graphics meant that higher-resolution graphics was agonizingly slow.
DOS could have been better; should have been better; should have made better use of what the DOS developers had even provided for themselves.
That, I think, is why I am angry with DOS - not that it was limited, but that it was limited for such stupid reasons.
It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
I always thought that CP/M was a rip off from RT/11 that ran in PDP 11's. See: http://en.wikipedia.org/wiki/RT-11 and http://en.wikipedia.org/wiki/CP/M Eg. CP/M pip (Peripheral-Interchange-Program) had the same syntax as RT/11 and much of the CP/M command line was the same/similar.
You want a signature? You can't handle a signature!!
MSDOS 1 certainly hard-code what the various devices were. The only thing you could open by name was disk files.
MSDOS 2 had huge improvements becasue at the time they wanted to merge it with Xenix and make a Unix system out of it. It had named devices and opening them as files would connect you to the device drivers. I actually implemented some of these, including what I intended to be a graphical windowing system driven by printing to stdout, it was actually quite usable and powerful.
Unfortunately that level of device support is pretty trivial. The Linux drivers you are complaining about have many more interfaces such as being able to allocate memory and mess with other parts of the kernel. If the driver was limited to read-block and write-block like the MSDOS-2 drivers were, there is no question that they would be completely independent of the kernel.
If anyone here remembers CP/M, and remembers the low-level calls to the OS ("call 0005"), it's very clear that MS-DOS is a clone of CP/M (look at the values you'd load into registers before calling the OS).
I've never seen 86-DOS/QDOS, but I've seen MS-DOS (which, I believe, is admittedly derived from 86/Q-DOS). MS-DOS is clearly derived from CP/M, meaning (IMO) that 86/Q-DOS are derived from CP/M.
(If you've never programmed for CP/M, then you're too young, and can't really comment on the subject, IMO)
You think you're joking, but DR-DOS, née CP/M-86, was indeed owned by Canopy/SCO/Caldera for a time. They purchased it, like Unix, from Novell, who had previously bought Digital Research.
echo 33676832766569823265328479713269.8639857989Pq | dc
CP/M-86 wasn't available until after IBM committed to shipping MS-DOS licensed from Microsoft.
MS-DOS dominated the market for one reason and for one reason only -- IBM chose it as the main OS for the PC
You make it sound as if customers dind't have a choice. IBM announced and made available three operating systems - PC-DOS, CP/M-86 and UCSD P-System.
Because Microsoft delivered a working product a year in advance, IBM wrote it's own programs around it. Also, DR charged a much higher licensing fee for CP/M-86, which IBM sold for $240. But there were no programming languages available for it yet and very little software had been ported over from CP/M to the CP/M-86.
If IBM made PC-DOS as "the main OS" for the PC, it was because it was available earlier and had lots of programming languages available. Customers also liked it because it was cheaper.
since the lawsuit is over whether QDOS was a "slapdash clone" of CP/M. Which, in point of fact, it was.
A clone with a completely different file system? There were plenty of CP/M clones in those days, QDOS, later 86-DOS, later MS-DOS wasn't really a clone. It just offered a familar API set for programs porting from CP/M.
the biggest of which was using one of the worst OSs ever made. Not by today's standards, but by the standards then.
Okay, well, what would have been better then for a macine with a 16-bit processor with a 8-bit bus and 16K of memory? Microsoft originally wanted to license XENIX to IBM, but it would never work on that type of machine.
In no way did Tim Patterson rip off CP/M. It is exceedingly clear from several respecible published sources that DR shot themselves in the foot time and time again, while Microsoft delievered not only a operating system, but the programming languages for it - which was the real draw.
I'll raise you one ...
... a
.docs anyone?).
...), there were
In 77, as a summer student, I started working with
grad students and techs on a DEC minicomputer
(Nova). The precurser to the Eclipse (Soul of a
New Machine). This hairy monster had a whopping
8K of core memory, a paper tape reader with Basic
and Fortan compilers, and a disfunctional 1-Mbyte
hard drive (which we fixed that summer
resister pack went south). It was a very
expensive machine, but we could run scientific
routines (such as FFTs) on it as fast as the
mainframe (IBM 360) on campus. And it was all
ours (most of the code included)!
Two years later, the 'cheap' state of the art was
the KIM board. A 6502 processor, with a casette
reader/writer, a keypad/display, and a assembler.
Twas a bitch to work with (because of the tapes),
but programming the 6502 chippy was a no-brainer.
And it could do the same calcs as the Nova (and
the 360) with a bit of programming.
Skip forward several years. S100 computers, CP/M,
floppy disks (8 inch, then 5.25 inch) and hard
drives. And most important, a C-compiler for the
machine. Sorry, I can't remember the name of
compiler, but it worked (apart from floating
point stuff) on our 8086 S100 machines like a
charm.
We then switched from CP/M (and it's multitasking
progeny) to MSDOS V1.0. I cursed my superviser
(slighty) for the change, but he was right at
the time -- CP/M was toast, and MSDOS was to rule.
Eventually, C (and other) compilers for MSDOS came
out, and life was fine again. Apart from making
backups from a MSDOS 2.0 machine, and restoring
them to 3.x/4.x/... machines (Word
When MSDOS was written (stolen,
x86 C-compilers, but at the time, you could not
write an OS using C -- it was not the right tool.
Now?
In what language is Win 9x/200x/XP/... written?
MSDOS was generally considered something of an improvement.
My memory from the time (C.1981?) is that MS-DOS was considered a crappy low-rent OS (the alternative on the IBM PC being CPM-86 or whatever it was called) -- but cheap.
Cheap usually wins...
I remember that MS DOS 0.x was so bad that IBM rewrote it and released it as PC-DOS.
I did work on a CP/M-86 a bit later. A NEC-APC with 8" floppy disks. At that time operating systems from Digital Research were seen as being much more sophisticated. IIRC, DR had MP/M which allowed multiple concurrent users. It was only with DOS 2.x which had sub-directories and borrowed some *nix features, that DOS was really worth using. Anyone who programmed in that era remembers the horrors of writing programs which used 1.x style FCBs (file control blocks) instead of the much more decent 2.x type file handles.
If you want, I'll provide a credible source for any statement you challenge. What programming langauges did MS-DOS have?
Macro Assembly, Pascal, COBOL, FORTRAN and BASIC compilers were languages available from Microsoft when the IBM PC was introduced. Very soon afterwards, C and Forth were available. In addition, interpreted Microsoft BASIC was available in ROM.
Conversely, at the same time, CP/M-86 had PL/I, but not a BASIC compiler ready (CBASIC wasn't available until later).
Oh you mean MS-BASIC? BASIC a programming language?
The year is 1981. IBM is creating a computer for the masses - not computing professionals. The selling point for every microcomputer on the market at the time was support for BASIC - was it built in ROM? Was it complete? Was it licensed Microsoft BASIC?
28 years later, we can scoff at BASIC, but it was the most popular language available for all the microcomputers of the time.
You're forgetting your history. When IBM went with Microsoft, they didn't even have an OS, they bought DOS
I'm well aware of that. They licensed and later purchased 86-DOS from Seattle Computer Products and spent months modifying it to run on the IBM prototype hardware and BIOS. A number of improvements were made, and changes as requested by IBM. As for the history - here's a time line of selected events: