PDA

View Full Version : Did Bill Gates Steal the Heart of DOS? article



xprt
August 2nd, 2012, 08:56 AM
Interesting article in IEEE Spectrum: http://spectrum.ieee.org/computing/software/did-bill-gates-steal-the-heart-of-dos/1

Written by a vintage computer collector, maybe a member here?

The article is something of an ad for his forensic tools. He tries to determine if DOS was copied from CP/M.

Comparing a program written in PL/M and assembly for an 8080 to one written in assembly for an 8086?? The result is not much of a surprise.

The video very briefly shows a nice vintage collection.

sergey
August 2nd, 2012, 10:03 AM
Nice, thank you for sharing!

I am curious how he compared CP/M's 8080 source code with QDOS/MS-DOS's 8086 source code :-) The mnemonics will be different, register names are different, etc. Also many things might be implemented more efficiently on 8086 (given 16-bit support, more registers, and richer instruction set). He talks a lot about identifiers, but every CS101 student learns to change labels when copying someone's code :-)

By the way there are some (technically very interesting) articles on Tim Paterson's (the author of QDOS) sites:
http://www.patersontech.com/dos/articles.aspx
http://dosmandrivel.blogspot.com/

My $0.02:
- CP/M is not that complicated system, so given some programming skills and the knowledge of its API, it won't be too difficult to build a compatible OS (which was done a few times, see this for example: http://www.seasip.demon.co.uk/Cpm/files.html).
- Regarding why not CP/M on IBM PC debate: I guess Gary Kildall didn't (and couldn't) realize the success and historical impact that IBM PC will have, it was just another (one of the hundreds at that time) attempt to create a microcomputer, and he just wanted to get what he believed was the fair price for his software.

barythrin
August 2nd, 2012, 10:14 AM
Hm. Have to read that more thoroughly later but at a glance it doesn't look like anything practical. He jumped on the word jnz which is just an assembly command and the fact that they both had com in them or comerr which I don't think means much. Both operating systems run com files and would naturally have similar functions based on the hardware.

Interestingly some of the museums and major collectors do get called on for legal patent disputes. Sellam (vintage.org) gets those from time to time and I've heard other folks have helped out as well with the research. I would think they, CHM or MARCH might have interesting details if this was investigated by them at all.

MicrocomputerSolutions
August 2nd, 2012, 10:27 AM
Interesting article in IEEE Spectrum: http://spectrum.ieee.org/computing/software/did-bill-gates-steal-the-heart-of-dos/1

Written by a vintage computer collector, maybe a member here?

The article is something of an ad for his forensic tools. He tries to determine if DOS was copied from CP/M.

Comparing a program written in PL/M and assembly for an 8080 to one written in assembly for an 8086?? The result is not much of a surprise.

The video very briefly shows a nice vintage collection.


Microsoft has a long and continuing history of taking/stealing other companies work, and incorporating it into Microsoft products. Typically they approach companies with interesting code, and ask for copies of the source to review saying that they were interested in licensing the code. Then take the source that they gain access to, incorporate it into their own product, then go back the the Owner of the code, and break off talks, saying that they changed their minds.

Microsoft did not write MBasic or MSDOS. MSDOS came from a company in Colorado (or was that Washington?) that ported CPM-80 to 16-bits in order to have a 16-bit operating system to sell with an early S-100 8086 (might have been an 8088) processor board that they developed, and were getting ready to market. In this case Microsoft did not steal MSDOS directly, they licensed it for use on the IBM PC from the company who ported it from DRI (stole the code) without permission. I don't remember the name of the company who developed the S-100 board, as that was long ago, but it would be easy enough to look it up. Years later I bought and traded (wholesale) S-100 products with this company. Ultimately the company had a disasterous fire that put them out of business, although the lawsuit lasted for years afterward before it's conclusion.

Early versions of the illegally ported 16-bit operating system, and MSDOS actually contain the DRI copyright text from the original CPM-80 code.

That company that licensed Microsoft to use the code as MSDOS on the 8088 processor later sucessfully sued Microsoft for selling MSDOS for use on processors other than the 8088, claiming that Microsoft's limited license to use the code as MSDOS on 8088 processor based computers did not allow Microsoft to market MSDOS for use on 8086, 80286, 80386, etc... based computers.

kyeakel
August 2nd, 2012, 10:43 AM
Interesting that the icon they use for their CodeGrid application is the same one used by fatesoft's Code Visual to Flowchart. I wonder if their app can tell who stole from whom?

Kipp

krebizfan
August 2nd, 2012, 11:24 AM
Microsoft has a long and continuing history of taking/stealing other companies work, and incorporating it into Microsoft products. Typically they approach companies with interesting code, and ask for copies of the source to review saying that they were interested in licensing the code. Then take the source that they gain access to, incorporate it into their own product, then go back the the Owner of the code, and break off talks, saying that they changed their minds.

Microsoft did not write MBasic or MSDOS. MSDOS came from a company in Colorado (or was that Washington?) that ported CPM-80 to 16-bits in order to have a 16-bit operating system to sell with an early S-100 8086 (might have been an 8088) processor board that they developed, and were getting ready to market. In this case Microsoft did not steal MSDOS directly, they licensed it for use on the IBM PC from the company who ported it from DRI (stole the code) without permission. I don't remember the name of the company who developed the S-100 board, as that was long ago, but it would be easy enough to look it up. Years later I bought and traded (wholesale) S-100 products with this company. Ultimately the company had a disasterous fire that put them out of business, although the lawsuit lasted for years afterward before it's conclusion.

Early versions of the illegally ported 16-bit operating system, and MSDOS actually contain the DRI copyright text from the original CPM-80 code.

That company that licensed Microsoft to use the code as MSDOS on the 8088 processor later sucessfully sued Microsoft for selling MSDOS for use on processors other than the 8088, claiming that Microsoft's limited license to use the code as MSDOS on 8088 processor based computers did not allow Microsoft to market MSDOS for use on 8086, 80286, 80386, etc... based computers.

Where exactly is this alleged DRI copyright text in any version of MS-DOS or preceding SCP releases? The author of the linked article couldn't find any nor has anyone else been able to find any clear identifying marks in the past 30 years. Doesn't mean there isn't one or that it was illegal if there was a DRI copyright notice; the rather famous Logitech use of "Copyright Microsoft" in mouse drivers was legal since software was looking for the specific text string.

All the other CP/M workalikes were regarded as perfectly legal despite being less extreme departures from CP/M than 86-DOS/MS-DOS/PC-DOS. DOS dropped functions, changed file systems, and reorganized code layout; all tasks that require much more work than simply porting code.

sergey
August 2nd, 2012, 11:46 AM
Microsoft has a long and continuing history of taking/stealing other companies work, and incorporating it into Microsoft products.

Microsoft did not write MBasic or MSDOS. MSDOS came from a company in Colorado (or was that Washington?)

You should have read the article mentioned above, as it contains some bits of MS-DOS history. It also mentions that analysis didn't show any significant similarities between CP/M, and QDOS (the original MS-DOS was based on), not even copyright strings.

Yes, Microsoft likes to adopt (and often improve) others' ideas, but I doubt they actually have stolen any code (it would be too much of legal trouble). They certainly used some BSD-licensed code (in TCP/IP stack and utilities for example), but BSD license allows doing that.
- MBASIC - any references to confirm your claim? Who is the original author?
- MS-DOS - yes, it was based on QDOS, but Microsoft did acquire a license for it. Moreover MS-DOS 2.0 was significantly modified by Microsoft, so I think very little of the original code left in use (it was present for compatibility reasons, but since MS-DOS 2.0 most of programs used UNIX-like file descriptor based I/O instead of older CP/M like FCB based file access)

Unknown_K
August 2nd, 2012, 11:59 AM
Microsoft stole the code for software drive compression that came with DOS 6.2.

Ole Juul
August 2nd, 2012, 12:02 PM
- MS-DOS - yes, it was based on QDOS, but Microsoft did acquire a license for it. Moreover MS-DOS 2.0 was significantly modified by Microsoft, so I think very little of the original code left in use (it was present for compatibility reasons, but since MS-DOS 2.0 most of programs used UNIX-like file descriptor based I/O instead of older CP/M like FCB based file access)

From what I've read, version 1.1 was the last one DOS written by Tim Paterson, based on the original Seattle Computer Products 86-DOS and version 2.0 was a major rewrite. However, I'm pretty sure that Patterson worked for Microsoft on version 2. I don't have the time to find the source of that info right now, but it's probably on Paterson's site.

Tor
August 2nd, 2012, 12:23 PM
Paul Allen's book goes into very interesting details about how the Basic for the Altair was created. Unless every word of that chapter is a lie then Allen, BG, and the third guy (his name escapes me at the moment), can truly claim 100% ownership of that code. Even if they started out with something rudimentary from somewhere else, which isn't impossible. I've seen it claimed elsewhere that BG just took an existing Basic from where he was working, and modified it for the Altair on company time then left with it. That's definitely not true, he wasn't employed when Altair Basic was written.
I may be wrong, but I always thought what came to be called MBasic started as just this Altair Basic.

-Tor

krebizfan
August 2nd, 2012, 12:25 PM
Microsoft stole the code for software drive compression that came with DOS 6.2.

Err, no. The code was not stolen; when Stac and Microsoft couldn't agree to license terms, Microsoft licensed a competing vendor's compression software. Stac sued on patents being violated and won because the patent MS was using was declared to have been covered by the earlier Stac patent. The jury would not have declared non-willful infringement if MS simply copied Stac's code.

A similar event happened with Real (as in RealPlayer) who wanted Microsoft to use their player and complained when MS instead upgraded Media Player from API demo to actually useful software. The version of the story I heard was that Real wanted a higher royalty than MS was getting from OEMs for Windows itself.

Chuck(G)
August 2nd, 2012, 02:51 PM
- MBASIC - any references to confirm your claim? Who is the original author?

I'd be very surprised if MBASIC wasn't at least based on Gates' work! ISTR that he wrote Microsoft BASIC for the MITS Altair. I think there's still a paper tape of it for sale in the Marketplace. (It was also supplied on audo cassette). It was widely copied, to the extent that BillG wrote a letter to one of the magazines decrying the theft.

All in all, the article and the comments (but for one or two--I'll leave you to guess) shows an incredible amount of ignorance. As to Dorothy, well, having had a confrontation with her, I find that the IBM suits being turned away was quite believable.

It was not in Gary's character to sue, although some of his friends urged him to.

Caluser2000
August 2nd, 2012, 09:47 PM
Seems the origins of Basic go back to 1964 and placed into the public domain.

MicrocomputerSolutions
August 2nd, 2012, 10:15 PM
A long, long time ago (back in the 80s) a very talented DRI programmer showed me where in a copy of MSDOS the DRI copyright, and actual DRI serial number of the program that was incorporated into MSDOS resided.

To this day, I don't know where to find it on a early copy of MSDOS or where to even look for it. Heck, I still don't know how to find the serial number embedded in CPM 2.2, though more than one person has shown me how and where they can be found.

The same programmer showed me a DRI developed icon based GUI running on a CPM68K S-100 based system, years before Microsoft started selling Windows. I may still have copies of that OS in the closet somewhere.

So, while I don't personally have the tools/skills to be able to show you where the DRI copyright and serial number are in a copy of MSDOS 1.0, they are there, I've seen them, and I'm convinced.

Ole Juul
August 2nd, 2012, 11:28 PM
. . . So, while I don't personally have the tools/skills to be able to show you where the DRI copyright and serial number are in a copy of MSDOS 1.0, they are there, I've seen them, and I'm convinced.

I assume you're talking about Digital Research Inc.

What tools did you have in mind? You can just look at it and do a search for words. I'm not going to bother this minute, but you can check out the work of somebody who has spent some time doing that. Do you see "DRI" mentioned anywhere?

A Forensic examination of the IBM® Personal Computer™ DOS Version 1.00 (1981) Diskette (http://thestarman.pcministry.com/DOS/ibm100/Exam.htm)

pearce_jj
August 2nd, 2012, 11:48 PM
From what I've read, version 1.1 was the last one DOS written by Tim Paterson, based on the original Seattle Computer Products 86-DOS and version 2.0 was a major rewrite. However, I'm pretty sure that Patterson worked for Microsoft on version 2. I don't have the time to find the source of that info right now, but it's probably on Paterson's site.

Tim Paterson states "I was not involved in the MS-DOS 2.0 project" here (http://patersontech.com/Dos/Byte/InsideDos.htm).

Ole Juul
August 3rd, 2012, 12:31 AM
Tim Paterson states "I was not involved in the MS-DOS 2.0 project" here (http://patersontech.com/Dos/Byte/InsideDos.htm).
Indeed he does. I guess I was wrong. :)

I don't know why I thought that. I just checked Wikipedia and he already left MS in April of 82. However, he did work quite a few years for Microsoft on future occasions.

PS: Some readers of this thread might like to read what Tim Paterson writes on his blog about The Contributions of CP/M (http://dosmandrivel.blogspot.ca/2007/08/contributions-of-cpm.html).

Tor
August 3rd, 2012, 01:04 AM
Seems the origins of Basic go back to 1964 and placed into the public domain.
BASIC the language yes, but the various interpreters (and later, compilers) were not - most of them were written much later and the various authors of those can rightly claim ownership of their work.

(The first BASIC I used was on the school minicomputer.. well, maybe 'mini' isn't the right name, anyway it was a 19" rack system with core memory and BASIC on paper tape. Probably around 1977-78. Ah, memories.. well, I learned the limits of the language early at least and spent the next years trying to find better languages and better methods than flowcharts. At the same time I used an AIM-65 but I don't remember if I ever used BASIC on it - it was mostly assembler)

-Tor

pearce_jj
August 3rd, 2012, 05:19 AM
Indeed he does. I guess I was wrong. :) I don't know why I thought that.

The funny thing is I actually thought so too (and off the back of reading that article some time ago).

WMH
August 3rd, 2012, 08:25 AM
Tor, your earlier statement is correct. Microsoft BASIC did start as Altair BASIC, which Microsoft had written and maintained the rights to.

And do remember, even if Seattle Computer Products DID take some CP/M code, Digital Research did have their change with the IBM PC. We all know that story... :)

Chuck(G)
August 3rd, 2012, 08:35 AM
A long, long time ago (back in the 80s) a very talented DRI programmer showed me where in a copy of MSDOS the DRI copyright, and actual DRI serial number of the program that was incorporated into MSDOS resided.

To this day, I don't know where to find it on a early copy of MSDOS or where to even look for it. Heck, I still don't know how to find the serial number embedded in CPM 2.2, though more than one person has shown me how and where they can be found.

The same programmer showed me a DRI developed icon based GUI running on a CPM68K S-100 based system, years before Microsoft started selling Windows. I may still have copies of that OS in the closet somewhere.

So, while I don't personally have the tools/skills to be able to show you where the DRI copyright and serial number are in a copy of MSDOS 1.0, they are there, I've seen them, and I'm convinced.

Sorry, but I've got to call "Urban Legend" on this one. I was with an OEM at the time working with DOS 1.25 getting out own IO.SYS going with it. Microsoft tells its OEM developers more than the end user. At no time was DRI ever mentioned. We were, however, told that with MS-DOS 2.00, the goal was to unify DOS and Xenix to a common as-yet-unspecified product. (I still have a copy of that document).

Secondly, I don't see what the hubbub is all about. MS-DOS brought in a new file system which was very different from that of CP/M (DRI eventually copied it for Concurrent DOS). And what is CP/M at its heart if not a file management system? True, there's some console and printer I/O APIs in it, but they're very primitive and many applications bypass them because of that.

It's a tempest in a teapot, if you ask me.


DRI beat Microsoft out on the bidding for the OS for the Atari ST and the API and file system is a virtual copy of the MS-DOS API. I didn't see Microsoft suing over that one.

Caluser2000
August 3rd, 2012, 02:06 PM
The same programmer showed me a DRI developed icon based GUI running on a CPM68K S-100 based system, years before Microsoft started selling Windows. GEM? Lee Jay Lorenzen joined DRI from Xerox PARC so its not surprising graphical enviroment was developed.http://www.retrotechnology.com/dri/GEM.html

A nice 1985 review- http://www.atarimagazines.com/compute/issue60/175_1_GEM_A_New_Look_For_IBM_And_Atari.php

Chuck(G)
August 3rd, 2012, 02:33 PM
Also, from my 1982 OEM DRI price schedule, a 10K unit license for CP/M-86 could be had for $75K; each additional 10K would have cost $37.5K. Source was included, as were documentation reprint rights. Concurrent CP/M-86 was available for $100K for a 10K license. Support was free. Compared to what MS was getting, this was probably a bargain.

As far as CP/M-80, source could be purchased from DRI for $5K if you were an OEM.

Caluser2000
August 3rd, 2012, 02:37 PM
Did you get the GEM programmers tool kit Chuck?

Chuck(G)
August 3rd, 2012, 03:14 PM
I'd have to look; I may have had it, but I may also have tossed it a long time ago.

SpidersWeb
August 6th, 2012, 09:27 PM
With regards to DRI code in DOS (and by that I mean the original), I remember seeing a clip where Gary talks about weird undocumented junk code that was left in CP/M, which he remembered writing and recognised the assembly in parts of the SCP/MS product. Haven't heard any mention of "DRI" strings or copyrights though.

But the product was close enough that If it wasn't for that deal in IBM's office to allow the Microsoft product to sell, DRI would have shut it down with a lawsuit. IBM and MS knew that at the time - hence the offer - DRI gets the contract but it doesn't have to be an in-house IBM only thing - and MS could sell their CP/M clone - let the market decide says Gary! Then MS sold it's cheaply aquired package for 1/5 the price at launch (well consumer license anyway), and DRI got left in the cold.

If you think I'm wrong on that, let me know, I'll go try and hunt up my resources. It's been a while since I've done any reasearch on the topic, that's just what was floating in my mind when I spotted this thread and the recent post about DRI code in MS DOS.

Ole Juul
August 7th, 2012, 02:32 AM
With regards to DRI code in DOS (and by that I mean the original), I remember seeing a clip where Gary talks about weird undocumented junk code that was left in CP/M, which he remembered writing and recognised the assembly in parts of the SCP/MS product. Haven't heard any mention of "DRI" strings or copyrights though.

If you're interested, there's a pretty good showing of the "junk code" (slack space) on the page I gave earlier (http://thestarman.pcministry.com/DOS/ibm100/Exam.htm#DATA). It seems like all kinds of stuff could get left in there which nevertheless would not be "infringing" in this context. More on slack space evidence here. (http://thestarman.pcministry.com/DOS/ibm100/Slack.htm)

I like the list of MS and IBM employees with their names in the code.

barythrin
August 7th, 2012, 09:58 AM
..these sites start to read like a conspiracy theories page. Hard to tell what's fact or fabricated fact. (They used the command DIR which if you reverse the last two letters you'd see that clearly this is DRI and..) ok not that bad but it starts to read that way after a while to me.

xprt
August 7th, 2012, 10:21 AM
The article was Slashdotted (http://tech.slashdot.org/story/12/08/07/1149258/ms-dos-not-stolen-new-forensic-analysis-concludes),
and sort of reviewed in The Register (http://www.theregister.co.uk/2012/08/07/kildall_unforensic_ieee_smear/):

The IEEE is the professional association for American engineers. With the publication of this article, it has not only managed to smear the reputation of one of the computer industry's greatest pioneers, but also insult the intelligence of its readers.

Chuck(G)
August 7th, 2012, 11:04 AM
If you're interested, there's a pretty good showing of the "junk code" (slack space) on the page I gave earlier (http://thestarman.pcministry.com/DOS/ibm100/Exam.htm#DATA). It seems like all kinds of stuff could get left in there which nevertheless would not be "infringing" in this context. More on slack space evidence here. (http://thestarman.pcministry.com/DOS/ibm100/Slack.htm)

You mean it took someone until 2008 to figure out how to use SEEJUNK (http://www.programmersheaven.com/download/3134/download.aspx)? (I wrote that after looking at a Microsoft floppy, finding all sorts of interesting stuff in the "slack" space.)

krebizfan
August 7th, 2012, 11:17 AM
The article was Slashdotted (http://tech.slashdot.org/story/12/08/07/1149258/ms-dos-not-stolen-new-forensic-analysis-concludes),
and sort of reviewed in The Register (http://www.theregister.co.uk/2012/08/07/kildall_unforensic_ieee_smear/):

I gave up on the Register piece after encountering two obvious mistakes: first, DOS and CP/M do not have the same first 26 functions; DOS skips several including the CP/M version function and second, CP/M-80 and CP/M-86 did not use Int 21h at all. The earliest DRI code to make use of Int 21h didn't ship until 1984 which would be difficult for Tim Paterson to copy in 1980. I do find it amusing that the same author has multiple articles on the SCO litigation where he is in favor of APIs being reused without copyright issues, a principle tossed aside to get a few digs in at Microsoft.

Chuck(G)
August 7th, 2012, 12:16 PM
My reaction to the article, as a longtime IEEE member was pretty negative; why did Spectrum (the general magazine of the IEEE) publish it--because the IEEE Computer staff couldn't stop laughing long enough to give him a coherent answer?

@Kre, if memory serves, DRI didn't use Int 21h until they were trying to compete with MS-DOS. CP/M-86 uses Int 0E0h (224). One thing that I've always wondered about it that there's a statement in the CP/M-86 System Guide that states something to the effect of "Interrupt 224 has been reserved by Intel Corporation for interfacing to CP/M-86"--which completely blows me away. Is there any Intel documentation that so states?

Ole Juul
August 17th, 2012, 07:42 PM
Update:

From The Register (http://www.theregister.co.uk/2012/08/17/microsoft_pay_zeldman/)

The IEEE's Spectrum magazine has admitted that a recent contributor, who wrote an eyebrow-raising revisionist history of MS-DOS, is paid by Microsoft.


Editor’s Note: Upon publication, this article failed to properly disclose the connection between its author, Bob Zeidman, and Microsoft Corp., a key subject of the story. Mr. Zeidman is currently retained by Microsoft as an expert witness in Motorola Mobility v. Microsoft. IEEE Spectrum regrets the omission.