Hacker News new | past | comments | ask | show | jobs | submit login

>As a result, NT did support both Internet protocols and the traditional LAN protocols used in pre-existing Microsoft environments, which put it ahead of Unix in corporate environments.

Fun facts, to accelerate networking and Internet capability of Windows NT due to the complexity of coding a compatible TCP/IP implementation, the developers just took the entire TCP/IP stacks from BSD, and call it a day since BSD license does allows for that.

They cannot do that with Linux since it's GPL licensed codes, and this probably when the FUD attack started for Linux by Microsoft and the culmination of that is "Linux is cancer" statement by the ex-CEO Ballmer.

The irony is that Linux now is the most used OS in Azure cloud platform (where Butler was the chief designer) not BSDs [2].

[1] History of the Berkeley Software Distribution:

https://en.wikipedia.org/wiki/History_of_the_Berkeley_Softwa...

[2] Microsoft: Linux Is the Top Operating System on Azure Today:

https://news.ycombinator.com/item?id=41037380




Not quite.

NT 3.1 used a TCP stack from Spider Systems[0]. It was completely rewritten by Microsoft in 3.5[1].

The userland utilities, ping, tracert, etc were brought over from BSD.

[0] https://en.wikipedia.org/wiki/Spider_Systems

[1] https://web.archive.org/web/20151229084950/http://www.kuro5h...


Are you pretty sure on that? These are some quotes among others on the topic in a forum discussions back in 2005:

"While Microsoft did technically 'buy' their TCP/IP stack from Spider Systems, they did not "own" it. Spider used the code available and written for BSD, so it doesn't appear that Microsoft directly copied BSD code (which, again, it is perfectly legal and legitimate to copy), they got it from a third party. Also ftp, rcp and rsh seems to have come with the bundle. I have heard that ftp was, but have never used rcp and rsh on Windows, so don't know what version(s) those were or were not included in any particular Windows version. Anyone can look through the .exes for those files and look for "The Regents of the University of California" copyright notice, if they want to see for themselves (rather than take the word of some anonymous geeks on a forum) ;)"

[1] Windows TCPIP Stack Based on Unix ?

https://www.neowin.net/forum/topic/381190-windows-tcpip-stac...


Like I said, the userland applications (ping, tracert, etc.) were ports from BSD, probably nearly 1:1 copies.

The TCP & IP stacks were written by Microsoft in NT 3.5.

What Spider Software used (again, used by Microsoft in NT 3.1 due to time pressures) may have originated from BSD, but we don't know.

You can browse the NT4 source code TCP/IP stack. Just search GitHub.


>What Spider Software used (again, used by Microsoft in NT 3.1 due to time pressures) may have originated from BSD

In all likelihood it's from BSD don't you think?


That's an assumption that neither of us are qualified to make.

BSD wasn't the only TCP/IP stack on the market[0].

[0] https://en.wikipedia.org/wiki/Internet_protocol_suite#Adopti...


If Spider engineers didn't even bothered to change any of the BSD userspace utilities what is the chance that they built the entire TCP/IP stack perfectly compatible with the outside world inside the kernel from scratch?


The Spider engineers weren't the ones to port BSD utilities. That was Microsoft.


Perhaps you misunderstood my statement I am not talking about NT there, Spider Systems has had their network user spaces utilities and tools but almost all of them were BSD not developed by them. If their tools originally BSD then what were the chances they developed their very own TCP/IP stacks from scratch with good compatibility with the outside world?

This remind me a particular incident happened to Brendan Gregg of the eBPF initiatives, when a company performed a demo of their alleged game changing kernel tracing tools to him and as it turned out the tools were actually Brendan very own developed tools.


> the developers just took the entire TCP/IP stacks from BSD, and call it a day since BSD license does allows for that.

They didn't, but I don't know why you're putting a sinister spin on this either way. Of course the licence allows for that. It was the express intention of the authors of the BSD networking stack that it be used far and wide.

They went to considerable effort to extract the networking code into an independent distribution (BSD Net/1) which could be released under the BSD licence independently of the rest of the code (parts of which were encumbered at the time). They wanted it to be used.


>They didn't

Didn't they?

I am not questioning the fact that BSD is a commercial and Microsoft 'friendly' license, and Microsoft and Unix vendors hired many of BSD developers, it's a win-win situation for them.

What is so sinister by saying Microsoft at the time didn't particularly like Linux GPL license and their ex-CEO called it a cancer (their words not mine) since it's not compatible with their commercial endeavours at that particular time. Perhaps you have forgotten or too young to remember the hostility of Microsoft towards Linux with their well documented FUD initiatives [1].

[1] Halloween documents:

https://en.wikipedia.org/wiki/Halloween_documents


Linux wasn't a thing by the time NT was in development. Hell, the GPL itself wasn't a thing when NT began development!


Are you pretty sure about that?

Linux 0.99 was released to the world with TCP/IP stack back in Sept 1992 whereas at the time Windows NT was still in the development since 3.1 version with the adopted Spider TCP/IP stack was only released in July 1993 [1],[2].

There's a time window (pun intended) between the public released of the Linux kernel with working TCP/IP and the official public released of Windows NT. If Microsoft wanted to adopt Linux TCP/IP (I doubt they wanted to do that since it's still at the time pre stable 1.0) theoretically they can because it will be just copy paste exercise as they most probably did with Spider TCP/IP stack. But what I am saying is that even if they wanted to it will be illegal because by the stroke of Linus' genius Linux kernel was relicensed to GPL in the exact same year 0.99 kernel was released.

[1] Linux kernel version history:

https://en.wikipedia.org/wiki/Linux_kernel_version_history

[2] Windows NT:

https://en.wikipedia.org/wiki/Windows_NT


> Are you pretty sure about that?

NT OS/2 started development in 1988 and NT Win32 in 1990.

Build 297 of NT 3.1 contains a TCP/IP stack dated June 25th, 1992. This is not the earliest public build.


Are you pretty sure about that?

I've checked but there is no references that mentioned of Build 297 of NT 3.1 released in 1992 come with any TCP/IP stack.

It seems TCP/IP stack was still under development at that time and was not included in this early beta build, and it was only released in 1993 stable release. Perhaps the more correct word is not 'development' but 'testing' since they ripped the TCP/IP stack out from Spider system and there's a very high probability that the Spider stack itself was part of BSD codes.


They licensed Spider Software's TCP/IP stack. And you have no knowledge that Spider leveraged BSD code. You're probably too young to remember, but there were many vendors making TCP/IP stacks back in those days. Some based on pre-existing stacks, others from the ground up.

https://ia904500.us.archive.org/view_archive.php?archive=/23...

TCPIP.SYS is the TCP/IP stack in Windows.

I'm unsure as to why you're making unsubstantiated claims and sticking with them. You have zero proof that the claims you're making are true. I'd love to have the source for Spider's TCP or at least have a contact that worked on the stack to ask, it's interesting history. I don't care one way or another, it was a very temporary stack that didn't make it into 3.5 where the entire stack architecture changed (no longer based on SysV STREAMS).


> Linux wasn't a thing by the time NT was in development

So your statement provided here is wrong and misleading then?

According to this book NT development took five years to complete and reached stable 1.0 version by 1993 [1].

When Linux was in version 0.99 it has had a working implementation of TCP/IP by 1992 then in the very same year Linus relicensed Linux to GPL, and all these happened during NT development, wasn't it?

[1] Showstopper: The Breakneck Race to Create Windows NT and Next Generation at Microsoft:

https://archive.org/details/showstopperbreak00zach




Consider applying for YC's Fall 2025 batch! Applications are open till Aug 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: