From owner-freebsd-questions@freebsd.org Tue Dec 11 04:19:01 2018 Return-Path: Delivered-To: freebsd-questions@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id E39BE1317A1C for ; Tue, 11 Dec 2018 04:19:00 +0000 (UTC) (envelope-from merlyn@geeks.org) Received: from mail.geeks.org (mail.geeks.org [IPv6:2001:4980:3333:1::1]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 5CD8481807 for ; Tue, 11 Dec 2018 04:18:50 +0000 (UTC) (envelope-from merlyn@geeks.org) Received: from mail.geeks.org (localhost [127.0.0.1]) by after-clamsmtpd.geeks.org (Postfix) with ESMTP id 47C78110219; Mon, 10 Dec 2018 22:18:49 -0600 (CST) Received: by mail.geeks.org (Postfix, from userid 1003) id 270FA11020A; Mon, 10 Dec 2018 22:18:49 -0600 (CST) Date: Mon, 10 Dec 2018 22:18:49 -0600 From: Doug McIntyre To: Alejandro Imass Cc: FreeBSD Questions Subject: Re: freebsd or linux Message-ID: <20181211041849.GA75666@geeks.org> References: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.10.1 (2018-07-13) X-Virus-Scanned: ClamAV using ClamSMTP X-Rspamd-Queue-Id: 5CD8481807 X-Spamd-Result: default: False [3.29 / 15.00]; ARC_NA(0.00)[]; FROM_HAS_DN(0.00)[]; R_SPF_ALLOW(-0.20)[+ptr]; NEURAL_SPAM_SHORT(0.96)[0.964,0]; MIME_GOOD(-0.10)[text/plain]; DMARC_NA(0.00)[geeks.org]; NEURAL_SPAM_MEDIUM(0.97)[0.972,0]; RCVD_COUNT_THREE(0.00)[3]; TO_MATCH_ENVRCPT_SOME(0.00)[]; TO_DN_ALL(0.00)[]; MX_GOOD(-0.01)[asg.geeks.org]; RCPT_COUNT_TWO(0.00)[2]; NEURAL_SPAM_LONG(0.93)[0.932,0]; IP_SCORE(0.73)[asn: 7753(3.74), country: US(-0.09)]; FROM_EQ_ENVFROM(0.00)[]; R_DKIM_NA(0.00)[]; RCVD_TLS_LAST(0.00)[]; ASN(0.00)[asn:7753, ipnet:2001:4980::/32, country:US]; MID_RHS_MATCH_FROM(0.00)[] X-Rspamd-Server: mx1.freebsd.org X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 11 Dec 2018 04:19:01 -0000 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.