Stories
Slash Boxes
Comments

SoylentNews is people

SoylentNews is powered by your submissions, so send in your scoop. Only 12 submissions in the queue.
posted by LaminatorX on Wednesday March 26 2014, @07:04AM   Printer-friendly
from the 640k-ought-to-be-enough-for-anybody dept.

Lagg and Uncle_Al both wrote in about this surprising source release.

Lagg writes:

Today a technet article was posted by a Microsoft employee announcing that they are releasing to the Computer History Museum and the public at large the source code to v1.1 and 2.0 of MS-DOS as well as v1.1a of Word. All obvious jokes aside this could be good for projects such as DOSBox. Note also that said employee considers 300kb to be small for source code. Seems rather large to me, even now. But in any case this will be an interesting thing to dig into. To save the trouble of link chasing here are the relevant links:

Computer history article for MS-DOS (direct link to source)

Computer history article for Word (direct link to source)

This discussion has been archived. No new comments can be posted.
Display Options Threshold/Breakthrough Mark All as Read Mark All as Unread
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
  • (Score: 5, Interesting) by lothmordor on Wednesday March 26 2014, @07:25AM

    by lothmordor (1522) on Wednesday March 26 2014, @07:25AM (#21383)

    Hard to believe this is something Microsoft would do, given their history. I wish more companies did this. I'm not going to hold my breath, but perhaps the new CEO will make Microsoft a respectable company.

    • (Score: 0, Redundant) by mwvdlee on Wednesday March 26 2014, @11:13AM

      by mwvdlee (169) on Wednesday March 26 2014, @11:13AM (#21435)

      No company or person on this earth is 100% evil or 100% good.
      Some come close to 99.99% though.

    • (Score: 3, Interesting) by hamsterdan on Wednesday March 26 2014, @02:13PM

      by hamsterdan (2829) on Wednesday March 26 2014, @02:13PM (#21502)

      We can only hope Lucasarts does the same for the X-wing series, it's not like they're gonna lose money on games made in the early '90s. If it's related to some licensed code, then do like ID did and release what they can and let people figure it out.

    • (Score: 2, Insightful) by mvar on Wednesday March 26 2014, @05:39PM

      by mvar (2539) on Wednesday March 26 2014, @05:39PM (#21614)

      Releasing the source code for an OS which is deprecated since 1985 and under a restricting license is not enough to make you a respectable company. I can't understand why they just don't release the source for all Msdos versions under a GPL or similar license

  • (Score: 5, Insightful) by jamesbond on Wednesday March 26 2014, @07:52AM

    by jamesbond (2383) on Wednesday March 26 2014, @07:52AM (#21387)
    From the summary:

    All obvious jokes aside this could be good for projects such as DOSBox

    Sorry, no. In fact it is a big NO with emphasised capital letters.

    The "DOS" component of DOSBox is essentially a reverse-engineering project; DOSBox contributors who look at the MS-DOS source will "taint" the project with the knowledge - Microsoft could claim that contributions from them could have been taken from said MS-DOS source (and all the consequence that follows).

    Same comment for people who (is or will be) contributing to FreeDOS, ReactOS (for the MS-DOS source), and Libreoffice, OpenOffice, Abiword, Kword, etc (for the MS-Word source).

    In fact, ReactOS spent about a year doing code http://www.reactos.org/wiki/Audit [reactos.org] and removing code from suspected contributions.

    So yes, the code release is good for historical reasons; but if you work or contribute or plan to contribute to any of similar FOSS software; do yourself a favour and don't look at them.

    • (Score: 5, Informative) by Anonymous Coward on Wednesday March 26 2014, @09:55AM

      by Anonymous Coward on Wednesday March 26 2014, @09:55AM (#21415)

      If Microsoft releases it with a compatible license, the code can certainly be used.

      Now, of course Microsoft being Microsoft, I don't expect them to do it. But technically they could.

      But then, even if the code is not licensed that way, there's still a way to profit from the original source being available; it just needs two separate persons or teams with clear communication boundaries: One party is allowed to look at the MS DOS source code, but not to modify the DosBOX source code, or disseminate any information about the MS DOS source code to the DosBOX developers. What they *may* disclose however is any high-level information like "there is an undocumented DOS function with number xy, which expects the address of a file descriptor in ax and a length in bx, and which overwrites the first bx bytes of the file with 0". The second party, who can write code for DosBOX but cannot look at the MS DOS code, can then use that information to provide an independent implementation of that functionality in case some program uses it. Since they don't have access to the MS DOS source code, they can't infringe on that.

      • (Score: 0) by Anonymous Coward on Wednesday March 26 2014, @07:00PM

        by Anonymous Coward on Wednesday March 26 2014, @07:00PM (#21661)

        This could be a very worthwhile community project: gather some volunteers who don't expect ever to write similar code, but who can understand what they're reading. They should produce header files that document all private and public methods in the code, with short comments that explain the input and output of each. There's an achievable, measurable goal (produce header files documenting all methods), and assigning multiple people to do the same files or check each other's work can provide verification of results.

        From those header files, the DOSBox and ReactOS and other project teams can work to produce conforming code that implements (and extends?) those functions.

        This seriously needs to happen in an organized, responsible way. If I were running publicity for MS, I'd set up the project management for this just to win some hearts-and-minds; they have the PM resources and experience to make this happen.

      • (Score: 0) by Anonymous Coward on Wednesday March 26 2014, @11:43PM

        by Anonymous Coward on Wednesday March 26 2014, @11:43PM (#21829)

        [description of a Chinese wall]

        Pffff. There's already a gratis and libre alternative that's better.
        http://www.freedos.org/ [freedos.org]
        Supports FAT32 and USB.

        -- gewg_

    • (Score: 3) by Lagg on Wednesday March 26 2014, @03:21PM

      by Lagg (105) on Wednesday March 26 2014, @03:21PM (#21549) Homepage Journal
      Ever hear of a clean room implementation?
      --
      http://lagg.me [lagg.me] 🗿
    • (Score: 2) by Reziac on Thursday March 27 2014, @02:18AM

      by Reziac (2489) on Thursday March 27 2014, @02:18AM (#21873) Homepage

      For those not aware, the MSDOS5 source was leaked a long time ago.

      --
      And there is no Alkibiades to come back and save us from ourselves.
  • (Score: 5, Interesting) by ls671 on Wednesday March 26 2014, @07:57AM

    by ls671 (891) on Wednesday March 26 2014, @07:57AM (#21390) Homepage

    MS-DOS and IBM-DOS were really easy to reverse engineer with a debugger. I had a lot of fun hacking it back then along with developing my own TSR programs. Peter Norton books were insightful.

    So, I would say, what in this makes available something that wasn't already reverse-engineered and widely available?

    Source code? Back then, most of it was written in pure assembly language making it easier to reverse-engineer and thus reproduce the source code if you wanted to.

    https://en.wikipedia.org/wiki/Peter_Norton [wikipedia.org]

    --
    Everything I write is lies, including this sentence.
    • (Score: 3, Informative) by Reziac on Thursday March 27 2014, @02:25AM

      by Reziac (2489) on Thursday March 27 2014, @02:25AM (#21875) Homepage

      As I mention above, the MSDOS5 source was leaked years ago. And yeah, it was mostly ASM. Its comments included some entertaining, ah, personnel evaluations regarding IBM's programmers. :)

      People like to bitch and moan about it, but MSDOS5/6/7 itself was utterly stable. If you ran shit software (which was abundant then as now), well, yeah, that could crash DOS. But my DOS setup, which worked its little digital ass off, typically ran a couple years between reboots. My DOS7 game box still does.

      --
      And there is no Alkibiades to come back and save us from ourselves.
  • (Score: 3, Informative) by Anonymous Coward on Wednesday March 26 2014, @08:24AM

    by Anonymous Coward on Wednesday March 26 2014, @08:24AM (#21395)

    That's all that matters... and of course following the best /. tradition goes unmentioned.

    • (Score: 5, Informative) by omoc on Wednesday March 26 2014, @08:50AM

      by omoc (39) on Wednesday March 26 2014, @08:50AM (#21400)

      I was just about to write the same thing. Source is released but not *free*, the website states in the license agreement:

      "You may not distribute or publish the software or Derivative Works."

      • (Score: 2) by duvel on Wednesday March 26 2014, @09:39AM

        by duvel (1496) on Wednesday March 26 2014, @09:39AM (#21410)

        Considering that the code MS is releasing is very old and that they're not even releasing it under GPL (or similar), this is a typical 'too little, too late' story. The main reason for this move by MS may well be to look better (but only to the uninformed).

        --
        This Sig is under surveilance by the NSA
    • (Score: 5, Informative) by Marneus68 on Wednesday March 26 2014, @10:30AM

      by Marneus68 (3572) on Wednesday March 26 2014, @10:30AM (#21424) Homepage
      • (Score: 3, Insightful) by Reziac on Thursday March 27 2014, @02:34AM

        by Reziac (2489) on Thursday March 27 2014, @02:34AM (#21877) Homepage

        The relevant part:
        =======
        You may use, copy, compile, and create Derivative Works of the software, and run the software and Derivative Works on simulators or hardware solely for non-commercial research, experimentation, and educational purposes. Examples of non-commercial uses are teaching, academic research, public demonstrations, and personal experimentation.
        =======
        Basically, do whatever the hell you want with it for personal, research, or educational use; just don't use it for commercial purposes.

        Microsoft's ability to release source unencumbered to the public may be under constraints due to contracts we don't know about (they have released source to various partners in the past). It is =doubtless= under constraints applied by their legal counsel. It may have been under nondisclosure agreements (notably with IBM) that have finally expired for this very old code.

        They don't have to do this. Yeah, it's real little real late. But it's a start. If it buys them a little goodwill, they may do it again, and eventually they may consider more liberal licensing. But bitching about how bad it is that they did this halfassed and 20 years too late isn't going to encourage their goodwill toward *us* in the future.

        So I say -- hey, thanks, Microsoft, and please do it again when you get the chance.

        --
        And there is no Alkibiades to come back and save us from ourselves.
  • (Score: 5, Informative) by RobotMonster on Wednesday March 26 2014, @11:23AM

    by RobotMonster (130) on Wednesday March 26 2014, @11:23AM (#21436) Journal

    said employee considers 300kb to be small for source code. Seems rather large to me, even now.

    300KB isn't large for source code, especially if it has been well documented. For example, the source for zlib is ~550KB, libpng is ~900KB.

    I've come across individual files that are larger than that (though personally I would not generally make a (non-generated) source file that large).

    300KB certainly was large back when I was using a Vic-20 with 4KB of RAM, but now? come on!

    • (Score: 2) by Lagg on Wednesday March 26 2014, @06:53PM

      by Lagg (105) on Wednesday March 26 2014, @06:53PM (#21656) Homepage Journal
      zlib and libpng both have multiple projects trying to make them tiny because of that largeness. They're not exactly the best counter-examples. People don't pride themselves on writing clean and simple code enough these days.
      --
      http://lagg.me [lagg.me] 🗿
      • (Score: 3, Insightful) by RobotMonster on Wednesday March 26 2014, @07:59PM

        by RobotMonster (130) on Wednesday March 26 2014, @07:59PM (#21717) Journal

        zlib and libpng both have multiple projects trying to make them tiny because of that largeness. They're not exactly the best counter-examples.

        I agree; they happened to be the first examples of well-known code-bases I came across when looking up sizes. The application I'm currently working on for my day job has around 10MB source for the 'main application.' If you add in all the libraries you're looking at another 100MB or so. Some of the libraries are 10MB on their own, others are 200KB. There's certainly a lot of bloat in some areas, but there is a lot of functionality represented here. A lot of 'business rules,' a bunch of specialised algorithms, importers & exporters for a lot of different industry file formats, it all adds up!

        On the other end of the scale, the source for one of my iPhone board games is about 200KB for the core game and AI, and 300KB for the GUI.

        People don't pride themselves on writing clean and simple code enough these days.

        Indeed they don't. It makes me sad. A lot of the code people are exposed to encourages bad habits, instead of leading by good example; see STL & MFC, or even the zlib interface. Ugh.

        I think one of the problems is the use of the word "code." You shouldn't need to spend much effort 'decoding' well written source. Take STL's std::numeric_limits::min() as an example -- it returns a number greater than zero; hardly the 'min' limit for a float, so any use of this method requires 'decoding' -- you can't just take the implications of the words used, as they're just plain wrong. Boo, hiss.

        Smaller isn't always simpler, either. I try to write my code to make it simple, unambiguously correct and efficient, in that order. I won't apply cryptic tricks to reduce the size of the source -- keeping it simple, obvious and maintainable is much more important than achieving something in the fewest possible characters.

        I'm much more likely to use a VeryLongClassNameLikeThis instead of MyClass36, even though the latter would make the source a lot smaller. With modern editors you very rarely need to type the whole thing anyway, so there's no need to use short cryptic identifiers.

        • (Score: 3, Interesting) by Reziac on Thursday March 27 2014, @03:02AM

          by Reziac (2489) on Thursday March 27 2014, @03:02AM (#21888) Homepage

          I cheer your philosophy, and wish there was more of it. I've often said that programmers should be constrained to work on the slowest system their program will run on at ALL, so they can feel the pain they inflict on others, rather than doing this "junk fills the space allotted" thing that seems to be the norm nowadays. Where's their pride in making stuff compact and efficient??

          I'm not a programmer, but I take an interest. I have Pascal source (given me by the coder) for an old program I use a lot, and even tho there's not a single comment in it, I can pretty much follow what most of it does, because it makes sense in context. Part of this is due to logical names for everything.

          BTW, I can't find a copy of it now, but the source for Vern Buerg's LIST v6.0 was released as public domain.

          --
          And there is no Alkibiades to come back and save us from ourselves.
  • (Score: 1, Funny) by Anonymous Coward on Wednesday March 26 2014, @01:26PM

    by Anonymous Coward on Wednesday March 26 2014, @01:26PM (#21478)

    (slashcode doesn't like all-caps?)
    ; bdos.asm - io functions
    ; (C) 1978 by Gary Kildall^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^ H^H^HMicrosoft Corp

    MOV A,C ...

    (slashcode doesn't like all-caps?)

  • (Score: 2) by tniemi on Wednesday March 26 2014, @02:21PM

    by tniemi (1639) on Wednesday March 26 2014, @02:21PM (#21509)

    The early Word versions were a laughing stock of the word processing world.

    For those that want to refresh their memories I recommend the "Almost Perfect" by W. E. Peterson (ex- Wordperfect's executive vice president).

    You can buy the Kindle version for a few bucks:
    http://www.amazon.com/Almost-Perfect-W-E-Pete-Pete rson-ebook/dp/B003XKNWUE [amazon.com]

    Or read the freely available one at:
    http://www.wordplace.com/ap/ [wordplace.com]

    The story is both hilarious and tragic.

    • (Score: 2) by wjwlsn on Wednesday March 26 2014, @05:45PM

      by wjwlsn (171) on Wednesday March 26 2014, @05:45PM (#21617) Homepage Journal

      I never used any DOS versions of Word, but I knew Word Perfect fairly well. I hated it, both as a user and as someone that supported users (university computer lab assistant). The *only* thing I liked about Word Perfect was that it gave me an excuse to meet girls in the computer lab... "Oh, having trouble with those formatting codes? I can help, but my shift's almost over and the next guy is an idiot. How about we meet here after lunch? Or... tell you what, come to lunch with me..."

      Oh. Yeah, it's 2014 and I'm married now. Anyway, I loved Word Perfect.

      --
      I am a traveler of both time and space. Duh.
    • (Score: 2) by Reziac on Thursday March 27 2014, @02:52AM

      by Reziac (2489) on Thursday March 27 2014, @02:52AM (#21884) Homepage

      I collect WordPerfect stuff, and have a hardcopy of the book. The tale kinda makes a WP user want to whup WPCorp's management upside their collective head. :(

      WordDOS was decent enough as of v5.5, and quite nice as of v6. It wasn't in WPDOS's league (nothing was), but WordDOS was sure as hell less irritating than WordScar and MultiMate.

      WPWin has been both very good, and very frustrating because of when it's NOT good. WinWord has been more consistent, but to a WP user, it's always frustrating. :/

      --
      And there is no Alkibiades to come back and save us from ourselves.
  • (Score: 1, Funny) by Anonymous Coward on Wednesday March 26 2014, @03:28PM

    by Anonymous Coward on Wednesday March 26 2014, @03:28PM (#21554)

    Because in a few years you can only find it in a museum.

  • (Score: 2, Interesting) by hamsterdan on Wednesday March 26 2014, @04:25PM

    by hamsterdan (2829) on Wednesday March 26 2014, @04:25PM (#21582)

    Brings back memories from college coding on a 6809 dev board (or 6502 on Apple ][ and C64)...