Become a fan of Slashdot on Facebook


Forgot your password?
Microsoft Operating Systems Software

Microsoft Posts Source Code For MS-DOS and Word For Windows 224

An anonymous reader writes "Microsoft, along with the Computer History Museum, has posted the source code for MS-DOS 1.1 and 2.0, and Word for Windows 1.1a. It's been a long time coming — DOS 2.0 was released for IBM PCs in 1983, and Word for Windows 1.1a came out in 1990. The museum, with Microsoft's consent, has made the code available for non-commercial use. They've also explained some of the history of this software's development: '[In August, 1980], IBM had already contracted with Microsoft to provide a BASIC interpreter for the PC, so they asked them to investigate also providing the operating system. Microsoft proposed licensing "86-DOS", which had been written by Tim Paterson at Seattle Computer Products (SCP) for their 8086-based computer kit because the 16-bit version of CP/M was late. When SCP signed the licensing deal [7] with Microsoft, they didn't know for sure who the computer manufacturer was. Paterson said "We all had our suspicions that it was IBM that Microsoft was dealing with, but we didn't know for sure." [1] He left SCP to work for Microsoft in 1981. "The first day on the job I walk through the door and 'Hey! It's IBM.'" Microsoft originally licensed 86-DOS in December 1980 for a flat fee of $25,000. By the next summer they recognized the importance of owning it and being able to license it to other companies making IBM-PC clones, so they purchased all rights for an additional $50,000.'"
This discussion has been archived. No new comments can be posted.

Microsoft Posts Source Code For MS-DOS and Word For Windows

Comments Filter:
  • by Anonymous Coward

    Why not DOS 6.22? They're not making a bundle on that, either.

    • by counterplex ( 765033 ) on Tuesday March 25, 2014 @03:28PM (#46576727) Journal
      I'm not sure that's needed really. Projects like FreeDOS and the like seem to be fine on their own. The DOS 2.0 source code is more of a curiosity, nothing more.
      • source code for word is valuable for that crazy docx format which has some things specified like this: "do X like Microsoft Word Y.Z does".

      • What would be nice is if they put out the Win95 or Win98 source code as there is a ton of games that played on win9x that really didn't run anywhere else.

        But I'd say DOS source is pointless except as a curiosity as between DOSBox and FreeDOS we now have DOS that works better than the original by a pretty good clip. After all DOSBox even gives you emulation of the most used hardware and FreeDOS gives you a fully bootable with mouse support for your drive imaging and the like so I don't see a release of MS

    • by Anonymous Coward on Tuesday March 25, 2014 @03:30PM (#46576739)

      I guess DOS 6.22 is still somewhere part of their Windows 8.1 64 bits system. Releasing that code might give vulns. to current systems. :)

      • by SJHillman ( 1966756 ) on Tuesday March 25, 2014 @03:39PM (#46576843)

        To the best of my knowledge, the last version of Windows to actually be based on DOS was Windows ME. 2000, XP and later followed the NT base.

        • IIRC, DOS still runs in a VM, even on Windows 8.

          • by Hal_Porter ( 817932 ) on Tuesday March 25, 2014 @04:11PM (#46577149)

            That doesn't mean that Windows 8 is 'based on Dos' anymore than a Linux box with the Dosbox emulator running Dos apps in a windows is.

            Incidentally in 64 bit Windows there is no NTVDM or support for 16 bit Windows - you can have 16 bit apps running on a 32 bit kernel via a thunking layer (Windows On Windows), or 32 bit apps running on a 64 bit kernel via a thunking layer (WOW64) but you can't have 16 bit apps running on two thunking layers on a 64 bit kernel. Since Microsoft won't support memory above 4GB using PAE on 32 bit Windows you pretty much have to use 64 bit Windows on a machine with more than 4GB. In fact even on a 4GB machine you'll have more usable memory with a 64 bit OS than a 32 bit one - there's a hole under 4GB for PCI memory mapped space. The only way to get access to the memory the hole covers up is to see it about 4GB. With current Microsoft OSs that is only supported on 64 bit OSs. So in the long run most machines are going to come with a 64 bit OS and that means no NTVDM.

            Of course part of it is probably that 16 bit Windows and Dos apps have pretty much ceased to be commercially important. And if you want retro games you've been better off with something like Doxbox than NTVDM for some time.

      • MS-DOS no longer exists in Windows. I don't think it was compatible with the NT kernel. The "Command Prompt" is confusingly similar though, but I don't think they share code.

        • 32bit Windows 8 can still run DOS apps. There's got to be some DOS 6.22 code in there.
          • It uses the NTVDM, which emulates DOS. Windows doesn't actually run on top of DOS anymore.
          • by rev0lt ( 1950662 )

            There's got to be some DOS 6.22 code in there.

            I would really doubt that, aside from cmd.exe. All real-mode interrupts are faked into protected mode (and until at least some versions ago, eg. int21h was also available in protected mode inside windows applications and command-line DPMI applications), and IRQ handlers are reflected by the emulation mechanism. Some bios interrupts (int10h, int16h) are completely emulated, instead of the eg. EMM386 mechanism of reflecting them to the original handlers. Most MsDos code is real-mode and completeley useless in

      • by Guppy06 ( 410832 )

        Metro versus dosshell


    • by Anonymous Coward on Tuesday March 25, 2014 @03:31PM (#46576763)

      the Computer History Museum

      Because there is historic value in early versions. There is also value in seeing how the apparent problems changed, but where things began is pretty significant.

      Oh, sorry, mod this down, I accidentally thought you might even take the half-second to read the first sentence of the summary before commenting. I forgot where I was for a moment there.

    • by dacut ( 243842 ) on Tuesday March 25, 2014 @03:52PM (#46576963)

      Why not DOS 6.22? They're not making a bundle on that, either.

      Distributing the source code to a proprietary product has a number of potential legal hurdles. If there are parts of the source which were licensed from another company (as would be the case with MS-DOS and SCP, IBM, Stac, and possibly others), those agreements need to be revisited and you may need to get permission from that company (or its successors) to do so. (I include IBM because, I believe, they took over much of the development for the 4.x series.)

      MS-DOS 2.x might be the latest version they (currently) feel confident in being able to release free of these restrictions.

      • For example:
        /* We copied this from CP/M but we don't know what it does */
        • That's expressly covered in the Computer History Museum's article - it was confirmed, by a computer forensic engineer no less, that DOS is not copied from CP/M.

    • by Guppy06 ( 410832 )

      I would guess there's a lot more in the way of tricky IP issues to deal with there than with the early versions that were still primarily based on the original purchased rights.

      We're talking about a version of DOS where the only text editor is edlin, and this is before we start dealing with Dou-- er, DriveSpace.

      • by mysidia ( 191772 )

        We're talking about a version of DOS where the only text editor is edlin, and this is before we start dealing with Dou-- er, DriveSpace.

        OK... How about DOS 5.0? I started with that. No doublespace or drivespace there.

    • can't remember offhand if they ever settled that little spat or not. if not, beware!

  • by LifesABeach ( 234436 ) on Tuesday March 25, 2014 @03:30PM (#46576753) Homepage
    I told my dad about this post pointing on my Touch Screen; now he's calling my doctor and asking about a Tetanus Shot, and he looks worried?!
  • This short history summary shows that Microsoft's roots are in marketing, not programming. Once they obtained their license from SCP, they were responsible for DOS' development alone, and we eventually got MS-DOS 4.0, 4.01, 4.02.....4.22, 5.0 (( don't remember any bugixes for that one), 6.0, 6.01, 6.02, etc. NB: some of the interim 6.x changes series were for stealing compression technology from a competitor.

    Thier buggy software continued right the 20th century till XP (2001)

    It took them a long time to lea

    • by Quila ( 201335 ) on Tuesday March 25, 2014 @03:43PM (#46576883)

      This short history summary shows that Microsoft's roots are in marketing, not programming

      No, their roots were in programming. This was their foray into marketing. Anybody who used a Radio Shack Model 100 (or its brethren) knows that Microsoft was capable of developing an excellent product at one point.

      • by Anna Merikin ( 529843 ) on Tuesday March 25, 2014 @03:53PM (#46576977) Journal

        In the interests of truth, you are right; I left out their contributions to BASIC (I believe it was jointly developed at some point with Apple) and Bill Gates himself did some work on that groundbreaking program, but probably it was others who did most of the programming work with Gates being the bulldog who tried to drive payment for the program, which had gotten into the wild. There are some charming emails from Gates warning users about pirating BASIC circulating om the internet.

        However, their huge success in relicensing seems to have driven their business plan after 1982.

    • by UnknownSoldier ( 67820 ) on Tuesday March 25, 2014 @03:53PM (#46576975)

      /Oblg. M$ joke

      Windows 95: 32 bit extensions and a graphical shell for a 16 bit patch to an 8 bit operating system originally coded for a 4 bit microprocessor, written by a 2 bit company, that can't stand 1 bit of competition.

    • by PPH ( 736903 ) on Tuesday March 25, 2014 @03:54PM (#46576985)

      Their roots are in brokering deals. They bought some rights from Patterson and got them cheap by concealing their end customer (IBM). They then hired Patterson and tossed him another $50K for the remaining rights to distribute. $75K altogether. If Patterson had said "No thanks" to the employment offer and hung onto distribution rights, SCP might have done a better job building upon DOS and they'd be the rich people. Microsoft would have gone on to be one of many apps developers in a diverse DOS-based ecosystem.

      Microsoft has always feared the independent developer. They have become adept in killing off potential competition or buying up expertise and burying it somewhere in the Redmond campus.

      • Their roots are in brokering deals. They bought some rights from Patterson and got them cheap by concealing their end customer (IBM).

        Three guesses and the first two don't count.

        Losing patience with the snail-on-a-salt-lick pace of Digital Research, the Holy Grail for the systems software geek in 1980 was a serviceable CP/M-86 clone. "Serviceable" in this context did not mean "market ready for an IBM PC."

        Microsoft's deal with SCP was never as one sided as the geek likes to pretend.

        On July 27, 1981, just prior to the August 12 PC launch, Microsoft bought the full rights to the operating system for an additional $50,000, giving SCP a perpetual royalty-free license to sell DOS (including updated versions) with its computer hardware.

        Thanks to the deal with Microsoft the provided additional capital to Seattle Computer, the company expanded its memory business to provide additional memory for [its] PC products. The company had its best year in 1982, reaping more than a million dollars in profit on about $4 million in sales.

        Seattle Computer Products/a []

    • Not marketing, except from the perspective of engineers to whom any portion of the business processes not related to technology gets called "marketing". IBM did all of the marketing relevant to the success of MS-DOS. Microsoft's coup was in brokering a deal with IBM and being smart enough to make it a per-copy licensing deal rather than selling the software outright.
    • Re: (Score:2, Interesting)

      by Anonymous Coward

      I thought everyone knew this. There was more history that I remember. When IBM first saw the code M$ had bought from SCP (it was first called QDOS for "Quick and Dirty Operating System), it had 8000 lines of assembly code, and IBM pulled out 6000 lines of bugs, then gave it back to M$. The only reason IBM was so generous was that they didn't want to get caught up in Sherman (Antitrust) Act problems, so they made M$ their beneficiary. Little did they know that their friend and partner would become their

    • by westlake ( 615356 ) on Tuesday March 25, 2014 @05:32PM (#46577971)

      This short history summary shows that Microsoft's roots are in marketing, not programming.

      In 1975 there is BASIC for the Altair. In 1976 Microsoft was selling BASIC to Fortune 500 clients. In 1977 it is branching out into FORTRAN, COBOL. and Assembler. In 1978, Microsoft releases Applesoft BASIC.

      [In 1979] Microsoft 8080 BASIC is the first microprocessor product to win the ICP Million Dollar Award. Traditionally dominated by software for mainframe computers, this recognition is indicative of the growth and acceptance of the PC industry.
      June 18, Microsoft announces Microsoft BASIC for the 8086 16-bit microprocessor. This first release of a resident high-level language for use on 16-bit machines marks the beginning of widespread use of these processors.
      [in 1980] Microsoft introduces the Pascal language, develops XENIX (enhanced version of the UNIX operating system), and begins to explore spreadsheet applications. It also releases its first hardware product, the Microsoft SoftCard, which allows Apple II users to run CP/M-80. Microsoft will provide BASIC, FORTRAN, and COBOL languages for the Z-80 SoftCard.

      Microsoft Time Line []

      In 1980 Microsoft had a solid track record in development tools for the microcomputer and was well positioned to become a major player in operating systems and applications software in both the business and consumer markets.

    • There buggy software might have something to do with the rapid evolution of the processors and memory architectures during this era. In the beginning good enough replaced perfection when it came to releasing new software. By the time something was perfect you risked the chance that your targeted architecture was deemed obsolete. During this time you also had rapid increases in the number of peripherals such as network cards, video cards, printers, and input devices. This all happened when there were no indu

  • by Jugalator ( 259273 ) on Tuesday March 25, 2014 @03:42PM (#46576875) Journal

    Eagerly awaiting the first fork! MS-DOS for Linux? Mac? It can finally happen!

  • GitHub Source (Score:5, Informative)

    by Anonymous Coward on Tuesday March 25, 2014 @03:42PM (#46576879)

    Someone posted a mirror to GitHub:

  • I don't think they needed to worry....

  • Tainting (Score:4, Interesting)

    by Jiro ( 131519 ) on Tuesday March 25, 2014 @03:55PM (#46576999)

    Doesn't even looking at this source code create a minefield for open source developers? If you look at the source code, Microsoft can scrutinize all your open-source contributions claiming that since you read Microsoft's source code, you can't suddenly forget everything you learned, so all your contributions to open-source software are tainted by your knowledge. It will be impossible to prove otherwise. This may mean that if you look at Microsoft's source code, you are barred for life from working on the Linux kernel or anything even remotely related to operating systems. It could even affect your ability to get a job.

    • Re:Tainting (Score:5, Informative)

      by ledow ( 319597 ) on Tuesday March 25, 2014 @04:04PM (#46577089) Homepage

      Are you intending to write an antique DOS system in assembler that uses some really, really primitive version of FAT - by the looks of it? Then probably best not to look.

      The other 99.99999% of the planet, however, might find it interesting.

      Personally, I find anything still written in assembler to be totally worthless. If you wanted that, you could have run it through a disassembler at the time of it's release and it's not-much-more work to get to something just as readable.

      Like the original Prince of Persia code dump - only useful for historical reference and to find out how data and data structures were processed in terms of file compatibility etc. (so, long-dead OS and filesystems are pretty worthless, especially when we know almost everything about them already).

      And honestly, from a first glance, it's SUCH basic code that if you were to program any kind of DOS, and needed to be MS-compatible, the only obvious way to do so would be a basically word-for-word re-writing of what they have. There's almost zero room for "invention" or "interpretation" here, so it's mostly uncopyrightable except as a collection of code. Most functions are literally a handful of lines of assembler on well-known data structures that do one quite obvious thing and the necessary - and prescribed by the way the OS works - register / stack shuffling to make it happen.

      If I were on the FreeDOS team, yeah, I wouldn't want to read it. But honestly, the chances are I wouldn't bother - I'd have a much nicer, more modern, easier-to-read, collaboratively-written project that does an awful lot more than these antique DOS's could ever do sitting right in front of me, already written. There's nothing "useful" here, but it buys MS some "open-source" lip-service.

      • you are a poseur talking out of your ass

          raw output of disassembler is near worthless for anything without hours of study per 100 lines of code

        there are thousand of ways to write code for what ms-dos does even if data structures and commands known

        ms-dos is still used, on industrial controllers where the interrupts and overhead of an OS are unneeded and unwanted. very common manufacturing/CNC applications.

    • That's not how copyrights work. That's how patents work...

      • by Zordak ( 123132 )

        That's not how copyrights work. That's how patents work...

        Actually, while the parent was a bit extreme in his paranoia, he was closer to correct than you are. You infringe on a patent whether you saw the patent or not. For copyright, the plaintiff has to prove that you copied the work in some way. If I coincidentally wrote a book that word-for-word identical to Twilight, for example, without ever having seen the original, technically I wouldn't be infringing on the copyright.

    • Doesn't even looking at this source code create a minefield for open source developers?

      No, otherwise we would have seen the same issues with restrictive open source licenses Vs permissive open source licenses or even open source licenses Vs proprietary software development. Otherwise I could publish a restrictively-licensed open source program and then sue every software developer who read it and wrote code that wasn't under the same license. I think it's pretty obvious that's FUD.

  • Long time or not, this is a good thing for Microsoft to do, as well as for the community in general.

    Unfortunately, however, it's under a non-commercial license, so any FreeDOS developers still need to avoid contact with it to avoid any IP complaints.

  • $75,000 total cost for how many millions (billions?) in licensing revenue from PC manufacturers? This may go down as one of the best acquisitions in business history.
  • The really interesting thing about DOS 1.1 (or actually very slightly later revisions) is that it was the first to be released to OEMs other than IBM. Early clone makers such as Zenith, Corona, Columbia Data Products, Eagle Computers, or Compaq (you might have heard of that last one), never would have gotten off the ground if Microsoft had not licensed it out to them.

    Some of the early "MS-DOS" compatibles were not even hardware compatible with the IBM PC. All you could rely on was the presence of an 8088/80

    • by tibit ( 1762298 )

      Man, that MS Word source should be perfect for an allnighter port to modern winapi :)

  • to the package that is sitting on my shelf... nice.

  • The point? (Score:2, Flamebait)

    by nurb432 ( 527695 )

    Other than ( tainted ) history, is there a real point? FreeDOS surpassed the functionality long ago and is Opensource.. There are several editors that are available too, that are open and free...

    Sounds like pandering to me.

    • by Lehk228 ( 705449 )
      read the summary, or at least the first line of the summary "Microsoft, along with the Computer History Museum"
    • Other than ( tainted ) history, is there a real point? FreeDOS surpassed the functionality long ago and is Opensource.. There are several editors that are available too, that are open and free...

      The history is the point here, Einstein. You and your darn open source...

  • It doesn't seem to be widely known, but the MS-DOS 6.0 source code was leaked at some point. However, if you look it up you will only see posts from late 2006 when it was indexed by google code search. There doesn't seem to be any information on how or when it was originally leaked it seems like for whatever reason it wasn't big news at the time.
  • The routine for directory listing is called CATALOG (shades of Apple DOS, and Heath's HDOS); for deleting, the routine is ERASE (shades of CP/M).

    Early, abandoned steps toward UNIX: MS-DOS 2.2 supported the SWITCHAR variable in config.sys; if set to anything but "/", the directory separator would be slash -- just like Xenix and UNIX; if set to "-" you would type "DIR -W C:/foo/bar" for a wide listing of what generally would be called C:\FOO\BAR

  • by Tablizer ( 95088 ) on Tuesday March 25, 2014 @04:48PM (#46577549) Journal

    12700 REM see, 640k is enuf 4 me - BG

  • As far as I am aware, DOS v3.x source code is out in the open and can be easily be found with a google search...
  • Possibly shows how little I know of Windows development, but I was surprised to find *.sed files and a grep.exe file in the Word for Windows source. Is it possible that MS employed people... hairy people... with beards.... who had worked with *nix?
  • The whole thing is in assembly.

    When it comes to assembly, what exactly is the difference between "source code" and the binary? Better comments and variable names?

    • Greatly reduced occurrences of data being disassembled as code and vice versa. Or code being disassembled into meaningless rubbish due to wrong starting offset. .EXE is no ELF binary or java class file.

  • It's end of life anyway... Microsoft should be happy to publish all that code too, right?

  • by iamacat ( 583406 ) on Wednesday March 26, 2014 @12:27AM (#46581411)

    I wish more companies would do this, and sooner too. Would your ten year old code really be a serious competition to your current efforts? It can however be priceless for learning, or even support for hobbyists who like tinkering with old gadgets.

    Lets thank Microsoft for doing the right thing and hope its a sign of good things to come from their new leadership. Apple, Novell and Sun - please take notice.

  • This is great news for open source fans like myself! I can finally upgrade from CP/M!

If it's not in the computer, it doesn't exist.