
The BSD family tree - jbergstroem
https://github.com/freebsd/freebsd/blob/master/share/misc/bsd-family-tree
======
lobster_johnson
Here's a much bigger one that takes lots of Unix variants into account:
[https://www.levenez.com/unix/unix.png](https://www.levenez.com/unix/unix.png)
(from here [1]). Also available as a big PDF.

Edit: Updated with newest version.

[1] [https://www.levenez.com/unix/](https://www.levenez.com/unix/)

~~~
tiffanyh
Wow, looking at the family tree above - I can't help but think how this has
fractured the BSD development community.

Unlike Linux, with has a viral license which essentially forces people to work
on the same code base - BSD doesn't, which from a technical standpoint causes
way more forking and less contributions back to a main tree.

~~~
lobster_johnson
I don't think the situation is that different. Linux being the kernel, there
are lots of "Linux distros", some of which are almost as different from each
other as FreeBSD and NetBSD. For example, consider the many package managers
(deb, rpm, Nix, etc.), init systems (SysV, Upstart, Systemd, etc.), graphical
environments, etc.

The BSDs have a different philosophy where the kernel and userland go together
as one package. Linux distros reuse the same kernel and rely on GNU for many
tools, but are otherwise free to do their own thing, just like the BSDs.

I doubt the GPL is what really keeps Linux together. Rather, since the Linux
kernel is developed separately from everything else, and is such a huge thing,
there's little incentive to fork the kernel along with userland. You develop a
new userland (as with Android) and keep the kernel.

~~~
bluejekyll
It's not entirely accurate to say the Linux kernel wasn't forked. There are
many distros that manage a separate kernel from the standard releases and
backport individual changes, RHEL is an example of this.

Now it's not exactly accurate to call this a fork either b/c they do
eventually catch up... but still, lots of non-standard kernels out there.

------
elvinyung
Heh. Between NetBSD 1.4 and Darwin/Mac OS X there's an entry that just says
"(?)".

It's probably pretty well-known that question mark is NeXTSTEP, which was
built at NeXT, the company that Steve Jobs founded after he left Apple the
first time around. NeXTSTEP was built around BSD mostly because of Avie
Tevanian's involvement in CMU's Mach kernel project.

~~~
djsumdog
I was wondering about that; didn't realize it was NeXT. A friend of mine still
has his original NeXT box for the short time he worked on it.

I was also surprised at the origins of DarwinBSD. I never really looked up the
history and didn't realize it forked some of the code off FreeBSD.

It's interesting to note that the PS4 OS is also a forked FreeBSD variant as
well.

~~~
simplehuman
Switch also forked

~~~
boomboomsubban
Still haven't seen anything showing this, including the license for the
FreeBSD kernel can mean a lot of different things. Windows did/does ship with
it, I wouldn't call it a fork.

~~~
pjmlp
If you mean the TCP/IP stack it was re-written from scratch on Vista.

------
aninteger
This is missing a lot of BSDs. Now granted some of them are dead, some
inactive, some just missing. The ones I can think of off the top of my head:
PC-BSD/TruOS, MirBSD/MirOS, Bitrig, HardenedBSD.

~~~
X86BSD
Most of those are just FreeBSD. Pulling from the FreeBSD tree for their base.

~~~
JoachimSchipper
MirBSD and BitRig (which looks very dead?) are OpenBSD forks.

------
knz42
There's also [https://www.levenez.com/unix/](https://www.levenez.com/unix/)

------
drewg123
It is funny.. I was just combing through old BSDs earlier today. I'm giving an
internal talk next week about some changes I've been making to mbufs, and I
was trying to find out when mbufs were introduced. They've been around since
before I wrote my first FreeBSD, Tru64, and BSDI drivers in the 90s.

The earliest I can find is 4.1c from 1983, but that looks more fully formed
that I expected. And there is a fragment in a 2.9 from 1982, but I think that
leaked in from 4.1.

~~~
cat199
3BSD-4.2 sounds about right -

My thinking w/o references (enthusiast but was not 'there' at the time) is
that this was introduced with either the 32Bit VM system, FFS implementation,
or BSD network starck - probably the McCusick FFS papers [ed: are worth a
read].

Really it's kind of nuts how 'usable' and 'current' a load of 4.3BSD on a VM
load feels out of the box.

~~~
drewg123
If you ever get a chance to hear Kirk talk about the history of BSD, I highly
recommend it. He tells some great stories about the TCP bakeoff, the history
of the VAX context switch code, etc.

------
emmelaich
SunOS should be in there too, not exactly sure where.

-Off NET/2 or Reno probably.-

Correction, off 4.0.something or earlier.

See wikipedia.

~~~
drewg123
Along with DEC Ultrix, and (kind of OSF/1, Tru64, etc).

There were lots of other proprietary BSD based systems in the 80s as well.

~~~
NelsonMinar
Ultrix forked off BSD 4.2. It was the Unix I learned first, and working with
it when the civilized world was working off BSD 4.3 variants made life really
awkward.

~~~
drewg123
Ultrix was my 2nd unix, after SunOS 4.1 on a massively over-committed
Solbourne. I preferred Ultrix just because the machines were in a closed lab,
and "faster" because there weren't 300 undergrads trying to compile their
projects all at the same time on an overheating Solbourne...

------
reirob
There is also [http://www.quicklycode.com/infographics_posters/unix-
history...](http://www.quicklycode.com/infographics_posters/unix-history-
poster)

------
sverige
I love the BSDs. I just took a personal tour of the current state of affairs
in BSD-land. I can't get WiFi to work with OpenBSD on an old Thinkpad T60 I
recently got, so I've been trying all the other BSDs on it to see what works.
A couple of them won't boot at all. WiFi works best with FreeBSD and
HardenedBSD, which is unusual on laptops in my experience.

~~~
JdeBP
I've just had a similar experience with an old 32-bit CPU Acer Aspire One. I
tried what modern 32-bit BSDs I had, including GhostBSD and OpenBSD. Only
FreeBSD 10.3 drove the WiFi network adapter. Interestingly, FreeBSD 11 did
not. So there's a regression of some sort in there, somewhere.

------
partycoder
Someone should convert it to graphviz.

------
bootload
"4.4BSD Lite2 -> OpenBSD 2.3"

What happened with the 4.4BSD lite to OpenBSD fork? The next OBSD is a parent
of NetBSD.

~~~
tedunangst
The openbsd 2.3 label is duplicated to prevent too many lines.

~~~
bootload
thx @tedunangst probably should have duplicated the txt diagram with a proper
diagram. A jump could be shown with a "<" or "(".

------
ksec
So what happened to NextBSD, has FreeBSD 12 essentially replaced it?

~~~
hvs
NextBSD was a fork of FreeBSD that used a microkernel and components from
Darwin. It was not intended to replace FreeBSD. That said, it looks like the
project died well before it was ready for production use.

~~~
jle17
> that used a microkernel

I though they just added Mach IPC ?

------
liopleurodon
where's bitrig?

~~~
tedunangst
It's dead, Jim.

