DOS code in CP/M? Revisited...

Fred Cisin cisin at xenosoft.com
Thu Jul 14 11:46:34 CDT 2016


On Thu, 14 Jul 2016, Kip Koon wrote:
> Hi Guys,
> I have been suspicious of Microsoft pirating CP/M for decades!  Back in 
> my twenties, I was reading about CP/M in the college library where I 
> attended thinking, "Wow!  CP/M looks EXACTLY like MS-DOS!"  So I went on 
> a reading spree and found out that CP/M was written by Gary Kildall well 
> before MS-DOS was supposedly by Bill Gates!  It's a long history that I 
> obviously don't need to go into here since there is so much about it on 
> the Internet.

No, but you should learn it.
LOTS more details are readily available about every portion of this 
over-simplified shortened history.   The major aspects are undisputed, but 
there are opinions about minor details.  (such as various versions of the 
culture clash)   "Gary HAD TO blow off the IBM meeting, because there was 
a binder of documentation that had to be delivered to Bill Godbout, and 
it was not POSSIBLE to find ANYBODY else to carry it to Oakland 
(airport).  Why would he have to be there for IBM to apply for a license?"


OF COURSE MS-DOS looks exactly like CP/M!
THAT was the intent!  It would have been unusable as a placeholder if it 
didn't.
NO, Bill Gates did NOT write MS-DOS.


Gary Kildall wrote CP/M.
It was very well established as the defacto standard.
DRI "Digital Research Incorporated" (formerly "Intergalactic Digital 
Research") began working on CP/M-86, a version of CP/M for 8086 based 
machines.

Seattle Computer Products (SCP) was building an 8086 based machine.
Hardware was beginning to work, but CP/M-86 wasn't available yet.
Tim Paterson (of SCP) started working on system software.

At NCC ("National Computer Conference") 1979, SCP shared a booth with 
Microsoft and Lifeboat (big distributor for CP/M and Microsoft products).
Tim Paterson was intrigued by Microsoft Stand-Alone BASIC (BASIC with 
enough of an OS built in to support disk files - best known, although 
without the name, is RS Coco).

SCP started shipping some 8086 based CPUs with "Stand-Alone BASIC-86".
There was an assumption that CP/M would ultimately be the OS, but CP/M-86 
wasn't available yet.
Paterson started to write a "placeholder" - a crude substitute for an OS 
that could be used instead of the OS for testing and completing the 
hardware design.
He studied what CP/M did, and wrote a crude imitation of it as a 
placeholder.  Although he studied it in order to make his behave the same, 
he denies [moderately credibly] ever having access to the source code of 
CP/M, nor copying code directly, merely writing simple obvious code to 
behave exactly the same.
He called that temporary OS, "QDOS" ("Quick and Dirty Operating System")
http://www.patersontech.com/dos/softalk.aspx
https://en.wikipedia.org/wiki/Timeline_of_DOS_operating_systems

Instead of CP/M's disk formats and directory structure, he made his like 
the file system of Stand-Alone-BASIC.

For marketing purposes, it was sold as "86-DOS".  Apparently "quick and 
dirty" didn't seem marketable!

When IBM decided to take over the personal computer market, they didn't do 
their homework very well.
Intel convinced them to use the 8088, to have a gateway into 16 bit, 
instead of building a true 8 bit machine.
One of the IBM people had seen a "Microsoft Softcard" (a Z80 
co-processor plus CP/M for Apple][).

IBM went to Microsoft for "BASIC and CP/M".

Microsoft sent them to DRI for CP/M.

There was an EXTREME culture clash between IBM and DRI, that included 
Gary blowing off the meeting, since IBM could simply fill out the forms 
"like any other customer" and leave them with Gary's wife.  IBM did not 
want to do business with "hippies".  (4 years ago, I visited the DRI house 
(801 Lighthouse,Pacific Grove), to see for myself the view from the 
upstairs window ("OMG, are those guys coming to the door, DEA?").

IBM went back to Microsoft, where Bill Gates made his people suit up, and 
IBM made the BASIC deal contingent on an OS.

Bill Gates went down the street to SCP, and negotiated a deal 
to be able to sell licenses to Q-DOS/86-DOS/SB-86 to an unnamed client.

Microsoft hired Paterson, renamed it MS-DOS, and licensed to IBM. 
Paterson worked to finish the OS, and start the next major revision.

Gary Kildall got tired of people telling him that he had made the biggest 
screwup in history.  Towards the end of his life, he was drinking heavily.


Since MS-DOS was an imitation of CP/M, rumors that it stole code from CP/M 
have always existed.   Some code WILL match - if you are doing the exact 
same thing, will you, in places, write the exact same code?  How much 
match does it take to assume copying, instead of similar coding?
Having explicitly decided to use identical data structures, what are the 
chances of coincidentally choosing the exact same algorithm for a given 
portion of a task?  If you both use DAA for printing a number in decimal, 
will that code match?

Periodically, there will be urban legends of hidden DRI copyright 
messages in MS-DOS, or easter eggs.
Easter eggs, in this context, are hidden content that can be accessed 
through non-obvious ways.  For example, in TRS-DOS V2, typing 
BOOT.SYS.RV36, and holding down J and N pops up a full page message saying 
COPYRIGHT RANDY COOK.  (RV36 (a password) and J,N might not be accurate).
"Nobody" knew about it.  When Apparat (APR-DOS, later NEWDOS) imitated 
TRSDOS, they claimed to be non-infringing, until Randy Cook's lawyer 
popped up that easter egg in NEWDEOS.  APPARAT admitted infringement, and 
agreed to rewrite from scratch (NEWDOS-80).  Radio Shack changed "RANDY 
COOK" to "TANDY CORP".

Nobody knows where any such easter eggs are in MS-DOS, in spite of 
extensive searching, although Jerry Pournelle once claimed to have been 
shown one, BY GARY KILDALL, in MS-DOS 1.00.
If Zeidman has found such a "smoking gun", then it is still big news.


Interpretation of software copyright has changed.  In those days, 
identical appearance and behavior was not considered infringement unless 
actual code was copied.
NOW, identical appearance and behavior WOULD be considered infringing, so 
it is no longer legal to do, even "clean-room", what Paterson did.
Because of that, Novell bought the ruins of DRI.  If Microsoft were to 
accuse Novell of writing something that looked too much like some 
part of MS-DOS, Novell would be able to trot out their ownership of CP/M 
copyrights.   A copyright infringement trump-card.
"Ah, so you want to sue us for copying your program, which was copied from 
another program that we now own?  Are you sure?"

CP/M rights later passed through to Corel and Caldera.

--
Grumpy Ol' Fred     		cisin at xenosoft.com


More information about the cctech mailing list