Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Common misconception. It is not. The kernel is XNU, and the OS base is Darwin which has some BSD parts in it, and some of the userland came directly from FreeBSD (though heavily modified).


You’re not actually disagreeing with the OPs statement though. And they’re technically right too.

The problem is that all the user facing stuff in macOS isn’t BSD. It’s Apples proprietary APIs. So while macOS was originally and technically based on BSD, almost none of that is exposed to their users.

So they’re technically correct that macOS / Next was based on BSD. But also completely wrong to recommend macOS as a comparison to OpenBSD.


macOS was originally based on OPENSTEP. OPENSTEP was based on NeXTSTEP which was based on 4.3 and later 4.4.

BSD stuff has a complicated history due to the lawsuits in the 1990s.

NetBSD and FreeBSD were based on 386BSD. OpenBSD was a fork of NetBSD by one of the NetBSD founders (Theo deRaadt)...


It’s not even as clear cut as that because there’s FreeBSD and NetBSD code in XNU too.

Also OpenStep is an API rather than an OS. So macOS contains both NextStep and OpenStep code.


I'm pretty sure I've even read about FreeBSD code in the Windows networking stack. Is Windows now based on BSD? Open source code, especially when it's permissively licensed, ends up absolutely everywhere.


Windows is very much based on NT, which has its influences from a few different OS, most notably being VMS.

AFAIK there isn’t any BSD code in Windows however the original TCP/IP stack in Windows was a port from BSD. But we are talking about the early 90s here and it’s long since been rewritten by Microsoft (or so they say, but I have no reason to disbelieve Microsoft)


For NT 3.1, Microsoft purchased a TCP/IP stack from Spider Systems[0]. It's not clear how much of that code was based on BSD's TCP/IP stack. Microsoft wrote their own TCP/IP stack for NT 3.5.[1]

Microsoft did leverage BSD code for common network utilities (ping, tracert, ftp, etc.), which still exist in Windows today, although Microsoft's preference is to leverage the "better" equivalent PowerShell cmdlets where available.

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

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

EDIT: If you want to hunt for BSD code, try taking a look at NT4[2].

[2] https://github.com/lianthony/NT4.0/tree/master/private/ntos/...


The BSD TCP/IP stack went away when Vista was released, it is long gone.

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


For one, we don't know if it was "BSD TCP/IP" stack, just that the stack purchased from Spider was licensed as such, two, that stack went away with NT 3.5.


OPENSTEP is the OS, OpenStep is the framework.

After NeXTSTEP 3.3 there was OPENSTEP 4.0.

OPENSTEP 4.2 is the last operating system release prior to Rhapsody.

Yes it’s confusing.


True. The capitalisation rules for releases kills me every time too. Not just with OpenStep but with Next too. I now don’t even bother trying to get the capitalisation correct.

Considering how obsessed with UX that Jobs was, I don’t get how he thought the naming conventions were a good idea.


I believe it all came after Paul Rand did the logo.

NeXT looks good in the logo, and they spent $100,000 on it.

FWIW, I like it but it is confusing and made harder by the fact they also didn’t stick to their own conventions much of the time.




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

Search: