This tidbit from the DOS 2.0 README.txt (section 5) is fascinating:
The user manual contains some significant errors. Most of these are
due to last minute changes to achieve a greater degree of compatibility
with IBM's implementation of MS-DOS (PC DOS). This includes the use
of "\" instead of "/" as the path separator, and "/" instead of "-"
as the switch character. For transporting of batch files across
machines, Microsoft encourages the use of "\" and "/" respectively
in the U.S. market. (See DOSPATCH.TXT for how you can overide this.
The user guide explains how the end-user can override this in CONFIG.SYS).
Also this, from the documentation for the CharOper system call (that never made it outside of MSFT?) in SYSCALL.txt:
AL Function
-- --------
0 DL, on return, will contain the DOS switch
character. On most systems this will default to
'-'.
1 Set the switch character to the character in DL.
2 Read the device availability byte into DL. If
this byte is 0, then devices must be accessed in
file I/O calls by /dev/device. If this byte is
non-zero, then the devices are available at every
node of the directory tree (i.e. CON is the
console device not the file CON). This byte is
generally 0.
3 Set the device availability byte to the value in
DL.
It looks like we have IBM to blame for '\' and '/' as a path separator/switch character in DOS/Windows, Microsoft originally was using the Xenix '/' and '-' respectively. I knew that Microsoft used Xenix fairly heavily internally but never thought that DOS was quite so influenced by it.
Not just CON but also con.txt, con.js, etc.! Try cloning a git repository with a file called con.js using msysgit. The result is that, when msysgit tries to clone the file, the contents of the file `con.js` are printed to stdout, i.e. to CON.
It's interesting to see the real specification for this system call, as only the device availability subfunctions were widely known outside of Microsoft [1].
I wonder if many other hidden or deprecated functions are present in these releases.
At the time I seem to recall this was documented as being the SWITCHAR in config.sys certainly by MSDOS3.x this was well known and I seem to recall trying it out on MSDOS 2.x on a commodore pc clone (in Sweden) this would have been around 1985ish
No one wants to get sued for these things, or being found to violate some end user license agreement with some other Microsoft software.
On the other hand, I'd love to find out that people viewing this code contribute an improvement that no one in Microsoft saw in decades that helps them improve something today, leading them to soften their stance on Free Software and copyright.
> Under what license? Can we view, modify, redistribute?
Just speaking for myself, I come down pretty firmly in the "Don't know, don't care" camp for both questions.
In a world where FreeDOS exists, there just isn't any practical value to having the source code to MS-DOS 2.0 available under a truly open license. That code's only interesting as a historical exhibit. If all we can do is look at it and go, "Huh, so that's how that worked", that's fine with me.
Is this a real judicial concern or just a philosophical question? I read code on a daily basis with all kinds of different licenses and I also contribute to open and closed source on a daily. Should I go make an appointment with my lawyer tomorrow?
Some companies have license agreements that forbid reverse engineering their software if you have used it / worked on it. It may be even worse if you have actually looked at the source code of the closed source alternatives.
INAL, But if you are contributing to projects on tangential areas you should be OK.
Utility patents only last 20 years. MS-DOS 2.0 was published in 1983, which is 31 years ago. So, while it's copyrighted and you can't redistribute the code or the compiled binary, you can go to town with the algorithms, should you want to.
As a bonus, the availability of this code might make prior art challenges to extant patents much easier.
Oldest patent I see that looks like it could be for MS-DOS is #4,779,187, "Method and operating system for executing programs in a multi-mode microprocessor", which was issued in October 1988. That wouldn't apply to DOS 2.0, of course.
The bigger concern would be copyright. That might be a fairly plausible argument for why FreeDOS developers shouldn't be reading this source. Though realistically the odds that Microsoft would actually pursue such a case are remote at best.
The chance that you are going to get MSDOS expressive structures in FreeDOS in a way that is even arguably beyond deminimis is nil. You don't usually just move code between implementations easily, and chances are pretty good that the FreeDOS folks use fairly different approaches than the MSDOS folks. The argument is that if you read the code you might be tainted, but I don't see this as a significant argument here for software that's 30 years old.
Issue date is not the only relevant date - patents get extensions and expand in scope. I would imagine the FAT patent that Microsoft uses to get some revenue from every SD card sold comes from the dawn of personal computing.
Yeah, but usually you cannot get extensions THAT easily, and extensions are limited in time. I don't think you can expect extensions to last too long either (at most you can add a couple of years of exclusivity).
> The Patents and Trademark Office, which began issuing software patents only a decade ago, has been accused of having inadequate expertise in software to judge what is truly novel.
I think they could solve all their problems by just hiring a handful of geeks and OSS enthusiast's like myself to lay down some ban hammers.
While thinking about it a little more deeply let's give them the benefit of doubt for five minutes and assume they did hire a bunch of geeks to do this. Is there any possibility the problem simply can't be solved easily? What seems complex and patentable today may in fact seem completely obvious and novel in ten years when it actually shows up in court or even just 5 years from now once it finally gets reviewed and accepted.
In searching for prior art, is it actually possible to go back in time on the wayback machine and check for these types of obvious issues with the claim?
Something to think about anyway. Disclosure: kiwi here. We did some form of reform already, havtn t noticed anything adverse thus far.
Would be interested to hear if anyone has come across problems yet.
It doesn't really matter. MS has plenty of new patents they could use to tie you up in the court system for years. Fighting that would probably bankrupt you.
Alright, so reading it closely, it's kind of like the GPL in that any derivative work is licensed under the same license, but unlike the GPL, Microsoft get full rights to any modifications you make and any comments you make, including if you send them mail marked "confidential", plus you cannot sue anybody using this software for patent infringement if you discovered it via reading the source code.
Basically, if you touch this with a ten-foot-pole, the pole now belongs to Microsoft, along with your arm and anybody standing too close to you. You also lose the right to use your arm to sell things.
So, answering the question opened in another thread, if FreeDOS developers read the code, they risk making Microsoft the owner of their future contributions.
> You may not use or distribute this Software or any derivative works in any form for commercial purposes.
Examples of commercial purposes would be running business operations, licensing, leasing, or selling the Software,
distributing the Software for use with commercial products, using the Software in the creation
or use of commercial products or any other activity which purpose is to procure a commercial gain to you or others.
If you're in academia and getting a stipend and you look at it as part of your research, Microsoft could argue that that is a commercial gain to you. If FreeDOS has ever been used to make a commercial product (this is very different from the GPL which explicitly delineates derivative works from works produced by the software!), then its developers risk breaking the terms of the license agreement if they taint their thought processes with Microsoft's code. So yes, I'd probably say you're right.
> So, answering the question opened in another thread, if FreeDOS developers read the code, they risk making Microsoft the owner of their future contributions.
This is a really serious issue, because we can be reasonably certain that Microsoft wants to release a new version of DOS in the reasonably near future and so this is a sinister plot to get a nonexclusive license to FreeDOS so they can charge licensing fees. Quite ingenious.....
I would think Microsoft takes the FAT module of the Linux kernel very seriously. The way to store long file names as multiple directory entries is one of the patents Microsoft uses as its main mobile revenue driver (they get more money out of Android licenses than they get from Windows Phone sales).
It's actually very different. I don't know why they are called the same, but yours allow distribution
You may use, copy, reproduce, and distribute this Software for any non-commercial purpose
you may create derivative works of such portions of the Software and distribute the modified Software for non-commercial purposes
While the one used here explicitly deny it:
You may not distribute or publish the software or Derivative Works.
Microsoft Research does some really cool stuff. Do they really work for the same company as the people who make Windows and Office? I can't imagine two more diametrically different organizations.
I think it is hard to top what AT&T did with Bell Labs. They had a government mandated monopoly with tons of money to fund basic scientific research and ended up with a few Nobel prizes in the process. I think the more apt organization for the OP however would be Xerox PARC.
are you privy to research in either of the organizations. I know its great to revere age old organizations but as we are speaking the best research is probably being conducted in a place we least expect. I am not privy to research at Ma Bell or only the published elements of Microsoft Research - so your reaction is more of an instinct than any factual basis.
Bell Lab's results are widely known. I'll just point to two: C and the Transistor, as being pretty hard to beat (there's much more).
In any case, the parent commenters point wasn't the difference in the two research lab's results, but the difference in philosophies between the labs and their respective parent companies.
Another notable one is the original discovery of the cosmic microwave background, the primordial echo of the Big Bang, which is still being investigated today. That was a 1974 Nobel Prize.
My broad point was comparing an age old institution with Young one is not fair and more or less 100 years from now, who knows where things would be are.
Its not comparing apples to apples but again, if dissing MSR for not being Bell Labs - great then.
My point it is there can never be a Bell Labs again. Very few organizations have the resources to fund basic sciences and have all the talent they had under one roof.
It's sometimes hard to believe, but our current laws seems to allow that you can be forbidden from modifying a piece of software even for your own personal use.
Um, no. You have to publish or perform it publicly to be infringing. If you sign it at home, or record yourself singing it at home, or record a copy of the original at home, you're still not infringing as long as you don't attempt to distribute it.
Unless your shower is located on a stage and you charge admission for people to listen to you sing in the shower, but I'm pretty sure that's not what you meant.
I think where it would come into legal question is a situation more like "modifying our software, running the modified version on a server, and making a profit from the service that server provides." In other words, modifying for commercial use.
Since when do you need a license to modify something for your own personal use? If they've given me access to the source, I can just start editing to my heart's content...
There are SueprMarioBros. edits where they only distribute the patching file and the patcher program... just not the original ROM itself. They leave that for you to find somewhere...
If it were to avoid a patent infringement then it could still be considered contributory infringement - ie you [knowingly] provided the necessary parts, methods, information that enables someone else to perform the infringement.
That's not going to be the case here as the code is too old to be patent encumbered.
Things are certainly moving towards there being a wide definition of contributory copyright infringement, eg cases against torrent file sites that don't store copyright works. It would be pretty asinine and regressive to punish someone for publishing instruction on a copyright work could be modified, IMO, but the law isn't known for always making sense.
If you paid for a license to something and they provide the source with purchase, but don't want the source shared or modifications to it shared either.
In reality, if redistribution of source is forbidden, restricting unreleased modifications of source is hard to enforce.
If you create Derivative Works, you grant to Microsoft a non-exclusive, perpetual, irrevocable, royalty-free, assignable, sublicenseable license to reproduce, distribute, publicly display, modify, use, make, have made, import, and sell such Derivative Works.
Not only are you not allowed to distribute it by the license, actually distributing it would get you sued for patent violation. Using anything you find in the code will probably get you sued for patent violation, too.
EDIT: I can just imagine a future lawsuit:
A: Did you read the MS-DOS source code released by Microsoft on XX? We have logs to show you downloaded it.
B: Yes, but that has nothing to do with this lawsuit!
A: Incorrect. The MS-DOS source code you viewed is under Patent ZZ. We believe you used the IP found in the MS-DOS source code to build your flying car.
Right, any patents from 1983 and 1991 have expired. Besides which, I don't think Microsoft had any patents in 1983.
P.S. Google Patents is useless for answering this question. "Referenced by" is included in the search, so any patent from 1983 that is ever referenced by a Microsoft patent (from any year) shows up in the results.
The USPTO has a patent search for the US Patent and Trademark Office at http://patft.uspto.gov/.
As for MSFT not having any patents in 1983, this is largely the result of the policy of not patenting "abstract ideas" that was argued in the courts at the time. The United States Court of Customs and Patent Appeals and the PTO were in opposing positions regarding the patentability of inventions that were essentially algorithmic.
The key log that stopped discouraging patent applications for software was Diamond v. Diehr in 1981, which involved applying a mathematical formula to a database of information for operating rubber curing machines under computer control.[1]
The United States Court of Appeals for the Federal Circuit has largely followed this method since this decision. Between the early 70s[2] and Diehr, SCOTUS settled disputes when Customs and Patent Appeals attempted to overrule the PTO and its Board of Patent Appeals and Interferences/Patent Trial and Appeal Board.
I did an advanced search at USPTO for "AN/microsoft and ISD/19750101->19890101" (patents assigned to Microsoft and issued between 1975 and 1989). All it found were:
4,779,187 - Method and operating system for executing programs in a multi-mode microprocessor (filed April 10, 1985, issued October 18, 1988)
4,588,074 - Holder for storing and supporting articles (filed March 21, 1985, issued May 13, 1986)
Yes, if I understand it correctly, Microsoft's first patent was "relates to article holders, and more particularly to a dual purpose holder for both storing, and supporting in open position, books, magazines, pamphlets, and similar items."
I can't figure out why 5,848,246 (Sun Microsystems, Inc.: Object-oriented system, method and article of manufacture for a client-server session manager in an interprise [sic] computing framework system) references this patent.
> 4,588,074 - Holder for storing and supporting articles ... Yes, if I understand it correctly, Microsoft's first patent
At one point, Microsoft Press was a big player in the publishing market. For example, Peter Norton's book on the IBM PC was published by Microsoft Press.
I imagine they needed a way to store multi-volume sets together.
I finally found the link to Advanced Search. It's off the Settings menu. I could swear it used to be right there next to the Search button ...
I guess I've just been using memorized operators on Google, and haven't actually looked for the Advanced Search link in quite a while.
It's like what Microsoft does with configuration dialogs. They design a new UI, but it doesn't do 100% of the what old UI did. So they keep the old UI, and shove it one level down. Then in another few years, they'll design yet another new UI, and I'll have to click two levels down ...
Yes any patents would have expired, although the copyright still has upwards of 100 years left.
I don't think reading some source code will put anyone at risk of frivolous lawsuits (unless they actually do infringe, in which case it would be a grain of supporting evidence).
Indeed. Judges do not rule on guilt in civil procedure. They rule on responsibility and damage. Damaging MS by looking at this very old source code and MS proving damage is not very likely.
MS-DOS is maybe the ugliest operating system I ever had the displeasure of using.
There's very little to learn from operating system design point of view in there, and better sources are available under more permissive licenses -- ie open source licenses.
Hey look it's an unnecessary negative comment on HN!
It's not a PR stunt, it's a part of computing history (whether you like it or not). I spent a lot of time hacking around the internals of DOS and I think this might be a fascinating read. I remember pouring over Ralf Brown's Interrupt List and stepping through various DOS memory structures trying to create some impossible app. Good times.
True. Except if you are someone like DOSBox or FreeDOS and want to know how/why some quirk happens in MS-DOS that makes some program go, but not in your code, now you can figure out what's up.
In reality, getting the Windows source released so that the Wine team can do this would be much more useful. From what I understand Windows has a lot more undocumented but widely used API's that Wine tries to emulate by trial and error. Instead of having a complete emulation they break it down by which programs it can and cannot run because of these hidden API's.
This is definitely a publicity stunt, no question about it. It still provides some very minimal value and perhaps this is MS dipping their toes into the OSS water when it comes to old commercial products.
They are not meant to teach OS/software design. Instead they are meant to teach (personal) computing history.
What you are saying is like saying that putting Ford Model T blueprints to museum is useless because we have far better sources today to study car mechanics from.
It served it's purpose for it's time. When I had an 8088 computer, MS-DOS was great enough for me, it was simple, fun to understand and work with. Like any OS it had it's quirks, but it got out of the way. Yes, minix ran on 286, so MS could have/should have, but that was then. Don't judge them too harsh.
Given Satya Nadella's CEOship, and the sort of guy he is, I'm fully ready to believe that this is the start of a wider code release. It'd make a bit of sense that they have to work through the licensing to release MS-DOS before they release the source to any products that use MS-DOS at the core of them--like, say, Windows 95.
I mean, Adobe also released the source code for an old version of Photoshop. So old that it didn't even have layers. It didn't signal anything about the release of source code for say, Flash Player.
And look at which version of Word they released -- 1.1. Not even 2.0, because 2.0 was the version where it became mainstream.
Microsoft has already released a lot of source code that's a lot more useful than DOS and WinWord. For example, the .NET Framework Reference Source.
> There's very little to learn from operating system design point of view in there
Actually there is quite a bit already for a single person to digest, if you want to understand the real details of how everything works. I learned about the DOS family by reading this book:
UnixV6 and the Lions' book come close, but Unix is still far more complex than DOS because of its multitasking, multiuser heritage. Early Unices may be within the realm of an average student to grasp, but things like the BSD and Linux kernels are orders of magnitude bigger and more complex, which means that it's nearly impossible to get down to the details when studying them and the best thing one can hope for is a high-level overview of the various subsystems and how they interact. DOS is simple enough that a single person can study the whole OS at the level of individual instructions (and write an OS similar to it).
> There's very little to learn from operating system design point of view in there ...
I understand your point, but in one important sense, this release has value. Someday, a scholar is going to write the history of drive letters and their perverse effect on all of computing -- up to the present day, where they're buried under a thin patina of respectability in the newest versions of Windows.
Under Windows, including the most recent versions, you can get repeatable results for procedures that involve peripherals only if you disconnect them all, then reconnect them in the same order each and every time. Why? Drive letters.
This might be excusable on historical grounds, except that, when MS-DOS was first written, there was already an OS without drive letters -- Unix.
> Under Windows, including the most recent versions, you can get repeatable results for procedures that involve peripherals only if you disconnect them all, then reconnect them in the same order each and every time. Why? Drive letters.
So don't use drive letters.
Mount each volume in its own separate NTFS folder. Now you'll get repeatable results no matter what order you plug them in.
As someone very unfamiliar with Windows administration anymore, how would you do this without invoking 3rd party tools?
Found MS's description [1]. However, that's not useable by most office workers, and the steps are likely beyond the average home user. So it's really just a feature for power users and IT departments.
Eh, I use Linux and OS X at home. I only use Windows at work so it doesn't bother me (but I do get annoyed a bit when drives don't get mounted to the same letter, even when it's the next available one). That said, it would have saved me a lot of heartache a few years back dealing with some testing tools that liked to hardcode paths and threw a fit when things didn't line up correctly.
Err MSDOS was a rough CP/M clone and CP/M did have drive letters. CP/M picked up some stuff from RSX-11 (pip for example http://en.wikipedia.org/wiki/Peripheral_Interchange_Program) and that's why the Windows/MSDOS command option is usually / as it was on a pdp-11 (backwards compatibility to BEFORE unix)
'Operating system' is stretching it. 'Disk Operating System' is one of those phrases like 'ice creme' that implies 'ice cream'.
MS-DOS was a program that wrote stuff to disk for you, read the keyboard for you, listened to interrupts for things and showed useful error messages such as 'Retry, Fail or Abort?'.
There was no networking to speak of, certainly not TCP/IP as we know it, no user permission things, you couldn't run cron jobs and the list goes on. All of this normal stuff that an Operating System does was well established on UNIX boxes, VAXes and, to a certain extent, on the BBC Micro.
An OS doesn't need to have networking, permissions, or anything else. It just needs to provide a common set of services for applications programs to use.
Consider that OSs started out as libraries of functions that programs could call into, which then evolved into job managers, that is where MS-DOS fits.
It's single-tasking, single-address-space, but it already has the concept of processes, drivers, files. This is still more than some embedded OSs which are not much more than a threading library.
Really though, wasn't most of DOS just thin abstractions on BIOS interfaces? What hardware abstractions did it provide other than the filesystem, and what services other than an ABI allowing you to quit a program without rebooting?
Given that it was a disk operating system it's no surprise that the bulk of the services are disk/filesystem-related, but it also has ones for I/O, memory, timing, and processes.
> 'Operating system' is stretching it. 'Disk Operating System' is one of those phrases like 'ice creme' that implies 'ice cream'.
And if I want to run a TOS (Tape Operating System), how should I call it? The naming is correct and comes from IBM mainframe operating systems from the 60's.
> All of this normal stuff that an Operating System does was well established ... to a certain extent, on the BBC Micro.
The BBC micro's operating system had no networking to speak of, certainly not TCP/IP as we know it, no user permission things (indeed, no concept of users at all), and no cron jobs (indeed, no OS scheduling of tasks at all). In other words, not one of the things you specifically called out as "normal stuff that an Operating System does".
(There was a networking system, called Econet, but it wasn't part of the base OS; you needed an extra ROM -- physically plugged into the circuit board, those were the days -- that implemented it.)
For the avoidance of doubt: I loved the Acorn MOS and hated MS-DOS. But it simply isn't true that the BBC Micro had those features and MS-DOS didn't. And, for what it's worth, I see nothing wrong with calling either of them an operating system.
Too bad newer developers can’t fathom what a game changer MSDOS was back in the day.
I downloaded and dorked around with the code out of respect for what it did to PC’s 30 years ago. It’s interesting, I thought the codebase would be much larger than it is.
; /* Following comment is preserved verbatim for eternity */
; /* Rounding becomes a non-existant issue due to brilliant re-thinking */
; /* "What a piece of work is man
; How noble in reason
; In form and movement,
; how abject and admirable..."
; Bill "Shake" Spear [describing Sand Word] */
Most if not all of what MS-DOS did has been re-created under FreeDOS. [1] Writing an equivalent to Word 1.1 is also pretty straight forward. So I'm not sure what the fuss is about with regards to licenses, it is a historical artifact, and fun to look at, but kind of useless as a code base to start from.
$ grep -ri fuck .
./Opus/asm/wordgrep.asm:; BP is used as always, the other registers are free to fuck with.
./Opus/asm/wordgrep.asm: je another_fucking_out_of_range_jump
./Opus/asm/wordgrep.asm:another_fucking_out_of_range_jump:
May I ask how common is this uncouth behaviour? I do remember this [0] being posted a few months ago, apparently "penguin" is an expletive (what the fuck?).
just in case someone from MS is reading -- is it also possible to put this code under the public domain or at least under a free license? I'm very worried about the fact that some of this old code, though useless to MS at this moment, will be lost for follow-on use by folks today.
This is a cool historical artifact, and I'm glad MS released it.
I don't think there's much to gain in releasing it under a broader license - I would imagine that most programs that would need to expand or otherwise build upon this code would be better served by using one of the modern clones, such as http://en.wikipedia.org/wiki/FreeDOS
They have a modern toolchain, are actively in development, and seem like they would be much easier to add features to, if one found themselves with such a need.
but, but -- you're assuming that what I want to do is build on DOS to do what DOS did but better. What if I wanted to visualize the code in some interesting way? What if I wanted to compare the first versions of Linux and DOS and compare them for their modularity and do a research project on how they affected productivity in firms? And these are only the use cases that I could think of while finishing my cup of tea ...
Fair enough, those sound like awesome projects.
The difference between the MS license and most OSS licenses is that this does not include redistribution.
I'm a proponent of OSS, and if MS wanted to release this under MIT that'd be great.. But I have a hard time thinking of projects that are stopped by the current license.
My guess is that creating a visualization would be a rather transformative use of the work - Redistributing your resulting visualization would likely be firmly in fair use territory.
Comparing the code for modularity is writing an essay. You don't need a redistribution license for the code to do that.
In any event, I hope they do eventually release using an open license. But as a fan of the history of our industry, I'm glad they released it at all.
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. “Derivative Works” means modifications to the software, in source code or object code form, made by you pursuant to this agreement.
You may copy and refer to any documentation provided as part of the software.
You may not distribute or publish the software or Derivative Works.
You may not use or test the software to provide a commercial service unless Microsoft permits you to do so under another agreement.
You may publish and present papers or articles on the results of your research, and while distribution of all or substantial portions of the software is not permitted, you may include in any such publication or presentation an excerpt of up to fifty (50) lines of code for illustration purposes.
I won't disagree, but I realized that even before I got a computer, Haskell was officially born. It baffles me that this very advanced gem was already there, yet so few knew.
There was obviously scope for personality in the commenting...
arena_free_next:
CMP BYTE PTR DS:[DI],arena_signature_end
; end of road, Jack?
retz ; never come back no more
CALL arena_next ; next item in ES/AX carry set if tras
And a nice reminder of the other big players of the day:
But it will nevertheless be under copyright until long after we're all dead, so if you read it Microsoft could presumably still decide to sue you for copyright infringement if that ever happens to seem advantageous for them. I think that's what the parent comment was asking about.
> But it will nevertheless be under copyright until long after we're all dead, so if you read it Microsoft could presumably still decide to sue you for copyright infringement if that ever happens to seem advantageous for them.
You'd have to actually, you know, infringe their copyrights.
It's hard to know if you're one of the many who are confused about copyright, patent, and trademark but just reading the code doesn't put you on the hook for anything.
Couldn't they pick any piece of code you write that happens to looks similar to some piece of code in MS-DOS and argue that it is in fact derived from their code, if it's known that you previously read the MS-DOS code?
Sort of like the "rangeCheck" portion of the Google v. Oracle case.
With patents it doesn't matter whether you read their code or not: you're screwed in any case. But with copyright the history of the code matters, so it could matter if you have seen their code before writings yours, I think.
> Couldn't they pick any piece of code you write that happens to looks similar to some piece of code in MS-DOS and argue that it is in fact derived from their code, if it's known that you previously read the MS-DOS code?
You write a lot of MASM code, such that this is actually a risk for you?
Maybe it's possible? I'm not a lawyer but I think at some point early in the process, in order to move forward, they'd have to convince a judge that they'd suffered damages as a result of your use of a few lines of their ancient MASM code. I assume that's where the whole thing would be met with laughter unless, of course, you've got some truly cunning thing you're going to do with DOS assembly code and make a million.
All that is before anyone needs to even consider whether the code you borrowed is trivial in nature such that it's protectable or not protectable via copyright.
One of the lessons of the Google v. Oracle case: Oracle didn't actually win anything in damages.
> With patents it doesn't matter whether you read their code or not: you're screwed in any case.
Okay, forget the rest and focus on this: you need to familiarize yourself with the concepts of willful infringement and treble damages. Unlike the rest of the stuff we're talking about, it actually matters and is not pure paranoia.
If you violate a patent - and realistically, all of us who write any software are violating someone's patent - you'd better hope you can convince a court that you did not do so knowingly. How do you do this? Make an effort not to read any patents, ever. Plausible deniability.
Whether the code you've read is patented or not is actually trivia. Whether you knew it was covered by a specific patent is important.
>> With patents it doesn't matter whether you read their code or not: you're screwed in any case.
> Okay, forget the rest and focus on this: you need to familiarize yourself with the concepts of willful infringement and treble damages.
> [...]
> Whether the code you've read is patented or not is actually trivia. Whether you knew it was covered by a specific patent is important.
So we're in agreement then? :) Yes, good point about knowingly infringing a patent, but, as I said (or meant to say), reading or not reading the source code has no effect on the patent situation. (But I'm not a lawyer either, so what do I know.)
Third bullet point in the license you presumably agreed to before downloading the source code:
- You may not distribute or publish the software or Derivative Works.
I'm not saying it's a good license, but if you do not agree with or at least intend to follow it then perhaps you should have not downloaded it to begin with.
What is funny is that MS-DOS 6.0 source code had already been leaked. Granting permission to IBM to make OS/2 source code available would be nice too BTW.
Maybe someone will produce a version of Word for Windows 1.1a that runs on a modern OS, and I'll be able to open and edit documents that have been impossible to open in later versions of Word (of course Word for Windows 2.0 would open the document, convert it to its new format in place, and then crash, so I'd need to find un-borked versions of the documents first).
If I recall correctly, Word for Windows 2 had autosave on by default, and would corrupt Word for Windows files with embedded drawings so that they became impossible to edit. (Experienced with several files at the time.)
Regardless of the license, I definitely like the direction Microsoft seems to be going in. First they make Microsoft office online free to the public, there's talk about windows mobile one day being free, and now this. All within a rather short amount of time. I don't see myself switching from GNU/Linux any time soon however, but I hope Microsoft will soon realize the potential of Open Source. One company I really appreciate is Adobe, they put a surprising amount of effort into Open Source, and also released Photoshop v1.0.1 source. On a side note; I wonder when Windows' will post their first project on Github.
In the syscall docs under "C A V E A T P R O G R A M M E R"
> Certain structures, constants and system calls below
> are private to the DOS and are extremely
> version-dependent. They may change at any time at the
> implementors' whim.
That pretty much summarises my experience of trying to work with Microsoft products. Arbitrary, undocumented API changes every time the version number changes "at the implementors' whim".
Windows source code was available for a long time. My university had access to Win 2000 and some latter versions. Nobody was interested since most kernel hackers used BSD and later Linux.
This is true. It leaked from Mainsoft a few years back. Was great fun reading through the NT4 and 2k source. It has also been useful for working out what the hell goes on inside Win32 on occasion.
Damn. If only they released Word 2.0. Then I could hack it to work on newer versions of Windows. It's still the single best word processing package in the history of this universe.
Not only from a historical perspective, but for future people who may need to run some ancient software in order to extract some ancient data from obsolete formats.
I sure wish Turtlebeach would open source the software on their Audiotron. They abandoned it maybe 10 years ago, but it's still far and away the best standalone media player, but it could seriously use a software update.
Finally the word soure code has been released! I have been waiting so long for this blessed moment!
Why the ---- does this have 656 upvotes? Microsoft PR campaign anyone?
"Microsoft had under 100 employees and a Microsoft product (MS-DOS) had less than 300KB". Yeah, that is still alot of employees compared to new software companies today. And the sourcecode? Well resources for software development were much scarce back then, both computer and human wise.
Note on the .doc included in Word for Windows 1.1a source code package: You will probably have to unblock the old Word file formats before you can open them in current versions of Word. In Word 2003 SP3 and Word 2007 you have to manually edit the registry, later versions provide UI for doing it. This won't work for the Word for MS-DOS files which requires a separate converter.
Although a sausage factory would be bad, at least each tour would be standard, and at least visiting that sausage factory wouldn't compromise your security and your liberty and finally when you get home with your free tour sausages, at least they'd interact with your saucepan the same way all the other sausages do.
I have been on a tour of a sausage factory. It is extremely interesting. For example, all pigs are required to be of a length, weight, and several other dimensions, in order to be approved to join the production line.
I like some of the Microsoft products, but at least if they had been releasing MS-DOS 6 or 7 and Word 5 that would mean at least a bit of something, but this ...
And all released in the "look but don't touch" licence, I guess they need some waving cause of the Win 8 fiasco, the 8.1 fiasco and the retiring support for XP, if it hadn't been for the lucky Win 7, Microsoft would have gone the way of Nokia.