[nycbug-talk] Apple Releases Darwin 9 Source Code

Miles Nordin carton at Ivy.NET
Sun Nov 11 20:51:16 EST 2007


>>>>> "il" == Isaac Levy <ike at lesmuug.org> writes:

    il> I can't believe I'm going to come to their rescue in this
    il> thread- but here goes:

yeah I guess if I argue it as ``apple is bad'' I am just starting a
discussion that will get silly quickly.  It's hard, though, because
the press releases and almost everyone's reactions are shot up and
dripping with this ``apple is good'' sentiment.

Maybe it's better to ask questions like:

Q. does Darwin source availability mean I will have more software
   freedom if I buy a Mac rather than a wintel laptop, and thus make
   me more hip to the free software scene?

A. No.

   In fact, well-chosen generic PeeCee crap hardware is more
   free-software-friendly than Apple hardware.  in particular the
   wireless chip, but other chips, too.

Q. is it worth investing my time and attention in the Darwin source?

A. you might use it in a read-only way for working on NetBSD/macppc,
   or to help develop new exploits into functioning Mac OS X worms for
   a script kiddie botnet.  But you won't build it, modify it, or
   observe it running in a debugger.

Q. is Darwin the fifth BSD, another free as in freedom platform like
   the other four BSD's, as is implied by most people's reading of
   their press releases, by most casual /. discussion, and even by its
   on-topicness for a BSD user's group list?

A. Emphatically NOT.


As for Sun, I think Darwin is the free software world's version of
Vietnam.  When Sun makes press releases then stalls on delivering
source, fails to sell any hardware where all the drivers are
open-source, makes it difficult to determine what's open-source and
what isn't, and plays name-games with to what chunk does
``OpenSolaris'' actually refer?, people can accuse them of ``pulling a
Darwin'' or ``tossing source over the wall.''  At least Apple gave us
a word for this type of time-sucking disinformaiton disaster.

I remain skeptical, but Sun has done a few things differently than
Apple, which is why I invest time in Solaris but not in Mac OS X:

 * they've made a public commitment that every _new_ piece of Solaris
   they write will be open-source.  They have not _kept_ this
   commitment w.r.t. drivers, and I don't know a good way to audit
   them on it so I would suspect they're slipping in general, but at
   least they've made themselves vulnerable to mockery for a while
   when they deviate from this.

   Apple just talks (deceptively) about what they've done, and doesn't
   make or keep concrete commitments about what they plan to do.  The
   latter is what I need when deciding if I want to commit to a
   platform or not: some accurate idea about it's future.

 * over the last two years, pieces of Solaris that used to be closed
   have been released open, and we haven't had chunks mysteriously
   disappear from the release.  We are moving in the right direction,

   however I can't yet imagine a future of Linux/BSD-like freedom.  I
   predict we will never see the promised SunStudio source.  I also
   bet there will be important chunks of Solaris that are encumbered
   but are too old, critical, and painfully thrashed into bug-freeness
   for them to risk the massive QA and regression pain of a rewrite.
   And I bet they will hire anyone who knows how to work on these
   chunks, so the pressure to rewrite them will always remain minimal.

   but opening more subdirectories rather than taking them back inside
   the wall is still a big deal, and better than Mac OS.

 * there's a publicly readable Mercurial repository that's just a bit
   behind what Sun uses internally (though of course many things are
   missing from it).  That's a hell of a lot better than tossing
   slapdash collections of source files over a wall years after the
   corresponding binary stable release.

 * the source they release _does_ build.  consistently, I think.  You
   can complete a development cycle with it.  you have to link in huge
   binary chunks.  You have to install a binary-only DVD, a DVD which
   you can't build yourself, and then overwrite parts of your system
   with the results of an OpenSolaris build.  But at least what source
   they do release can be changed, rebuilt, used, and attached with a
   debugger.

 * the familiar names from mailing lists that Sun has hired seem to
   continue speaking relatively frankly after they sign Sun's papers.
   this is just an impression, but at least it's worlds apart from the
   impression apple gives.

 * Sun developers will actually post on their internal PSARC mail
   folders, ``why is this case marked closed?  There's no reason for
   that.''  and get an answer, and open it.  so I can only presume
   they are recruiting people with the promise, ``work on a
   mostly-open operating system.''  This makes it even harder for them
   to pull a Darwin, because they become infiltrated with these guys
   who they can't afford to lose in large numbers all at once.  I
   guess Sun could limit their exposure by avoiding hiring any
   developer who has no financial reason to work.  but still, I can
   imagine this change to their culture being one that actually
   sticks.

I probably trust Sun marketing less than Apple.  Those guys seem like
a bunch of land sharks on acid, with their constantly renaming things,
announcing features a year before they're released spreading
disinformation with stunning flagrancy, and enforcing this weird
newspeak on their employees.  But Sun's track record over the last two
years is so SO much better than the Apple disaster, and Sun has sort
of posted some embarassment-bonds by saying all new features will be
open-source, and made themselves vulnerable through the infiltration
of people who might quit if Sun pulls a Darwin.


more-or-less supporting you:

http://www.synack.net/~bbraun/writing/darwin_lessons.html

1) No one does anything with Apple's Mac OS X source. As we can see
   from the "usefulness of source" thread on Apple's darwin-dev list
   (http://lists.apple.com/archives/Darwin-dev/2006/Feb/index.html),
   no one on the darwin-dev list actually does any development on
   Darwin. Almost all of the responses to how people use the source
   Apple posts is 'documentation'. This is indicative of so many
   problems, I don't know where to begin. Well, actually, I do: Darwin
   is dead! Next: Apple's documentation sucks! Maybe darwin-dev should
   be renamed to macosx-documentation.

http://www.synack.net/~bbraun/writing/osfail.html

Much of OpenDarwin's initial content came from a site called
darwinfo.org, which I ran until I became employed by Apple and was
asked to remove much of the functionality.
[...]
Marketing thought that by throwing some source files over the wall,
they could increase their market share and revenue. And they were
right. You go to almost any technical conference these days, and there
is an astonishing number of Mac laptops in the crowd. Prior to Mac OS
X, people would have been laughed out of the building for having a
Mac, but now, with Mac OS X and the magic of open source, it was
suddenly OK or even cool. Managerially and culturally, Apple had no
intention of becoming involved with any community outside its own
walls. There were some well intentioned engineers and even a few low
level managers that were duped by their own marketing department, and
that was all. These people had given substantial amounts of their free
time under the illusion they were doing something Right, something
Good, but in the end were simply used by their own company's marketing
department.

    il> + Audit any of the listed systems/subsystems (to see how
    il> something you like or dislike is put together)

meaning for use ``as documentation''.

    il> + Independently Fix obscure or specific bugs, (publicly or
    il> privately), for use within purchased copies of the MacOS.

no, clearly you can't fix bugs if you can't build the source and
complete a development cycle.  Also, they don't accept back fixes.
(Sun does.)

    il> + Use as A rough snapshot for developers.

I don't know what this means.  

But a snapshot in {Net,Free,Open}BSD is in the same format as a
release.  It can be built, installed, run, debugged.  It's just less
stable.  Darwin obviously isn't that kind of snapshot!

    il> (Unless Solaris shops have now gone to deploying OpenSolaris
    il> on X86 in massive production environments that I don't see?

This is a good question for Sun: how do I check out the sources used
to build, say, Solaris 10 Update 4?  if I want to fix a bug on a
production machine myself?  I don't know the answer.  I don't know if
that branch is public or not---it might be.  The binary version of the
S10U4 stable release is free as in free beer, but as you say the
instructions posted are for building the development release only.

    il> Or UNIX hackers even running their personal mail server with
    il> OpenSolaris?)

not mail server yet, but planned.  I'm using Nevada b71 as an NFS
server and on two boxes as firefox/xterm/openoffice/xpdf/azureus/java
desktop.  I believe it works better for this than FreeBSD and OpenBSD.
On SPARC, it definitely does.

Anyway, for now, the actual complete installable OS is called Solaris
Express Community Edition, and is free as in free beer.  OpenSolaris
is the chunk you can build from source + blobs with 'nightly' and use
to overwrite part of your installed system.

    il> So with that, I don't see a reason to dogg Apple on their
    il> source code releases

IMHO a loudly self-congradulatory release of unbuildable source always
warrants some kvetching.  The fact that you can use it for
``something'' (documentation) doesn't mean no kvetching.  And arguing
that Apple didn't intend for me to be able to actually use it, only
for massive numbers of people to _believe_ I could use it, so my
frustration isn't a surprise to them but rather part of their plan,
doesn't make me feel better at all!

I think they should be given the boot.  out of the BSD club.  thanks
for taking our source, have a nice day, bye-bye!

-- 
READ CAREFULLY. By reading this fortune, you agree, on behalf of your employer,
to release me from all obligations and waivers arising from any and all
NON-NEGOTIATED  agreements, licenses, terms-of-service, shrinkwrap, clickwrap,
browsewrap, confidentiality, non-disclosure, non-compete and acceptable use
policies ("BOGUS AGREEMENTS") that I have entered into with your employer, its
partners, licensors, agents and assigns, in perpetuity, without prejudice to my
ongoing rights and privileges. You further represent that you have the
authority to release me from any BOGUS AGREEMENTS on behalf of your employer.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 304 bytes
Desc: not available
URL: <http://lists.nycbug.org/pipermail/talk/attachments/20071111/a764e41b/attachment.bin>


More information about the talk mailing list