Kuro5hin.org: technology and culture, from the trenches
create account | help/FAQ | contact | links | search | IRC | site news
[ Everything | Diaries | Technology | Science | Culture | Politics | Media | News | Internet | Op-Ed | Fiction | Meta | MLP ]
We need your support: buy an ad | premium membership

[P]
Microsoft, TCP/IP, Open Source, and Licensing

By adamba in Internet
Tue Jun 19, 2001 at 05:50:32 AM EST
Tags: Software (all tags)
Software

A Wall Street Journal article titled Microsoft Uses Open-Source Code Despite Denying Use of Such Software recently caused a ruckus on the Web.

The article stated that Microsoft was running FreeBSD on some of the servers used by Hotmail, its free Web email service. It also claimed that "software connected with the FreeBSD open-source operating system is used in several places deep inside several versions of Microsoft's Windows software, such as in the `TCP/IP' section that arranges all connections to the Internet."


I worked at Microsoft for ten years, most of it on the core Windows NT/2000 (hereafter referred to as NT) networking code. As such I briefly dealt with the Hotmail team, mostly to hear them complain about the lameness of the telnet daemon in NT (a valid point). I do know that when Microsoft bought Hotmail, the email system was entirely running on FreeBSD, and Microsoft immediately set about trying to migrate it to NT, and it took many years to do so. Now it seems that the transition is not complete. Well, what are you gonna do.

On the other hand, I know a lot about the TCP/IP stack that is running on NT. Here is a short history of it (some of this may also be told in the book How the Web Was Won, but I haven't read it):

The original plan for NT was that a few members of the core NT team (which numbered about 15 developers) would write all the networking code. However, in 1990 a small team was started up in the LAN Manager group at Microsoft to do some of that NT networking work. Eventually that team moved over to be a part of NT (this coincided with the IBM-OS/2 "divorce", if anyone is interested).

Microsoft's networking software at the time ran over a network protocol called Netbeui, but it was decided that TCP/IP was gaining in importance, and should be included in NT. In addition, the user-mode API associated with Netbeui, which was called Netbios, was too Netbeui-specific and couldn't be adapted to allow user-mode access to TCP/IP. As a result, the decision was made:

1) To put a TCP/IP stack in NT

2) To adapt the sockets user-mode API for NT

#1 was solved by licensing code from a company called Spider Systems. However, Spider's TCP/IP stack was written to run within an environment called STREAMS, which was a wrapper that specified how the various parts of the stack would communicate with each other (TCP/IP is really several pieces of code -- two of which are TCP and IP -- layered on top of each other. Most network protocols are like that, which is why they are referred to as "stacks"). As a result, STREAMS also had to be ported to NT.

#2 involved the creation of the winsock API, which persists today.

It was recognized that using Spider's stack was a temporary measure, because nobody really wanted a stack that depended on STREAMS and its associated overhead. So, a short time after this, work was begun on a new version of TCP/IP, written entirely by Microsoft.

Along with Spider's stack came versions of various TCP/IP-related utility programs, such as ftp, rcp and rsh. Those were ported from BSD sockets to winsock (not a huge change) and bundled with NT.

Now, some of Spider's code (possibly all of it) was based on the TCP/IP stack in the BSD flavors of Unix. These are open source, but distributed under the BSD license, not the GPL that Linux is released under. Whereas the GPL states that any software derived from GPL'ed software must also be released under the GPL, the BSD license basically says, "here's the source, you can do whatever you want, just give credit to the original author."

Eventually the new, from scratch TCP/IP stack was done and shipped with NT 3.5 (the second version, despite the number) in late 1994. The same stack was also included with Windows 95.

However, it looks like some of those Unix utilities were never rewritten. If you look at the executables, you can still see the copyright notice from the regents of the University of California (BSD is short for Berkeley Software Distrubution, Berkeley being a branch of the University of California, for some reason referred to as "Berkeley" on the East Coast and "California" on the West Coast...and "Berkeley" is one of those words that starts to look real funny if you stare at it too long - but I digress).

Keep in mind there is no reason to rewrite that code. If your ftp client works fine (no comments from the peanut gallery!) then why change it? Microsoft has other fish to fry. And the software was licensed perfectly legally, since the inclusion of the copyright notice satisfied the BSD license.

I won't even swear on a stack of bibles that the "new" TCP/IP now shipping in NT/2000/XP and Windows 95/98/Me is completely free of the old code from Spider. Since I don't work there I don't have access to the source code. Certainly some parts of TCP (the checksum calculation comes to mind) are the same everywhere and once someone has written an optimized version, why rewrite it? And once again, this would be perfectly legitimate for Microsoft to do under the license.

But it is certainly misleading of the Wall Street Journal to say that BSD code is used "deep inside" the NT networking code, unless they mean the STREAMS wrapper itself, which I believe is still there in case someone wants to write a transport using it (I think there is an OSI TP4 STREAMS transport lurking somewhere out there, if anyone cares - but I just checked, nobody does). But the TCP/IP in NT certainly doesn't use STREAMS.

And implying that the TCP/IP stack uses BSD code is also false. As I said above there may be small vestiges of it in there, although I doubt it. Anyway the FreeBSD programmers who reported all this to the Wall Street Journal can't see the NT TCP/IP source either, so they can't have been referring to that.

But whatever! It isn't the first time Microsoft has been maligned by the press, and it won't be the last.

However, this history does illustrate Microsoft's view of the GPL. As you may recall, Microsoft VP Craig Mundie recently claimed that the GPL is anti-competitive, un-American, flea-infested, locust-plagued, etc. This followed up on similar claims by another VP, Jim Allchin, so it appears that this is the angle Microsoft has chosen to attack Linux.

On the face of it, Microsoft complaining about the source license used by Linux is like the event horizon calling the kettle black. Microsoft has no source license at all to speak of (for the general public anyway)! Anyway when did the source license of a piece of software become an issue for the average Joe who wants to buy it? As a former Microserf, I'll be the first to admit that Mundie's arguments make no sense for the industry in general.

Still from Microsoft's point of view, the source license of software does matter, because Microsoft might want to license the code. As it did in the case of the TCP/IP code it got from Spider, which was under the BSD license. If Spider's code had been under the GPL, Microsoft couldn't have used it. In other cases, Microsoft has licensed software from companies that were not open source at all, but Microsoft was able to negotiate a private license for its own use.

Again I'm not defending Microsoft's viewpoint. For any given piece of code, there may be five companies in the world that want to license it, 500 programmers who want to modify it, and 5 million users that want to use it. So the GPL is a good thing in general. Microsoft's main goal with the anti-GPL rhetoric is to discredit Linux, not to make it easier for it to license third-party software.

Still you can see how Microsoft's stance, from its own weird, warped perspective, almost makes some little iota of sense.

Sponsors

Voxel dot net
o Managed Hosting
o VoxCAST Content Delivery
o Raw Infrastructure

Login

Related Links
o Microsoft Uses Open-Source Code Despite Denying Use of Such Software
o FreeBSD
o Hotmail
o branch of the University of California
o the GPL is anti-competitive
o Also by adamba


Display: Sort:
Microsoft, TCP/IP, Open Source, and Licensing | 73 comments (68 topical, 5 editorial, 0 hidden)
Great article! (3.71 / 21) (#2)
by MoxFulder on Tue Jun 19, 2001 at 01:33:07 AM EST

This article should make both the knee-jerk MS-bashers and the knee-jerk MS-defenders stop and think for a moment. As the author explained very convincingly, Microsoft has used open source BSD code quite selfishly, for its own ends, but has done so quite legally.

There isn't anything apparently illegal about what Microsoft has done with the BSD code, but it is perhaps hypocritical, considering their recent open-source bashing.

This article made me think about my own opinions of the BSD and GPL licenses. I think I tend to come across as a bit of a GPL zealot, but I can see how in some cases, BSD is a better choice. If the BSD sockets code had been under the GPL, Microsoft wouldn't have used it, and likely as not they would have developed a completely incompatible TCP/IP programming interface. As it is, sockets have become something of a standard, and Unix and Windows programmers can understand and modify each other's TCP/IP code without too much trouble. So in this case, the BSD code has won a victory for interoperability.

Thanks to adamba for the informative, level-headed article!


"If good things lasted forever, would we realize how special they are?"
--Calvin and Hobbes


GPL vs BSD vs EULA (4.11 / 9) (#9)
by simon farnz on Tue Jun 19, 2001 at 06:23:03 AM EST

The point of the WSJ article for us techies is that the mainstream press isn't following MSFT's lead, but is instead researching the issues properly.

In the end, the MSFT EULA is one of the more restrictive licences; MSFT does not object to the BSD licence since it allows them to add restrictions, and sublicence BSD code under the EULA. They do object to the GPL because it does not allow them to sublicence the code in more restrictive form.

One last point that the press might like to bear in mind: there is nothing to stop a code author dual licensing their code (as TrollTech do with QT2). I can release code under the GPL, and if MSFT wish to use it, I can give them a different licence on different terms. The only problem is that something like Linux, which MSFT would love to sublicence, has so many copyright holders to contact that a dual licence is probably impossible to obtain.
--
If guns are outlawed, only outlaws have guns
[ Parent ]

You're missing the point (4.57 / 14) (#10)
by Emacs on Tue Jun 19, 2001 at 07:11:31 AM EST

As far as I know, the point was never about the legalities of MS using BSD code. I have never seen anyone imply that MS was using the code improperly. In fact it would seem they have used it entirely in the spirit of open source, which says "why re-invent the wheel? Here, we already have a wheel and you are free to use it as a building block in your product."

However this is where the word hypocrite comes into play, and the "MS bashers" have a perfectly valid point. (By the way, why is it that you can't point out MS's problems anymore without being labeled a *basher*... but I digress) It's smart for them to use the tools available to them. But, then they want to come out with this public personna that would lead you, or most certainly the average Joe, to believe that they have invented or innovated everything known to man with regards to computer science. And to top it off, despite the fact that they have benefited from open source software, they wage a major war against it in which they use these disgusting fear tactics to try to scare and mislead people. Of course this will alienate people, how can it not?

It's a pretty circular thing I guess. If you are going to behave in this manner then you can expect people to use you as a target to bash. In fact, it's seems quite justified. When you choose to disregard the truth you had better not be surprised by anything that people say about you.

[ Parent ]
what i want to know is... (2.50 / 6) (#18)
by rebelcool on Tue Jun 19, 2001 at 10:23:56 AM EST

why cant you point out the failings of linux and problems with open source without being labeled an employee of microsoft?

COG. Build your own community. Free, easy, powerful. Demo site
[ Parent ]

checksum rewriting (2.00 / 2) (#15)
by bagder on Tue Jun 19, 2001 at 09:23:11 AM EST

Certainly some parts of TCP (the checksum calculation comes to mind) are the same everywhere and once someone has written an optimized version, why rewrite it?

... well, the Linux and the BSD source codes for TTL decreasing and thus re-"calculating" the checksum is certainly very different so I guess that some checksum codes do get rewritten... :-)

[ Parent ]

NetWare vs. NT (none / 0) (#39)
by Devil Ducky on Tue Jun 19, 2001 at 04:39:36 PM EST

At the time when Microsoft came to the realization that for NT to sell they needed TCP/IP; Netware was number one (in non-UNIX networking OSes).

The reason Microsoft decided they needed TCP/IP and were willing to pay any price to get it was to beat NetWare to the (then small) market of Servers on a PC. NetWare (stupid Novell) didn't have support for TCP/IP (until 3.1 IIRC); therefore if NT (which did NOT sell until this let alone dominate the market) could be compatible with Unix's protocol...

If the BSD sockets code had been under the GPL, Microsoft wouldn't have used it, and likely as not they would have developed a completely incompatible TCP/IP programming interface.

So I hope you can see why if they could not get through licensing they would have found another way to get the already standard one (perhaps even following the rules? Nah). After all what is the point of incompatible (yet all your own) protocols when you dont have a monopoly to push it through? Ask Novell that one.

Devil Ducky

Immune to the Forces of Duct Tape
Day trading at it's Funnest
[ Parent ]
Netware and TCP/IP (none / 0) (#53)
by IntlHarvester on Thu Jun 21, 2001 at 02:29:31 AM EST

You are right that NetWare was the top dog back in the early 90s. They also did not fully support TCP/IP until version 5.0, which shipped in 1999 (earlier NW hacks always depended on IPX somewhere in the chain). That date should help explain NetWare's current marketshare.

I think the author covered why Microsoft made the decision to go with TCP/IP -- MS OS/2 Lan Manager was dependant on the non-routable non-scalable NetBEUI protocol which made it an extremely difficult sell. Rather than inventing another proprietary protocol, they made the correct decision to go with TCP/IP (without chucking the rest of the LanMan infrastructure).

Note that there was a lot of anti-TCP/IP FUD from the NetWare guys back in those days because it wasn't "autoconfiguring". NT really didn't start to sell until they included DHCP with version 3.5.



[ Parent ]
Laws and Ethics (and MS) (5.00 / 1) (#47)
by Bisun on Wed Jun 20, 2001 at 11:12:12 AM EST

Laws and ethics don't have too much relationship. It was probably quite legal for MS to lie and spin. It wasn't ethical. This is no big surprise. Actually, their being proven to be thieves again (see Stacker) wouldn't be any big surprise. MS has repeatedly lied, broken laws, etc. So far they've at most had their wrists slapped, so I doubt they'll change their ways soon. I never believe anything they say. I'm usually a bit dubious about the things they demonstrate (remember that video in the courtroom?).

I generally feel it safer to just avoid them as much as feasible. Certainly I have refused to install their software since the "Electronic Signature" law was passed. Nobody said just what an electronic signature was, so until there are precedent setting court decisions that do I'm attempting to guard against the less desireable possibilities. Interestingly, I have found that this is generally no problem. The alternatives require a bit more skill, but they are less expensive and just as capable. (Sometimes more.) OTOH, I don't do that much word processing or spreadsheet work. You would need to talk to someone else about those choices.




[ Parent ]
Stacker (1.00 / 1) (#48)
by adamba on Wed Jun 20, 2001 at 01:21:39 PM EST

Maybe you could explain exactly what Microsoft "stole" from Stacker.

You imply that you only use open source software...but it seems you think software patents are a great idea and even bogus one should be rigorously enforced? Since that was the heart of the Microsoft/Stacker dispute.

- adam

[ Parent ]

Some background on STAC v. Microsoft (5.00 / 1) (#63)
by hotcurry on Sun Jun 24, 2001 at 11:32:33 AM EST

And for those who've complained about my posting only links, I've provided some excerpts, to save wear and tear on your clicking fingers.


Text of Stac Electronics' patent infringement complaint against Microsoft Corp

24. On or about November 23, 1992, a telephone conference was held with Mr. Clow and Mr. Whiting of Stac, and Microsoft's Mr. Chase. During that conversation, Mr. Chase admitted that, during Microsoft's ``normal due diligence process,'' Microsoft had concluded that the DoubleSpace data compression utility of the MS-DOS 6.0 operating system software infringed Stac's '009 patent, one of the two patents in suit. Mr. Chase requested that Stac grant a license to Microsoft under Stac's '009 patent. After a brief discussion, Mr. Clow requested that Microsoft make a specific licensing proposal to Stac, and Mr. Chase agreed to do so. During this same telephone conference, Mr. Chase promised, in response to Stac's request, to make available to Stac a copy of the beta version of the MS-DOS 6.0 software.

94-Apr AP: STAC (disk compression)
Microsoft Corp. was found guilty of patent infringement and ordered to pay $120 million in damages to a tiny California firm in a rare setback for the giant computer software company.

However, the federal jury on Wednesday also ruled that the violation was not willful and awarded Microsoft $13.6 million on a counterclaim against Stac Electronics, which makes a data-compression program called Stacker.


...MacKiDo: Where is STAC?
Stac sued Microsoft for patent violations, and Microsoft counter-sued Stac. There is great irony in the fact that Microsoft sued Stac for "improperly using" undocumented system calls in Stacker. According to Microsoft, Stac "illegally" reverse-engineered MS-DOS in order to gain information and access to those undocumented system calls. Apparently, Microsoft wants it both ways: to be able to reverse-engineer the competition, while preventing their own products from being reverse-engineered through legal intimidation.


[ Parent ]
Nicely dodging the point. It's about MS hypocrisy. (none / 0) (#64)
by hotcurry on Sun Jun 24, 2001 at 11:34:41 AM EST

However you feel about patents, the fact remains that Microsoft gets its "innovations" from other companies.

[ Parent ]
compression existed before Microsoft or Stac (none / 0) (#65)
by adamba on Sun Jun 24, 2001 at 02:20:47 PM EST

Sure Microsoft gets ideas from other companies, just like most companies in most industries do. Most car companies didn't invent the car, most TV makers didn't invent the TV, etc. etc.

But in the Stac case, both companies were using technology that had plenty of prior art, and the patents in question were bogus. HOWEVER no one disputed that Stac had dug up an older bogus patent than the bogus patent Microsoft had dug up, so Microsoft was dead to rights and had to settle. But the notion that they "stole" compression from Stac is ludicrous.

- adam

[ Parent ]

Even if this were true... (4.00 / 2) (#69)
by marlowe on Sun Jun 24, 2001 at 03:56:33 PM EST

that wouldn't make it right.

STAC did it first, on the PC at least. Microsoft ripped off their idea and gave STAC the shaft. That's not something any honest person can defend, on any terms.

-- The Americans are the Jews of the 21st century. Only we won't go as quietly to the gas chambers. --
[ Parent ]
I'll defend it (2.50 / 2) (#70)
by adamba on Sun Jun 24, 2001 at 09:13:01 PM EST

You are free to question my honesty, but I disagree with your argument, which I will summarize as:

"Any company beyond the first one to do X on the PC is ripping the first company off."

You have stated that this is TRUE for X = "compression technology". But if you replace X with "spreadsheet" or "word processor" or "internet browser or "TCP/IP stack" or "command prompt" or "scripting language", I don't think it makes sense.

This thinking leads to the kind of dopey patents you see now on interactive TV like "transmitting a schedule over a broadband connection" -- gee that's real original.

- adam

[ Parent ]

You know full well that's not the point. (3.50 / 2) (#71)
by hotcurry on Mon Jun 25, 2001 at 10:24:23 PM EST

But you're too slimy to address the real point. STAC had a patent, which Microsoft VIOLATED, after leading them down the primrose path. This was found to be so in a court of law.

[ Parent ]
I admitted they violated the patent (none / 0) (#72)
by adamba on Mon Jun 25, 2001 at 11:47:36 PM EST

Someone else was claiming that because someone else did it first, Microsoft was bad. I was just saying that argument was invalid.

Now as to the patent...first of all, you pulled a quote out of Stac's lawsuit:

During that conversation, Mr. Chase admitted that, during Microsoft's ``normal due diligence process,'' Microsoft had concluded that the DoubleSpace data compression utility of the MS-DOS 6.0 operating system software infringed Stac's '009 patent, one of the two patents in suit

You neglected to mention that Chase later told Stac the code had been changed to not infringe. Now Stac claimed that it still did infinge (no duh, that was the point of the lawsuit), and the jury did indeed agree with them. BUT the implication that Microsoft shipped the product believing that it violated the patent is false.

I don't know about the primrose path. Microsoft wanted to license it cheap, Stac didn't want to, they didn't make a deal. That's pretty standard business negotiation.

Anyway, my points are:

1) Those patents are bogus, since compression technology existed a long time before.

2) Microsoft did not "steal" compression from Stac. They both got it from somewhere else.

3) Microsoft did violate Stac's patent.

- adam

[ Parent ]

What you seem to miss... (4.07 / 13) (#4)
by sombragris on Tue Jun 19, 2001 at 02:42:27 AM EST

is that Microsoft used the GPL-bashing as a broader attack against Open Source. The main thrust of the article is that while MS bashed Open Source, it was busy porting lots of BSD code in the back end. For us, that was near the obvious, but it is relevant that the press could realize that and run this story.

I mentioned that (2.80 / 5) (#20)
by adamba on Tue Jun 19, 2001 at 10:39:53 AM EST

As I said:

"Microsoft's main goal with the anti-GPL rhetoric is to discredit Linux, not to make it easier for it to license third-party software."

But it is also wrong to say Microsoft was "busy porting lots of BSD code in the back end." The BSD code in NT/2000, if any, is simply what is leftover from 1991 or so. The decision to use FreeBSD for Hotmail was made back before Microsoft bought the company in 1997, it is being migrated over to 2000, it just evidently isn't done.

So I don't think there have been any recent conscious decisions to use FreeBSD anywhere.

- adam

[ Parent ]

I've read that. (4.00 / 2) (#35)
by sombragris on Tue Jun 19, 2001 at 01:02:55 PM EST

You said that the GPL-bashing was directed as a weapon against Linux. I've read that. But what I was trying to say is that the attack had a broader target than Linux. The Mundie address in New York singled out the GPL license for specific attack and the Open Source model in general. That is Linux, of course, as you say, but there's also the NCSA Mosaic Web Browser, in which MS based its own IE, and the xBSD OS, and many other code that right now is part of a given, current, Windows distribution.

OTOH, my statement that MS was busy at that time porting xBSD utilities is a hasty and lousy statement. You are right in pointing that out.

[ Parent ]

Stacks; licensing (3.80 / 10) (#7)
by sigwinch on Tue Jun 19, 2001 at 05:22:48 AM EST

And implying that the TCP/IP stack uses BSD code is also false. As I said above there may be small vestiges of it in there, although I doubt it.
FWIW, there are persistent rumors that Windows 2000 did include BSD networking code.
Anyway the FreeBSD programmers who reported all this to the Wall Street Journal can't see the NT TCP/IP source either, so they can't have been referring to that.
They can't? <grin> How naive. ;-)
On the face of it, Microsoft complaining about the source license used by Linux is like the event horizon calling the kettle black.
I'm stealing this for my .sig.
If Spider's code had been under the GPL, Microsoft couldn't have used it.
They most certainly could have. They would have chosen not to because their central goal is to use technology to make their customers artificially dependent on them. Some people sell razors. Other people sell razor blades. Microsoft sells shaving cream containing 5% hair growth hormone.

--
I don't want the world, I just want your half.

.sig (2.00 / 2) (#16)
by dvNull on Tue Jun 19, 2001 at 10:06:39 AM EST

I am stealing this for my collection of possible .sigs ;)

Some people sell razors. Other people sell razor blades. Microsoft sells shaving cream containing 5% hair growth hormone.




If you can see this, then the .sig fell off.
[ Parent ]
Not "rumors" (5.00 / 3) (#24)
by ucblockhead on Tue Jun 19, 2001 at 10:56:49 AM EST

I just ran "strings c:\winnt\system32\ftp.exe | grep Regents" on my Windows 2000 box. I got:

"@(#) Copyright (c) 1983 The Regents of the University of California."

That's the required BSD copyright notice. Proof positive. But then, despite rhetoric to the contrary, Microsoft has never denied using BSD code and the history of how they did is pretty clear. They did so in the initial release of Windows NT 3.5 as a shortcut to Posix compliance. They've never bothered to remove the code since. (Not surprising, there's not real reason to.)
-----------------------
This is k5. We're all tools - duxup
[ Parent ]

Yeah, but... (5.00 / 2) (#27)
by darthaggie on Tue Jun 19, 2001 at 11:05:44 AM EST

I just ran "strings c:\winnt\system32\ftp.exe | grep Regents" on my Windows 2000 box.

Yes, yes, I know - I did that myself. That, however is NOT the networking stack. Which DLL is that in?? That's what you need to run strings on.

Hell, it may be amusing to run strings against all their DLL's... :)

I am BOFH. Resistance is futile. Your network will be assimilated.
[ Parent ]

where the TCP/IP stack is (4.00 / 3) (#29)
by adamba on Tue Jun 19, 2001 at 11:37:27 AM EST

That stuff is in kernel-mode drivers, not user-mode DLLs. Look in system32\drivers. FYI I just ran strings on the whole directory and saw no BSD copyrights (not that I was expecting any).

tcpip.sys is the TCP/IP stack, afd.sys is the mapper from the user-mode part of winsock to the top of the TCP stack. netbios.sys implements RFC 1001/1002.

- adam

[ Parent ]

We Got 'Em (none / 0) (#40)
by Devil Ducky on Tue Jun 19, 2001 at 04:49:38 PM EST

I just ran strings on the whole directory and saw no BSD copyrights (not that I was expecting any).
Nor was I. If all of the rumors are true about 2000's code still having BSD source and we know there are no Copyright announcements then this can go beyond an embarrasment that Microsoft didn't write their own networking stacks to a legal issue where they flagrantly (at least I think it's flagrant) ignored the rules of a licensing agreement.

Excuse me while I go sell my old Win95 CD (if Microsoft can break the agreements than so can I!).

Windows 95B anyone? CD not even scratched. I have lots of OEM numbers to go with it... Including 1234-OEM-5678-9012 and some other valid ones.

Devil Ducky

Immune to the Forces of Duct Tape
Day trading at it's Funnest
[ Parent ]
Winsock: not a Bad Thing... (3.91 / 12) (#8)
by SpaceHamster on Tue Jun 19, 2001 at 05:56:47 AM EST

as far as Win32 APIs go.

Its 3am. I just spent the previous 4 hours of my life debugging Winsock code. Turned out to be my own fault (forgot a select() call, code would spin when it shouldn't have). Yet, even though my network layer is pretty damn complex and looks like spagheti, it works solidly. This is not something I can say of the rest of the API. Jeez. I've spent too many hours in the last couple years pulling my hair out when functions don't work the way the're documented to. Or even worse, when the documentation is bad, and the headers are not self explanatory, just figuring out the calls to make (and in what order, and with what flags) can be a multi-day task.

But in the case of Winsock, most all the BSD socket calls are there, with most of the options intact. Its pretty well documented. Heck, I learned socket programming in order to hack some old MUD code that compiles with the same network layer on almost every *nix and win9x/nt. The calls don't change over time, and (unlike a LOT of other Win32 calls) don't work differently under different versions of Windows.

So you know what, if MS wants to lift some network code from BSD, more power to them for not wasting time reinventing the wheel. Every windows user/programmer benefits, no one is hurt, so please don't anyone bitch about it.

The origins of winsock (3.50 / 4) (#19)
by bafungu on Tue Jun 19, 2001 at 10:24:12 AM EST

Yes the winsock API is fine (I was on the winsock mailing list when it was in development in 1992, since I was doing TCP/IP programming then), but just for the record: that API is not by any stretch of the imagination a Microsoft creation.

It came about due to the efforts of various TCP/IP stack vendors (NetManage, FTP Software, Microdyne, JSB Corporation, Frontier Tech, Distinct Corp, Microsoft, Wollongong, etc) wanting a common API for sockets programming, and making it as similar as possible to BSD obviously made the most sense.

Certainly Microsoft played a part in that since they made their own TCP/IP stack (from BSD), but really they were latecomers in that game. There were several fully functional 3d party TCP/IP stacks before theirs was out, and most of them supported WinSock before Microsoft did.

Not that that did them any good once Microsoft started shipping their winsock.dll for free, of course, but that was inevitable...

[ Parent ]

correct (3.00 / 2) (#28)
by adamba on Tue Jun 19, 2001 at 11:32:20 AM EST

I didn't mean to imply that Microsoft just invented winsock from scratch. Certainly it is basically the same as sockets, except for the initialization calls, some socket options, some new address type, etc. And there were indeed TCP/IP stacks for Windows before Microsoft shipped theirs.

But Microsoft was one of the drivers of the "standard" winsock (2 out of the 5 credited authors are Microsoft people) and also made the decision to include it with Windows NT and 95.

Including this of course hurt the other TCP/IP vendors. It is exactly like what happened to Netscape when the browser was bundled, and is my standard example when trying to explain why bundling code in the OS can be a good thing. However back then it didn't generate the same kind of outrage/massive lawsuits.

- adam

[ Parent ]

Async (none / 0) (#33)
by ucblockhead on Tue Jun 19, 2001 at 12:30:46 PM EST

The Microsoft calls have all those asynch calls, which base sockets doesn't have.

Though they are more trouble then they are worth. And I'd like to have a few minutes in a room with the ^%$*%head at Microsoft who put a hardcoded limit of 64 handles in the WaitForMultipleObjects call, thereby causing me lots of pain and suffering.


-----------------------
This is k5. We're all tools - duxup
[ Parent ]

Limit of 64 on WaitForMultipleObjects? (none / 0) (#68)
by marlowe on Sun Jun 24, 2001 at 03:51:49 PM EST

I really don't think NT was ever intended to scale higher than this.

The surefire cure for this sort of pain and suffering is to switch to a more high-end operating system. Don't blame your tools. Replace them.

-- The Americans are the Jews of the 21st century. Only we won't go as quietly to the gas chambers. --
[ Parent ]
Sockets (3.66 / 3) (#23)
by ucblockhead on Tue Jun 19, 2001 at 10:50:34 AM EST

As I've learned long and painfully, it is far, far easier to port sockets code from Unix to Windows than vice versa. Microsoft includes all sorts of extensions that, if used, make their code wildly nonportable. Guess which are better documented?

If you use the standard calls, there are some niggling incompatibilities in the way it deals with file handles. And you have to call their stupid init and shutdown calls (which admittedly is no big deal).
-----------------------
This is k5. We're all tools - duxup
[ Parent ]

Use java (3.00 / 2) (#36)
by delmoi on Tue Jun 19, 2001 at 01:50:36 PM EST

Well, that might be overkill for what you're doing, but if you want to do networking it's socket class is amazingly easy. Just construct it, pull off some IO stremas, and you're good to go. If you need to do windows code, take a look at CAsyncSocket. The MFC blocking socket object seems to fuck up the rest of windows for some reason, but CAsyncSocket dosn't quite look as painful as pure win32
--
"'argumentation' is not a word, idiot." -- thelizman
[ Parent ]
java (3.00 / 1) (#37)
by SpaceHamster on Tue Jun 19, 2001 at 03:36:57 PM EST

Nah, no java here. If it were a server oriented project, and I knew java, I probobly would have lobyied for it. Client app needs to be small, run on slow-ass computers, etc. As far as MFC sockets, I don't like them. And since any socket in windows is just a wrapper around Winsock, I'd rather use Winsock directly.

[ Parent ]
I am shocked, shocked to hear that MS has lied! :) (4.20 / 10) (#12)
by Zukov on Tue Jun 19, 2001 at 08:57:26 AM EST

The exact details of what stack was used where are not important. The people who decide what software a company uses normally know nothing about the details of the software.

The paper version of the WSJ (which is as pro-business a paper as you can get) has a summary on page one, column 2, above the fold:

"Microsoft has been using open-source computer code, despite denying it did so and campaigning against the software"

People who have been authorizing the purchase of MS products might think to themselves

  • Open-source is good enough for MS
  • Open source can be free (cost)
  • Why are we paying MS for software instead of using open-source?
  • Why does MS bash open-source and then use it in the products we pay them for?

    MS would have done better to ignore open-source, or say it is too difficult for the average user, etc.

    The way this has played out is the worst possible public relations disaster for MS- open source gets mentioned on the front page of the WSJ, and MS is shown to be reselling software it publicly bashes.

    ȶ H (^

    Yes, I have just bumbled upon Gnome Character Map. Please ! me.

  • A few points (3.33 / 12) (#13)
    by jd on Tue Jun 19, 2001 at 08:58:19 AM EST

    First, anyone can "fingerprint" a TCP/IP stack, without having access to the source itself. There are a variety of algorithms, but they mostly seem to depend on testing behaviour under a variety of nonsensical condtions.

    Because no two people are likely to implement -EXACTLY- the same behaviour under conditions that will never arise under normal usage, those behaviours are pretty good indicators of what software is being used, where.

    *Behaviour in this context may refer to a number of things, depending on the exact fingerprinting technique used. I believe nmap uses a mix of error codes and other responses. However, that is not the only method, or even necessarily the best. (There is at least one article linked to, from nmap's own webpages, which takes nmap to task for using older fingerprinting techniques.)

    Second, as I understand it, NT was tried in Hotmail, but was withdrawn after it completely failed to survive. Windows 2000, NOT NT, is the latest attempt to migrate Hotmail from *BSD to a Microsoft OS.

    Last, but by no means least, NT IS NOT WINDOWS 2000! They wrote Windows 2000 from scratch (near enough). All 15 million or so lines of it. It contains essentially no pre-existing Microsoft code. That the Windows 2000 developers might have taken short-cuts by scrounging existing *BSD code (which they already knew was superior to their own Wolverine-based TCP/IP stack) comes as no great shock. They were behind schedule, the cost over-runs must have been truly horrible, and the PR people must have been begging them for some good news. If I had been in their shoes, I'd have opted for quick-fixes, too.

    NO NO NO! 2000 is just NT version 5 (5.00 / 12) (#17)
    by adamba on Tue Jun 19, 2001 at 10:22:45 AM EST

    Last, but by no means least, NT IS NOT WINDOWS 2000! They wrote Windows 2000 from scratch (near enough). All 15 million or so lines of it. It contains essentially no pre-existing Microsoft code.

    You'll have to trust me on this, but I spent 3 years working on Windows 2000 and it is nothing more or less than NT version 5. We were tooling along working on what we thought was going to be NT 5.0 and then the name change was made for marketing reasons about a year before the product shipped.

    Windows 2000 was *not* not not written from scratch.

    - adam

    [ Parent ]

    angst (3.50 / 2) (#30)
    by core10k on Tue Jun 19, 2001 at 12:07:28 PM EST

    Windows 2000 was *not* not not written from scratch.

    Man, Windows 2000 must have nearly broke the company :) I've never heard such passion about the source origins of a software product.



    [ Parent ]
    NT vs. 2000 (3.75 / 4) (#22)
    by ucblockhead on Tue Jun 19, 2001 at 10:48:15 AM EST

    The BSD code was incorporated into the original Windows NT 3.51 and, as another poster pointed out, Windows 2000 is not a complete rewrite of the OS. Far from it. The complete opposite, morelike. Windows 2000 is just the next version of Windows NT, and from what I understand, the major changes were all in the UI area. The guts of the OS has not changed much except for bugfixes.

    Anyway, that BSD code has been there from the beginning, as Microsoft admits. Much of that was there originally for their silly Posix compliance marketting claims.
    -----------------------
    This is k5. We're all tools - duxup
    [ Parent ]

    Nice Acid Trip! (none / 0) (#41)
    by Devil Ducky on Tue Jun 19, 2001 at 05:06:38 PM EST

    NT IS NOT WINDOWS 2000! They wrote Windows 2000 from scratch (near enough).

    It must be nice to live in your world. Where Microsoft would take time out of thier busy schedule of lying to the public to reinvent the wheel (sure it's square but it is a wheel!).

    The last time Microsoft started a NEW OS was 95, shortly before that it was NT 3.5. That's all going back to the mid '80s.

    Saying 2000 is new is like saying ME is new. ME is just 98SE with a different bitmap on startup and a few new bugs/features even M$ admits that.

    2000 IS NT 5! They were in the process of doing a real overhaul of NT 4 when it was announced that the 9x series was cancelled. There was a public outcry (idiots yell loud) about how NT is too hard for the average user. So the name changed (it's not NT it's 2000; so now it's not hard). ME was released as a way to increase quaterly sales after the disappointment of 98SE.

    Devil Ducky

    Immune to the Forces of Duct Tape
    Day trading at it's Funnest
    [ Parent ]
    Windows 95 was new? (none / 0) (#51)
    by IntlHarvester on Wed Jun 20, 2001 at 10:24:22 PM EST

    Check out the book "Undocumented Windows 95" by Andrew Schulman. He makes a pretty convincing argument that Windows 95 was in fact Windows 4.0.

    (The primary differences between 95 and 3.1 being more protected mode drivers in the box and Win32 + the thunking layer.)

    [ Parent ]
    Windows 4.0 (none / 0) (#55)
    by odaiwai on Thu Jun 21, 2001 at 04:58:17 AM EST

    If you do a ver command on a Win9x machine you'll get an answer like:
    Windows 4.0.xxx
    Also, it still reads win.ini, system.ini, etc. Does WinME do this?
    dave
    -- "They're chefs! Chefs with chainsaws!"
    [ Parent ]
    Legacy and backwards compatibility (none / 0) (#67)
    by coolvibe on Sun Jun 24, 2001 at 03:47:42 PM EST

    Also, it still reads win.ini, system.ini, etc.

    Yeah it does, and even win2k does it. Why? Well, Microsoft has this monkey on it's back called 'legacy', and it's also known as 'backwards compatibility'. Win2k will still run 16 bit windows apps if you want it to.


    --
    Yet another community site: hackerheaven.org. Now in juicy Scoop flavour!
    [ Parent ]

    New M$ products. (5.00 / 1) (#58)
    by Devil Ducky on Thu Jun 21, 2001 at 10:56:52 AM EST

    Whether or not 95 was new depends on your definition of new. If you want a complete re-write never looking at previous versions new, then no Win95 is not new it is just Win 4.0. However if you're talking about mostly new code, completely new ideas (for Microsoft) involving GUI design, driver support, program interaction, etc. new then Win 95 is the only real new program Microsoft has written, ever. Except maybe for the version of BASIC that Bill Gates himself wrote, but knowing him he stole that too

    When you're talking about a company that buys software companies and renames their products, you have to lower your standard a bit when using the word new.

    For example:
    • MS-DOS used to be IBM-DOS
    • IE 3+ used to be NCSA Mosaic
    • Win 1.x, 2.x, 3.x used to be OS/2

    Devil Ducky

    Immune to the Forces of Duct Tape
    Day trading at it's Funnest
    [ Parent ]
    What's New? (none / 0) (#60)
    by IntlHarvester on Thu Jun 21, 2001 at 04:37:12 PM EST

    When Microsoft shipped "All New!" Windows NT in 1993, they found that customers weren't all that interested because even though it fixed the fundemental limitations of Windows, it required special drivers, broke some of their applications, and so on. (While parts of NT was somewhat based on parts of OS/2, you could accurately call it a new OS, which is of course not really what customers wanted.)

    So, when the massive upgrade of Windows 95 shipped, Microsoft's marketeers started playing the same tune. All of your troubles will disappear because it's not only "All New!" it's also 98% compatible with the previous version, even to the driver level. Hmmm.

    The PR was laid down so thick and heavy that even techies started to believe the "All New" claim, even though it was a clear lie. Unless you want to redefine the meaning of "new", which is what you are doing.

    [ Parent ]
    Bzzzt... correction on a few things. (none / 0) (#66)
    by coolvibe on Sun Jun 24, 2001 at 03:41:39 PM EST

    Sorry, a few corrections:

    MS-DOS used to be IBM-DOS
    Nope, you must mean QDOS. You remember that MS -bought- QDOS, the forerunner of MSDOS for a measly $50K from Seattle Software, binary and source. The usual story is that Tim Patterson reversed engineered a copy of CP/M, including most of its internal calls and API, and converted it over to run on a 8086.
    IE 3+ used to be NCSA Mosaic.
    Nope, you must mean Spyglass, of which they licenced the code (and spyglass never saw a buck of it)
    Win 1.x, 2.x, 3.x used to be OS/2
    OS/2 was something completely different, even in it's beginnings. It is not related to M$ win v3 or lower at all.


    --
    Yet another community site: hackerheaven.org. Now in juicy Scoop flavour!
    [ Parent ]

    Astroturf? (1.83 / 6) (#14)
    by agent on Tue Jun 19, 2001 at 09:00:28 AM EST

    Why should this be of any surprise at all? Of course Microsoft would rewrite the network stacks somewhat with each upgrade of Windows. Given that 90% of the systems run some version of Windows, I'd rather have a BSD derived IP stack communicating than a newly coded, buggier stack that was denied the benefits of 'Standing on Giants.' Atleast it looks like this is one open protocol that will not be embraced, extended, and proprieterized.
    --
    ROT13 my email address to contact me
    AIM: TheAgen7
    NT/2000 has had only 2 TCP stacks in its lifetime (4.50 / 4) (#21)
    by adamba on Tue Jun 19, 2001 at 10:47:12 AM EST

    1) The original one licensed from Spider, based on BSD code, that ran inside STREAMS. This shipped with NT 3.1.

    2) The newer one, written from scratch by Microsoft. This shipped with NT 3.5, 3.51, 4.0, Windows 2000, and will ship with Windows XP and Windows 2002. It also shipped with Windows 95, 98, and Me (that version was based on the same sources, but recompiled to run on the Win9X kernel).

    Sure the stack was modified somewhat with each release (for example with Windows 2000 it had to be modified because of Plug and Play) but fundamentally there have only been the two versions. So if you would prefer the BSD derived one from the "newer, buggier" one, you are out of luck unless you can dig up an NT 3.1 CD.

    - adam

    [ Parent ]

    I think they redid the TCP/IP stack again in 2000 (none / 0) (#43)
    by Trepalium on Tue Jun 19, 2001 at 07:49:47 PM EST

    The behaviour of the TCP/IP stack in Windows 2000 (NT5 at the time) changed radically during the development process, and changed from acting the same way NT3.5-4.0 and Win95-98 (at the time) did to acting nearly the same way FreeBSD (and other BSDs do) does. It's fairly obvious they rewrote the stack and the BSD stack must've influenced them, the only question is, did they just borrow the parts of the code that would work them, or did they re-implement it in a clean room-style process. Either way, they're completely within their rights.

    The Win2000 changed came about because they were both having a number of security related problems and resource starvation problems on the windows2000test.com site that was constantly being crashed by attackers. Whatever was changed during that period stopped the attackers, since when the behaviour changed, that round of attacks stopped. It's hard to say if the changes fixed the problem, or if they just finally managed to fix the routers to block the problems, but things changed, and many of them didn't have to for the TCP/IP stack to function properly.

    [ Parent ]

    no, it wasn't rewritten (3.50 / 2) (#49)
    by adamba on Wed Jun 20, 2001 at 01:25:15 PM EST

    Just because some bugs were fixed doesn't mean the stack was rewritten! Maybe you could be more specific on how the Windows 2000 stack started behaving that was FreeBSD-ish. Do you mean it started working better?

    Windows 2000 was in development for over three years so of course a lot was done. Plug and Play support, ipsec, SACK, plus usual performance and reliability fixes. No BSD code involved however.

    - adam

    [ Parent ]

    Okay, maybe not rewriten (none / 0) (#57)
    by Trepalium on Thu Jun 21, 2001 at 09:48:54 AM EST

    But it did get drastic changes made to it. Throughout Windows NT 3.5/3.51, Win95, NT 4.0, Win98, 98SE and ME, there have been virtually no changes in the behaviour (with the exception of a few service packs for NT 4 that fixed [to varying degrees] the TCP ISN problem). Windows 2000's TCP/IP stack behaves quite differently than any of those when it comes to probes such as nmap that measure the differences in how the TCP/IP stack responds to different packets. Many of these probes started believing that Windows 2000 machines were BSD machines until the checks were updated to collect more data. I do find it a little difficult to believe that this would only be a coincidence (because looking at the nmap data, there is little overlap between a large number of vendors that deliver TCP/IP stacks for various devices), and would find it a little difficult to believe that Microsoft employees wouldn't check something like BSD to see how they're doing it to get ideas on how to possibly tweak their own stack (even if they don't use the actual code).

    [ Parent ]
    Microsoft could license GPL code (4.10 / 10) (#25)
    by darthaggie on Tue Jun 19, 2001 at 10:56:57 AM EST

    If Spider's code had been under the GPL, Microsoft couldn't have used it.

    If Spider had been the sole copyright holder of the code, they could have worked out a seperate agreement with M$. Why do people presume that if code is licensed under GPL, it can not be licensed under different terms by the copyright holder? GPL is viral, but it isn't that viral.

    Now, if there are multiple copyright holders, licensing GPL would be an adventure.

    I am BOFH. Resistance is futile. Your network will be assimilated.

    They even distribute GPLed code themselves (3.00 / 1) (#32)
    by gotan on Tue Jun 19, 2001 at 12:28:30 PM EST

    See their Internix and the nice GPL attached to it. In the light of Mundies talk about the dangers of the GPL i think this is really funny and am now waiting for microsoft to become another victim of the dot.com misery.

    [ Parent ]
    WoAh! Check this out (cust+paste) (4.00 / 1) (#45)
    by barneyfoo on Tue Jun 19, 2001 at 10:20:34 PM EST

    Index of ftp://ftp.microsoft.com/developr/interix/

    addfiles.for.fsf.tar .......... 122880 06/02/00 12:00:00 am file
    difflog.for.fsf ............... 1590338 06/02/00 12:00:00 am file
    difflog.to.fsf.notes.txt ...... 2442 06/02/00 12:00:00 am file
    egcs.patches .................. 0 02/08/01 11:46:00 am directory
    gcc.source.shlib.0.2.tar ...... 100331520 06/02/00 12:00:00 am file
    gcc.source.shlib.beta1.tar .... 71014400 06/27/00 12:00:00 am file
    gnu.22final.src.tar ........... 99215360 06/02/00 12:00:00 am file
    gnu.intel.fsf.master.tar ...... 63191040 06/02/00 12:00:00 am file
    gpl.txt ....................... 31513 12/28/99 12:00:00 am file
    gpl.util.tar .................. 2058240 06/03/00 12:00:00 am file
    lgpl.txt ...................... 25746 11/03/97 12:00:00 am file
    nvi.bin.tgz ................... 229325 02/05/01 02:54:00 pm file
    nvi.src.tgz ................... 610044 02/05/01 02:55:00 pm file
    shlib.beta0.2.alpha.tar ....... 16752640 06/02/00 12:00:00 am file
    shlib.beta0.2.i386.tar ........ 15421440 06/02/00 12:00:00 am file


    Lol, They dont even bother to gzip it for you :) How nice of them. Here download this 100MB tar file of gcc source. Cough. hahaha

    [ Parent ]
    Modules using BSD code. (3.00 / 8) (#26)
    by ucblockhead on Tue Jun 19, 2001 at 11:05:31 AM EST

    Searching for the string "Regents" in all files in the \winnt directory tree of Windows 2000 gives you just these five files:

    finger.exe
    ftp.exe
    nslookup.exe
    rcp.exe
    rsh.exe

    Hardly earth-shattering.
    -----------------------
    This is k5. We're all tools - duxup

    STREAMS (3.66 / 3) (#31)
    by ksandstr on Tue Jun 19, 2001 at 12:23:05 PM EST

    ICBW, but isn't STREAMS supposed to be more like a generic interface to an operating system kernel's internals (and the underlying hardware), so that when a proprietary chickenshit company needs to write a driver for solaris, fooBSD and other x86-with-STREAMS compatible systems they'd only have to implement the driver for STREAMS, once?

    Also, didn't the TCP/IP stack in NT 4 have a fingerprint alarmingly similar to the one in wossnameBSD "reno"?



    Fin.
    i did some work related to the hotmail team (3.50 / 8) (#34)
    by lb on Tue Jun 19, 2001 at 12:36:56 PM EST

    I don't see what the big deal is. There are a few employees at Microsoft who are open source fans. Quite a few of the people I worked with actually. These people will try to leverage open source in their daily work.

    I wrote quite a few scripts in Perl to automate the build process on the project I was on. (From what I hear they're still using them. :) The machines were Suns, but only because the code for that specific project was inherited half-complete, already designed for Solaris.

    I don't see why this is a big deal, and I don't really see how Microsoft has egg on it's face here.

    Yes, I had a linux box plugged into the Microsoft redwest network. Who cares?

    -lb

    The 'big deal' ... (5.00 / 3) (#42)
    by Parity on Tue Jun 19, 2001 at 06:53:37 PM EST

    The big deal is not that Microsoft did or did not use open source code and does or does not use Solaris... it's that their press release spin says 'open source is pure evil, nobody should ever use it no matter what' when they have open source code in their product, and saying 'we're running hotmail on windows nt' when they're running it on a hybrid network of windows nt -and- other systems.

    Not what they did. They hypocrisy of what the did compared to what they said.

    This should've been obvious from reading the article, I thought, but anyway.


    Parity None


    [ Parent ]
    MS has great PR. (4.00 / 1) (#44)
    by barneyfoo on Tue Jun 19, 2001 at 10:01:42 PM EST

    I guess it's Ok to be hippocritical when you're just spinning PR webs, without a shred of honesty. After all, we know it's just hyperbole designed to pump up windows market share. No surprises. We could even feel sorry for the poor MS workers, struggling day-in and day-out to compete with the vicious competitors out there, right? Think again.

    It's the attitude that we should cut MS some slack at every mistep or mischaracterization. They dont need our help or sympathy. They have 30billion in the bank for christ's sake. We need to feel sorry about their troubled market share and stagnant profits? Hahahha.

    Ok rant over :) Anyway. Lets not get distracted by the MS PR. After all, we know it's dishonest and self-serving, and full of half-truths.



    [ Parent ]
    Redwest network? (none / 0) (#61)
    by dudi on Sat Jun 23, 2001 at 10:32:25 PM EST

    I worked in MSN mobile last Summer (Redwest building E). I also had a Solaris box in my 'office' (a converted lounge, actually). The thing is, though, there is no Redwest network. If I remember correctly, you still log in to the "REDMOND" domain (or is it the "MICROSOFT" domain) when logging in to the network. In any event, it is the same network used by the rest of the company, because our group's server, "//mobile", was screwed up by some guy in Japan who renamed his laptop "mobile".
    --remove your clothes to e-mail me
    [ Parent ]
    Couldn't (3.50 / 4) (#38)
    by ichimunki on Tue Jun 19, 2001 at 03:49:14 PM EST

    You say that if Spider's code had been under the GPL that Microsoft couldn't have used it. But what you need to say is wouldn't have used it. And there is a huge difference between ability to do something and willingness to do so.

    I would think that not one single MS user would have been affected at all, and that MS would have had an easy time complying with the GPL, by simply having a folder on one of the install CDs containing the source code to any GPL tools used in the OS.

    Microsoft's recent statements about Open Source and Linux seem to me to be a deliberate misstatement about the nature of the license and the Free Software movement. Recall that Bill Gates penned the "Open Letter to Hobbyists", and to me this says more about his motives than anything. He has gone from making "less than $2 an hour" to being one of the richest men in the world. His decision to avoid "cancerous" software has done him a lot of good apparently, and from what I hear his employees don't do too shabby either... but his users? Well, that's for each user to answer, I guess. But I always get a sense of sticker shock when I see what Windows and office licenses cost compared to the value they might add to my life.

    it's not that simple (2.00 / 1) (#50)
    by adamba on Wed Jun 20, 2001 at 01:33:44 PM EST

    I would think that not one single MS user would have been affected at all, and that MS would have had an easy time complying with the GPL, by simply having a folder on one of the install CDs containing the source code to any GPL tools used in the OS.

    It's not that cut-and-dried. You don't just take the code from Spider and ship it. The code was worked on heavily after it was licensed. STREAMS had to be ported to NT, which then involved changes to the base network architecture, so that would have been "contaminated" by the GPL. Then you might have to tell anyone else developing network code for NT that their stuff had to be released under GPL also.

    You are correct that Microsoft *could* have used GPL code, but the effect would have been to put a damper on the amount of network support behind NT. Using something that they could license with no severe restrictions (could have been the BSD code they got from Spider, or just some code they licensed privately from another company) avoided this.

    Microsoft's recent statements about Open Source and Linux seem to me to be a deliberate misstatement about the nature of the license and the Free Software movement.

    Stallman has stated that the GPL was written as it was intentionally, because he doesn't want GPL software to ever become non-GPL software.

    - adam

    [ Parent ]

    Why not relicence? (4.00 / 1) (#56)
    by simon farnz on Thu Jun 21, 2001 at 06:59:08 AM EST

    Nothing would have stopped M$FT contacting the authors of the GPL code they wished to use, and trying to obtain a different licence. Although Stallman is a visionary, and would not have offered such a licence, other GPL coders would be prepared to sell M$FT a different licence. They could then use the code under that licence
    --
    If guns are outlawed, only outlaws have guns
    [ Parent ]
    Excuses, excuses. (none / 0) (#62)
    by hotcurry on Sun Jun 24, 2001 at 11:15:18 AM EST

    Other OS developers can manage it, and get better pefroamnce and flixibility than Microsoft.

    [ Parent ]
    Thanks for this! (none / 0) (#46)
    by leonbrooks on Wed Jun 20, 2001 at 08:28:14 AM EST

    On the face of it, Microsoft complaining about the source license used by Linux is like the event horizon calling the kettle black.

    Congratulations! You are now a member of that most exclusive and elite of clubs, ``authors in my signatures database'' (-:
    -- If at first you don't succeed, try a shorter bungee

    Screw BSD TCP/IP stack, what about MICA rumors? (4.50 / 4) (#52)
    by bediger on Thu Jun 21, 2001 at 01:48:46 AM EST

    Enough with apologizing for MS using BSD networking code - anyone with any sense does so. It's solid.

    What about the rumors that NT is essentially MICA, the OS that Dave Cutler was working on at DEC before he joined MS in '88? I heard it 3rd-hand, but my source said that DEC got a sweetheart deal for Alpha NT because the NT source code was identifiably based on MICA.


    -- I am Spartacus.
    I'm not sure... (5.00 / 1) (#59)
    by i3spanky on Thu Jun 21, 2001 at 01:28:14 PM EST

    ...about direct usage, but I worked briefly at Digital in the department that produced bootserver software for their high-performance print-servers. We were working on an NT version of this daemon, testing it under NT 3.1 and 3.51 (then under development), so there was plently of context for discussion on this topic.

    Anyway the story that I got there was that the NT development process was a disaster (going completely, utterly nowhere). Cultler started consulting with them on some kind of goodwill basis and soon jumped ship to MS permanently take over the whole project (at which point it very rapidly started going somewhere).

    As a somewhat related aside, I've wondered since then about NT boot duration. There at Digital, we were testing NT 3.1 and _debug_ builds of NT 3.51 on Pentium 66s and Alphas. You would think with more code and such, plus non-optimized debug builds that 3.5 would take a lot longer to boot. No so -- 3.51 booted FAST (much faster than 3.1), similar to Linux boot speeds from the early days (of lighter distros).

    Then, after I left Digital, I started using release versions of 3.51, and I found that they took many times longer to boot than the debug versions. I had to suppose that they inserted sleep()s into the boot process to make the OS boot process _seem_ heavier. (Can't have our server OS boot faster than our desktop OS now, can we?). Can anyone out there verify or invalidate this supposition?

    [ Parent ]

    Kerberos (none / 0) (#54)
    by oohp on Thu Jun 21, 2001 at 04:22:32 AM EST

    Can anyone point out what happened to Kerberos? I understand it was distributed too under a MIT/BSD license, Microsoft took the code, modified the protocol and never released any specifications (or they did release something). There had been a thread on bugtraq about this.

    MSFT uses linux on its zone.com servers (none / 0) (#73)
    by strawdog on Wed Jun 27, 2001 at 11:14:22 AM EST

    They use linux on the statistics server for the zone (stats.zone.com) netcraft report here

    Microsoft, TCP/IP, Open Source, and Licensing | 73 comments (68 topical, 5 editorial, 0 hidden)
    Display: Sort:

    kuro5hin.org

    [XML]
    All trademarks and copyrights on this page are owned by their respective companies. The Rest 2000 - Present Kuro5hin.org Inc.
    See our legalese page for copyright policies. Please also read our Privacy Policy.
    Kuro5hin.org is powered by Free Software, including Apache, Perl, and Linux, The Scoop Engine that runs this site is freely available, under the terms of the GPL.
    Need some help? Email help@kuro5hin.org.
    My heart's the long stairs.

    Powered by Scoop create account | help/FAQ | mission | links | search | IRC | YOU choose the stories!