As a unix system engineer it pains me to read this.
You are both wrong. Mac OS X is not based on a Unix kernel and there is no such thing as a "BSD" version of Unix.
A quick history :
1969 Unix is created in 1969 by Ken Thompson at Bell laboratories
1977 the Berkeley Software Distribution, or BSD started as a set of addons tools for the Unix version 6. Unix was originally an operating system but was later a brand and an specification. Any operating system following that spec can be considered a unix or unix-like OS.
Over the years the Berkeley Software Distribution was expanded with the rewriting of all the original Unix proprietary code as some was owned by companies such as AT&T (foreshadowing) which involved payment of licences. It evolved a lot and the codes were forked several time. Nowadays the most popular flavours are FreeBSD, NetBSD, OpenBSD and DragonflyBSD. They are all great operating systems. BSD is also a type of software licence. Basically those licences grants you the rights to modify the code and redistribute it under whatever conditions you want as long as you credits the original authors.
I'll leave out most proprietary unix flavors to focus on BSD, Linux and MacOS X.
In 1983 Richard Stallman founded the GNU (Gnu is Not Unix) Project whose goal was to create free (think
copyleft) a unix operating system. Both BSD and GPL (the licence mainly used by the gnu project) licences grants the user rights to read, reuse and modify the code but the GPL adds restrictions that prevent the code and its evolutions from being relicensed with more restrictive terms and become proprietary in the process. One thing to know is code from the BSD licence can be relicenced under the GPL licence but the opposite is not true. The project initially wanted to use its own kernel (Hurd) but developpment of the kernel was a bit slow comparatively to the other parts of the operating system (forshadowing again).
1985 Steve Jobs is ousted from Apple and found Next computer which build in the late 80's the Nextstep operating system. It was a unix proprietary OS which combined a mach microkernel, a BSD userland (think basic command line tools), the Objective-C language and a great toolkit to build apps. This is really the base of what is now Mac OS X.
At around the same time Andrew Tanenbaum created the Minix (think "Mini Unix") Operating System.
In 1991, Linus Torvalds published the first version of the Linux Kernel under the GPL licence. At the time of his writing the Minix OS was only 16-bit and didn't worked great on the cheap, newer and popular intel 386pc while the Linux Kernel was written for it. This is one of the reason it became quickly popular in the hobbyist world. There were many other propietary unixes such as SunOS, AIX or HP-UX but most of them weren't free or ran on much more expensive machines. Since Linux was only a kernel and needed some other code to be usable, it was quickly shipped as part of software distributions (the different flavours of Linux, think redhat, debian, ubuntu...) with a mix of code from the Gnu project (and also some BSD code) which is the reason people like Richard Stallman want us to talk about GNU Linux or GNU/Linux operating systems.
In 1992 AT&T sued Berkeley. For a few years the BSD code almost came to a complete halt because of uncertainty on the future of the project. This is another reason the Linux based operating system grew quickly much more popular as industries started to pour money into it.
In 1996 Apple is declining and the Mac platform is outdated. Gil Amelio becomes CEO and he quickly chose to purchase Next bringing both Steve Jobs and the latest concept and code of the Nextstep operating system. Nextstep code becomes nicknamed Rhapsody to integrate some Mac OS concept and a compatibility layer with legacy Mac OS 8 code.
1999 Rhapsody 5.1 is commercialised as the Mac OS X server 1.0 operating system. Nexstep also developped XNU, a hybrid kernel. It is a bit technical but it tries to get the benefits of both a microkernel and a monolithic kernel. Think of the microkernel as something very small that doesn't do a lot of things but rely on small other parts (drivers, network subsystem, filesystems....) that doesn't run with the same
privileges and can but brought up or down without restart of the kernel. It involves overhead. It can be detrimental to performances. Think of monolithic as big thing that does a lot of things but whose bugs can crash the whole thing. Linux is considered as monolithic, its founder calling hybrid kernels as as marketing bullshit. Windows NT kernels (windows servers + Windows Vista and successors) are also considered hybrid as well as dragonflyBSD's kernel. So the XNU hybrid kernel started during the Nextstep era as a hybrid kernel using a Mach 2.5 microkernel and some 4.3BSD code. When Mac OS X was developped it was modified to use a Mach 3 kernel and some BSD code from FreeBSD. The FreeBSD code include the POSIX API, many network protocols, the security policies (user/groups/permissions,audit), the virtual filesystem code, Unix system V IPC code, some crypto thingies.
Mac OS X (now Mac OS) was launched in 2001. It includes the XNU kernel (mach + some BSD code), some proprietary stuff and software libraries/tools licensed under the GPL licence.
Bottom line: it includes code derived from FreeBSD but doesn't use a complete BSD kernel per se. It also contains code that is also used on Linux distributions (think things like openssh/openssl, the CUPS printing server, some drivers, the command line shells...) but it doesn't run a Linux kernel either. That's the great thing of free (as in freedom, not free beer) softwares. It ends up in your desktop OS, on your phone, router, watch, fridge or toaster. From the lowest end to the top5 supercalculators.
Bookmarks