While all the hoopla was taking place out in Portland at the
Eight Annual O'Reilly Open Source Convention (OSCON) this week,
some of us noted the ever-so-quiet death of what should have been a
vibrant open source project: OpenDarwin.
Now, from a sheer Linux standpoint, we should not shed too many
tears for the demise of OpenDarwin, the almost SourceForge-like
project created in April 2002, ideally to develop open source
software for OS X. They were also working on creating their own
Darwin-based "distro." The project is (still) heavily
referenced on Apple's own open source pages, and while not
officially under Apple's control, it was clear that they were
putting a lot of effort in steering open source developers through
Still, c'mon, let's face it, if OpenDarwin kicks the bucket,
it's just one less OS for Linux to compete with, right? From a
purely pragmatic viewpoint, this is true. But we are not in a
vacuum. The closing of OpenDarwin is an object lesson for us all,
especially for those of us who choose to work with large
corporations who open source their code for outside development
"community participation." For the most part, this participation is
exactly as advertised. People inside and outside contribute code,
the changes are accepted or rejected on the code's merits, and the
final project is created. But too many times "community
participation" is actually code for "unpaid labor." The case of
OpenDarwin and Apple is just the most obvious example.
What, then, exactly happened? It depends on who's talking. The
developers involved in OpenDarwin cited
"availability of sources, interaction with Apple representatives,
difficulty building and tracking sources, and a lack of interest
from the community" as contributing reasons for the pending
shut-down. I think they were just being politic. What was really
happening was that Apple had built a firewall between OpenDarwin
and OS X. The most glaring evidence of this is found in how Apple
treated what should have been the flagship project within
OpenDarwin—the Darwin code itself.
According to Darwin developer Rob Braun, there were several
problems just dealing with the change management system developers
needed to use to work on the Darwin project, not to mention strange
conventions the internal Apple developers used. Even if a developer
was diligent and got their code properly within the Darwin
development branch, it still would not enter the OS X build process
until an Apple developer took the time to merge it.
Despite these obstacles, Braun indicates that things were going
along fairly well, until Apple decided that it could not contend
with all of the input it was receiving, especially from disgruntled
coders who weren't getting their bugs fixed fast enough and were
sending terse and rude messages to internal Apple employees. In
response, Braun says, the nightly bug snapshots went away. Now,
however, coders had a more difficult time keeping pace with the
But what really made things bad was when Apple decided to keep
some future-release features secret. Braun
"As time went on, and Mac OS X got closer to release,
Apple decided they wanted to keep some things secret. Some new
features needed to be worked on, but couldn't be in the live cvs
repository, or it wouldn't be a secret anymore. Some things leaked
out, which caused no end of fuss, and gradually projects were
removed from the live cvs repository. Eventually, so little was
left in the live cvs repository and processes already needed to be
in place to do periodic source drops, the live cvs repository was
abandoned. For a while, the project floundered, trying to figure
out how best to deal with the situation. Source drops continued to
be made to an external cvs repository, but all agreed that made
little sense. Eventually, Apple settled on the system that is
currently in place, where .tar.gz files are placed on a web page.
"Not only did access and availability diminish, but projects
started to disappear altogether. In Darwin 1.0, source to
everything was included. In Darwin 1.3, some drivers started to be
included without source for PPC, but the Darwin/x86 variant still
had all the source available. Over time, an increasing number of
drivers and other projects stopped having their source available.
For the most part, these were leaf node projects and not having the
source didn't prevent people from continuing to be able to build
things. Eventually, the closed source portions of Darwin encroached
on other projects; it became increasingly difficult to build
And that, in a nutshell, shows why Darwin has screeched to a
near-halt in terms of outside involvement. Darwin/x86 source code
is completely closed, and Darwin/PPC is partly closed and, oh, did
we forget it's a soon-to-be diminished platform?
This pretty much seems to be the attitude Apple has decided to
take with most of its open source projects, though I am told that
some are still flourishing, with and without Apple's active
participation. Which explains why the over-arcing OpenDarwin
project is about to bite the dust.
Geez, no wonder so many Apple developers are looking at Linux as
a more attractive option. If I were getting treated like that, I'd
leave too. This reaction to Apple's arrogance seems to be trickling
down to the users as well, since a bunch of the more notable ones
are also switching over to Linux lately. (Though, as an aside,
should we tell them that Ubuntu does not represent all that is
Apple has and is squandering the good graces and talent of many
developers, that could make their products outstanding. Their greed
and fear has kept them from truly embracing the concept of open
source, something which might have helped them get out of the
squeeze put upon them by Linux and Windows.
This eventually comes back to Linux, because it raises an object
lesson for all of these companies who open their code and invite
community participation. You need to be aware that this kind of
behavior will ultimately get you nothing but grief. Most of you are
genuinely interested in open source development, and we welcome you
with open arms.
But for those few companies who are looking to make a quick buck
with some cheap help, think again. The Linux community notoriously
does not suffer fools and doesn't fall for a lot of marketing hype.
They talk, they react, and they are vocal.
Don't follow Apple's example. Be a real community member, and
reap the benefits of what you sow.
Some of the products that appear on this site are from companies from which QuinStreet receives compensation. This compensation may impact how and where products appear on this site including, for example, the order in which they appear. QuinStreet does not include all companies or all types of products available in the marketplace.