From: edwardj@microsoft.com (Edward Jung)
Subject: Re: End of NeXT
Date: 30 Dec 92 09:03:55 GMT
Organization: Strategy Division, Microsoft Corp.

[The holiday season gives me time to peruse these great advocacy
 discussions... entertainment for all!]

Ah, we are enamoured of the term "microkernel". Indeed there was a
great panel session at the last couple of workshops on operating
system technologies (SOSP and WOOOS) on defining exactly what is
a microkernel OS (and, for that matter, what is an object-oriented
one)! Because it has become some kind of "Holy Grail-like" blessed
techno-marketing term, it is suddenly important to categorize.

Unfortunately, you won't find an unequivocable answer. Sigh. There
are those who will say that NT is not a microkernel. Cutler said
this at times because it was so tiring justifying the term, and
there were many religious zealots of one particular persuasion
at the microkernal os workshop (where he said this and showed
supporting slides). Even within Microsoft this is a debatable topic.

Of course, until Mach 3.0, Mach isn't a microkernel implementation
either, although you could debate that it was a "microkernel-
inspired architecture".

Anyhow, if you are really interested in getting informed, Custer's
book on NT is a reasonably good one that outlines the basic NT
structure. It is heavily client-server, and has an architecture
that separates core services (in the NT Executive) from user-level
subsystems (much like Mach). It has a kernel within the Executive
that manages kernel objects. Read the book -- it's reasonable. The
NT architecture is different from Mach. In some ways there were
compromises made (as always in shipping software). Rick Rashid,
the head of the Mach project at CMU now heading the research
group at Microsoft, admits that in some places NT is very nice,
and in some places it is not as nice when compared to Mach.

Ultimately, however, those level of services aren't even very
interesting. For the users, applications, server services,
and user interface are interesting. For purchasers, a variety
of support and pricing issues are important. For developers,
the API and tools are important. The quality of these is not
as constrained by Mach vs. NT as other factors. The main point
for Microsoft is that NT is good enough to build upon (i.e.
it is a "real" full featured OS infrastructure), not that
it is "God's gift" to OS technology. Infrastructure is very
important -- look, for example, how much mileage NeXT gets
from Mach ports or typed streams, or Microsoft has from
DLLs or window handles.

A final point. Microsoft has traditionally focused on customer
needs. NeXT, and Jobs, have focused on anticipating the needs
that customers don't have yet, but probably will. As the
industry has become more market driven due to competitive
and pricing pressures, direct focus on customer needs has
been very profitable since the purchaser tends to think in
those terms (esp. for corporations). There is a drawback to
this -- when paradigm shifts occur, you need to make the
long term big investments. GUI is one. Networking. Groupware.
Early investments made Apple, Novell, and Lotus Notes key
products today. In the future, pen, multimedia, consumer
information services, and other things like that may be
key. Microsoft and Bill Gates have focused their efforts
in innovation in a different direction with a different
vision from other companies. This is the perogative of a
company -- to find their own direction. If and when you can
obtain a system that gives you ubiquitous access to services
and information from a variety of devices including mass
market consumer ones like your TV, who is to say that
company made the wrong choice by not focusing on making
the most "insanely great" platform for object development?

After all, no company can solve all the problems; so we
pick the ones we think we have a good chance at solving...

--
Edward Jung, Software Architect     edwardj@microsoft.com
Advanced Systems, Microsoft Corp.
Newsgroups: comp.sys.next.advocacy