I thought with his not invented here syndrome and desire to control everything and attraction to simplicity and graphical UI he would have hated unix.
How did he come to love unix enough to build NextStep on it?
I thought with his not invented here syndrome and desire to control everything and attraction to simplicity and graphical UI he would have hated unix.
How did he come to love unix enough to build NextStep on it?
Lisa and Mac were products of his seeing the Smalltalk GUI at his visit to PARC. There was nothing off-the-shelf, so they had to be built from scratch.
Of NeXT he said that he had been so bamboozled by the GUI at his PARC visit that he missed the other two, arguable more important concepts: OO and networking.
NeXT used as much off-the-shelf components as possible: Ethernet + TCP/IP for the network, Unix for the OS, Adobe's Display Postscript for graphics, Stepstone's Objective-C for the OO parts (which in turn mashed together C and Smalltalk). It bundled TeX, Sybase SQL Server, a bunch of scripting languages, Webster's dictionary, etc.
They only built themselves what they absolutely had to to get the machine and user experience they wanted.
See also, forking KHTML into WebKit to build Safari when MS cancelled Internet Explorer for macOS and the platform was left without a robust browser choice. For two reasons: That they were somewhat comfortable letting MSIE reign for so long rather than making an inhouse option, and for not starting over when they did.
Well, no. They evaluated the existing choices and decided that KDE's code was a better fit.
> Melton explained in an e-mail to KDE developers that KHTML and KJS allowed easier development than other available technologies by virtue of being small (fewer than 140,000 lines of code), cleanly designed and standards-compliant.
Kocienda's book doesn't say that Melton's email is a post-hoc rationalization. It doesn't say anything about that email on a meta level. It merely gives a straightforward account of the project's history from Kocienda's perspective. There is zero contradiction between this, the message from Melton on the KDE mailing list, or the other historical accounts (e.g. on Wikipedia) that cite Melton.
The official story from Melton has always been that they originally tried to start with Mozilla, found it too difficult to work with, so they abandoned it and adopted KDE folks' work as the basis for their Mac-native browser.
The most relevant passage from that email:
> When we were evaluating technologies over a year ago, KHTML and KJS stood out. Not only were they the basis of an excellent modern and standards compliant web browser, they were also less than 140,000 lines of code. The size of your code and ease of development within that code made it a better choice for us than other open source projects.
(GeekyBear's "Well, no" here is definitely wrong if the particulars from Kocienda's account are in fact accurate, but that's simply poor synthesis on some HNer's part and doesn't make Melton's version a retcon. The accounts we have from those involved are consistent.)
Safari was shipped almost exactly at the end of that agreement, and the announcement as to IE for Mac being discontinued was 6 months later.
Supporting UNIX was a business opportunity to go against Sun and other graphical workstations.
There are recordings of NeXT meetings, and his famous appearance at USENIX, regarding this.
Note that everything that matters on NeXTSTEP is based on Objective-C and Framework Kits, zero POSIX, beyond what was need for those government and graphics workstation contracts.
https://www.youtube.com/watch?v=CtnX1EJHbC0
His interview with Unix Today is arguably a better point of reference[0], here's a pull quote:
> we believe very strongly that these Unix battles are foolish, that they're not serving our needs as the Unix community and, more importantly, the problems with the Unix marketplace are not that there are three versions of Unix, all 5 percent apart, that need to battle it to the death for one version. The problem is that Unix is only part of what is considered a modern operating system
He didn't start a company to sell Unix machines out of some malice toward the bearded. He started it as the Next Step after Unix as it was at the time. Rather successfully in the long term.
[0]: https://www.tech-insider.org/unix/research/1991/11.html
https://news.ycombinator.com/item?id=34449912
And in that meeting he expresses the point UNIX being relevant due to the workstation market, not because he is such a big UNIX fan.
Even though IRIX had its quirks.
Jobs became majority stakeholder of Pixar in 1986. NeXT was incorporated in 1988.
* https://en.wikipedia.org/wiki/Pixar#Independent_company_(198...
* https://en.wikipedia.org/wiki/NeXT_Computer
But Unix workstations were a thing even before then: 68k-based systems were already around in the 1980s, with Sun (taking just one example) releasing their first product in 1982:
* https://en.wikipedia.org/wiki/Sun-1
IRIX-based systems on MIPS were big in the 1990s (post-Jurassic Park), but SGI also started with 68k-based systems.
More likely scenario is they wanted to come to market as fast as possible with limited resources, so porting Mach kernel and BSD (both proven/robust things) to their platform was probably the fastest route; It'd also have an existing base of developers to attract and carried some weight if they targeted workstation market.
edit: this is what made me think why maybe he was influenced, since Steve Jobs did actually launch another "cube" two years before NeXTcube, which was developed in the time before him buying pixar. This thing required an SGI/Sun to be attached: https://en.wikipedia.org/wiki/Pixar_Image_Computer
Jobs bought Pixar in 1986 when they developed their own computer systems. Luxo Jr. was shown at SIGGRAPH that same year, one part advertisement for their computer, and one part fun hobby project because some of the Pixar guys aspired to one day do a fully computer animated full length feature film of their own. This worked out very very well for them. Eventually, but they also stopped developing the Pixar Computer System in 1990 in part because Jobs was losing a lot of money propping up both NeXT and Pixar.
Development of NeXTSTEP began in 1986 under Avie Tevanian based upon the Mach kernel he had co-developed at Carnegie Mellon which was developed with the intention to replace the kernel in BSD, which at this point I believe is still just BSD and years away from fragmentation. NeXTSTEP 0.8 was previewed in October 1988 and all the core pieces were there: the Mach kernel, BSD, DriverKit, AppKit, FoundationKit, Objective-C runtime, and the NeXTSTEP GUI. 1.0 came in 1989.
IRIX 3.0 was released in 1987 debuting the 4Sight window manager which isn’t too similar to what was released in NeXTSTEP but does use NeWS and IRIS GL, however it was based on System V UNIX. It’s not until Pixar started making movies, I think actually starting with Toy Story, that they bought Silicon Graphics workstations. For Toy Story, the render farm also started off using SGI but eventually moved to Sun computers.
So if anything, IRIX and NeXTSTEP are probably a decent example of convergent evolution given they were both (at least initially) in the business of making high end graphical workstations and neither needed to reinvent the wheel for their target market.
More likely the decision to use Mach/BSD was because Avie Tevanian was the project lead for the operating system.
4Sight also didn’t debut until IRIX 3.0 (1987, also when it picked up the IRIX name), prior to that they used mex which I traced back as far as 1985 and prior to that I’m not sure, but I don’t think they had a window manager and it seems unlikely they would prior to 1985.