Lessons Learned from Recent Darwin Experiences

It has been a fascinating week in the Darwin world. We've gone from no x86 source to nearly complete x86 source. We've had a number of posting to the darwin-dev@ list, and we've gathered some Slashdot and Daemonnews attention. Being the self centered ego-maniacal person I am, I feel I've been deeply involved with most of the Darwin happenings this week and I thought I'd comment on the lessons learned.

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.

2) Don't work. Whine. It's a lot easier and a lot more effective. You can spend years working on something, fighting through all kinds of problems, overcoming adversity in the face of nay-sayers, and it all amounts to nothing. Write one 15minutes story, and BAM. You're famous for almost as long as it took you to write the story. Well, OK, maybe that isn't the best example, since I whined about communication and xnu sources, and neither has changed. But, the cctools issue is a perfect example of things getting fixed by complaining. Only time will tell if the xnu whining has any effect. I know the communication whine won't go anywhere. This is the basic premise of all the articles I've written this week.

3) People see what they want to see. After all that hard whining I did, people still think source availability is the issue. IT IS NOT. We look at WebKit. They are open source, and Darwin is open source. However, anyone that can't see the difference between the two projects is retarded. Ok, I know most people reading this are probably retarded, so I'll spell it out for you. WebKit has a live repository available to the world, they have an active issue tracking system that is open to the world. The developers communicate and work with external developers on mailing lists, irc, and weblogs. Darwin throws source drops over the wall from time to time, does not expose their issue tracking system, and when developers interact with the outside world, it is usually to insult them or at least have a condescending response on an Apple mailing list. WebKit allows external developers to see what problems and priorities are and to actively contribute the same. External developers have commit access to the repository, can review each other's changes, and get their changes into the Apple build process. Darwin developers, well, there don't seem to be any of those. Apple doesn't allow communication of bugs, features, or priorities, typically does not accept changes, and generally makes it as hard as possible to maintain any changes outside Apple. Not having source is merely a small symptom of an overall problem.

4) If there is one thing I learned from Slashdot, it is that people are dumb. They cannot be trusted to act even in their own best interest. Slashdot, a news for nerds site that supposedly has an interest in open source, was resoundingly in favor of Apple discontinuing their open source program. Many Slashdot readers use Mac OS X. Many Slashdot readers use open source projects that Apple ships and modifies. Many Slashdot readers benefit either directly or indirectly from Apple's open source initiative, yet they were largely in favor of the program being discontinued, or at least saw no problem with it being discontinued. I've always known people were dumb, but the extent of their ignorance continues to amaze me.

5) People will do nothing to improve their own plight. This is something I've learned both from Apple and from OpenDarwin. Perhaps Apple already knew this and this is the reason they don't do much open source stuff. First, the OpenDarwin example. Through the years of maintaining OpenDarwin, we've had problems and we've had goals. For each of these, we've had an amazing number of volunteers, but virtually no contribution. People bitch and moan about problems or how something isn't getting done, but when presented with the opportunity to fix the situation themselves, all the time they had complaining about the problem suddenly goes away. They no longer have time to fix or complain about the problem. They didn't have any shortage of time to complain about the situation when they thought it was somebody else's problem, but when it came time for them to do something about the critically important issue they were complaining about, poof, no more time. This effect is probably why the Mac OS X developers do not want to participate in open source. Lots of people complaining, no one actually doing anything about it. So, why even put put with the complaining? There appears to be little, if any down side to closed source.

So, it seems it has not been a very positive week for Darwin, despite all the activity and attention. Let's see, people are dumb, people don't act in their own interest, people don't improve their own situations, whining is better than doing, and people don't do anything with Apple's Mac OS X source. Hmm. I appear to have repeated myself in several sections. I think four of the subjects can be summarized with "people are dumb", yet the idea of no one doing anything with Apple's Mac OS X source appears contradictory. Clearly, I've outlined why doing something with the source is pointless, and even bad (see whining vs. doing). There appears to be two things that help reconcile this apparent contradiction. First, I would group *not* working on Mac OS X source, if you have a problem with it, into the 'not working to improve your own situation' category, which is a sub-category of being dumb. The second part to resolving the contradiction is that I'm a person and therefore dumb. I have to be dumb for devoting any time or energy to something that is so clearly unwanted. I believe that resolves all contradictions, and groups all the sub-categories under the header of 'people are dumb'.

Feb. 24 2006