Hacker News new | ask | show | jobs
by TallGuyShort 2323 days ago
Some BSD userspace only, and with few of the things most BSD people like about BSD.
1 comments

What’s it missing?
Updates since 2004? It's like they took an old snapshot of BSD userspace and some of the syscall interface, except somewhat broken (see the long saga of broken select/kqueue in OSX). Fundamentally Darwin is a completely different beast based on Mach. It's radically different from the core BSD kernel. Most of their userspace is built on Objective-C, which has 0 overlap with BSDs.

It's cool that the Mac community used some BSD code way back when — that's why we use a permissive license — but they've forked whatever they took; they never work to integrate their changes back upstream. To the extent that they're a BSD, they're a very very divergent fork of a historical BSD. And that's fine, for them. I don't know if that makes them a BSD or not in some ontological sense.

> ...but they've forked whatever they took; they never work to integrate their changes back upstream.

This is why I personally force GPLv3 licenses in my own projects, even if it's fairly small.

MIT is a beautiful license but, unfortunately this happens when idealism collides head-on with private corporations.

To be clear, they mostly publish their changes under open or even copyleft (APSL) licenses. The problem isn't one that the GPL solves. They just dump the modified sources on their FTP and make no attempt to interact with upstream.

The limited exception is Clang/LLVM, where to some extent they are the upstream.

(A clarification: I also like the MIT license, but the majority of BSD is published under the so-named BSD license, with some number of other clauses. You might already know that, and if so, sorry for repeating the explanation; I wasn't sure from your comment. They're both permissive, but not identical licenses.)

Open-source, for one, but that's more than just a philosophy in BSD. One of the key design considerations touted by BSD communities is that the kernel and userspace are distributed and built as one cohesive system for which you can get all the source / rebuild on your system. And that's done far more often than in Linux and other more mainstream OSs. But it's not a BSD kernel and what's distributed / used is very far removed from open-source Darwin and anything you could rebuild yourself. On the more subjective side of things, BSDs tend to value simplicity and correctness over new features. OpenBSD takes this to an extreme, but FreeBSD still takes it a lot further than Apple does.

But other than having more claim to the UNIX title than Linux and having some BSD userland, it's really not technically a BSD at all. I'll grant you it's arguably a distant descendant of BSD under the surface or in your shell.

Zfs