MOSR on MOSX

Tim Byars (tbyars@earthlink.net)
Wed, 9 Dec 1998 20:24:14 -0800


OS X insights

Recently, an effort to learn more about Mac OS 10 from a developer's
perspective has turned up a number of insights about OS X and its future.
In a summary form:

Virtually all of OS X is built with Objective C, rather than assembly code
or other low-level languages, allowing for what seems to be the best
work/performance ratios, as well as excellent portability (while the OS X
kernel is certainly platform-dependent, once the kernel has been ported,
the actual Carbon and Yellow Box APIs would take very little time to port
at all; one estimate put it as about a month's work.

The primary reason that OS X doesn't already work on a number of platforms
is the simple, persistent fact that Apple is making a majority of its
bottom line from hardware sales. The primary reason that OS X for Intel is
still an active project is the number of WebObjects customers who have
invested in x86 iron. If Apple were to be in a better position to continue
growing without dependency on its hardware sales, OS X could be made to run
on virtually every significant platform with few if any differences at the
application level.

Apple's new developmental driver kit has been described by sources both
inside and outside Apple as impressive -- by using the same concept as the
Yellow Box -- developers should not have to do any work where others have
done the work already -- drivers can be written in very short order and
with very little investment. Drivers are written in standard C, rather than
the less widely known (but considered superior by many) Objective C APIs.

The open-source argument is a very complicated one for Apple, but it has a
number of compelling protection mechanisms that could work well if Apple
could find a compromise between only giving source to Higher Education, and
a fully open, GNU-style source license: Because virtually all of OS X is in
Objective C (which is a very high-level language) it can very easily be
reverse-engineered anyway. It would be very difficult to move sigificant
amounts of the OS X code to another language; considering that Apple is a
stronghold of Objective C knowledge, it is unlikely that other companies
would be able to hide the amassing of resources required to build and
Objective C-based OS, and if they did, it would be "trivial" for Apple to
prove this and enforce whatever license it had placed on the code. With
Apple already planning to release most of its source to Higher Education,
any competitor who really wants Apple's source can probably get it. All
told, this makes it appear that Apple's current source strategy is taking
all the risks of an open-source development plan, but none of the benefits
-- which are manyfold, as any user of Linux knows. These include: better
security, faster bugfixes, and a no-cost option for developers who need to
use none of Apple's commercial developer support resources. Not to mention
users being able to offer up their hacks directly to Apple, rather than
releasing them as unstable and unsupported extensions.

Developers suggested that somewhere at Apple, at least one relatively
current version of Rhapsody/OS X is running on a Sun SPARC machine, simply
because of the relative ease of even the latest OS X builds to be placed on
a platform which has already had the kernel ported to it; according to a
reliable Apple source, just such a machine does exist (two, possibly three,
in fact), even if it is tucked away as a pet project that may not see the
light of day.

Although the consensus seems to be that Streams (AKA OpenTransport) is an
awesome technology, the base TCP/IP stack in OS X is expected to continue
to be BSD Sockets -- at least for the first consumer release. The primary
reasons for this are that a lot of the security and compatibility features
being written for OS X right now are dependent on particular features of
the existing networking code, and Apple doesn't believe it has time to do
both things as well as it should. Thus, stick with the clear and present
needs, and then hopefully add core-OS-level STREAMS post-first-release.
Streams compatibility will always be present, since work has already been
done to give Carbon and Blue applications access to TCP/IP on OS X.

There is much more to the current situation with OS X -- Server being held
back and the initial "GM" having been scrapped in order to use the extra
development time provided by delays in providing important applications for
the OS X Server CD and hardware bundles....a next-generation Blue Box with
rootless (e.g. inside the Yellow Box interface, rather than in its own
full-screen environment) operation, and countless others. These will be
covered in the near future on MOSR. However, the situations with platform
availability and handling of source would seem to be the most defining.

If you have opinions, insights, suggestions, or just want to flat-out
rant, you can join us on IRC, send us email, or go direct to the source by
emailing leadership@apple.com.

--

Go sell crazy somewhere else, we're full up here. ...Nicholson

<> tbyars@earthlink.net <>