freebsd or linux

Doug McIntyre merlyn at
Tue Dec 11 04:19:01 UTC 2018

On Mon, Dec 10, 2018 at 03:20:04PM -0500, Alejandro Imass wrote:
> Along those lines...  why did NeXT then-to-be OS X decide on Mach ? Anybody
> know the history on this? I have always wondered 1) who decided to use
> FreeBSD as the base OS (I'm guessing the licensing played a big part of the
> decision) , 2) Why Mach, 3) Why Objective C. Not that I agree or disagree
> with the choices just curious if the story of how/who chose these things
> for NeXT and if this story ever went public anywhere...

You can find bits and pieces all over on the history.

OSX is just NeXTStep redone with the Apple brand.

At the time of creating NeXTStep, research into microkernels was very
in vogue, as the perception was that the traditional unix kernels were
getting very bloated and impossible to manage any longer (now, we
probably have kernels orders of magnitude larger than what they were
trying to work against).

CMU's Mach research kernel started with 4.3BSD, and replaced the
kernel out of there with their own. This was still an era when unix
was encumbered, and 4.3BSD and later 4.4BSD hadn't been "freed" yet in
all senses of the word. CMU's work fed back into 4.4BSD to make it
better as well. This project was very influential, if not into a direct
decendant such as NeXTStep/OSX; the core ideas made it into many
commercial OSs of the time. 

Jobs knew he wanted a multi-user, multi-tasking OS. He was targeting
the research communities with NeXT that were used to multi-tasking
timeshare systems.  A cutting edge unix based OS was a natural fit for
this. It wasn't like AT&T was going to license SysVR4 to him.

As for FreeBSD, that just grew out of the early use of 4.3BSD/4.4BSD.
CMU was never trying (IMHO) to replace everything in 4.4BSD, but was
doing research into microkernels. 

Jobs was also so very influenced by the work at Xerox Parc.

SmallTalk was invented there, and Jobs saw the utility in having
libraries of objects ready to roll out programs quickly.

Objective-C is a lot of SmallTalk bound into the C programming
language, and adopted by NeXT. Combined along with its Interface
Builder, it made for quite a formidible GUI program design and
rapid prototyping environment.

When Apple bought NeXT, they basicly made the next version as Apple
OSX and continued along from the earliest concepts at NeXT.
Ie. even most Cocoa API calls are NS... for NeXTStep.

More information about the freebsd-questions mailing list