DOS code in CP/M? Revisited...
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
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
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
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")
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 cctalk