I'd like to respond to the posts on Slashdot about the uproar following my article on Daemonnews. I'd like to address the comments in the headlined article, then move on to the posts made by users. I will be taking the most highly moderated responses, since presumably that is indicative of the Slashdot Community's feelings on the matter.
First, the main article. Here is the text from the main posting:Will MacIntel Kill Apple Open Source Efforts? An anonymous reader writes in to say that "Rob Braun (OpenDarwin core developer claims Apple's open source efforts are now dead, because Apple is afraid of assisting OSx86 piracy. First, Apple withheld the source of cctools required to to build Darwin. Now it seems they are no longer releasing the source to OS X's xnu kernel. "Let's start with the headline. Notice nothing in the Daemonnews article I posted or posts to the mailing list mentioned MacIntel killing Apple Open Source Efforts. This is clearly either the poster or the Slashdot editor getting a little excited. At best, MacIntel would restrict the Darwin open source effort. MacIntel has little to do with killing off Apple's other open source efforts such as WebKit, Headerdoc, Darwin Streaming Server, OpenPlay, mDNSResponder, or gcc, not to mention the dozens of GPL'd projects Apple ships that they must release the source to.
Now, the main posting its self. The posting claims that I said Apple's open source efforts are now dead because Apple is afraid of assisting OSx86 piracy. Again with the Darwin and Apple Open Source Efforts confusion. I will take it as a failing of my article that the readers made no distinction between the two. Next up is me saying (something) is now dead. I would like to be perfectly clear on something Darwin has been dead for years. It has lived on in a zombie state and bits have been falling off the rotting corpse. It's only now that people are starting to notice the stench. Moving right along to the supposed reason I claim Apple's open source efforts are dead: because Apple is afraid of assisting OSx86 piracy. Note nothing in any of my articles, posts, irc comments or anything else ever claimed that as a reason for anything. The reason Darwin in particular failed is because the Mac OS X management does not care about Darwin or an external community, or even the desires or contributions of an external community. They can be like everyone else and get their features/bug reports reported in radar or through their sales rep, and management will prioritize features and bug fixes. Now, if we wanted to Apply the piracy argument to one particular issue, the release of kernel and driver source, that's another matter. I am not privy to the reason the source has not been released, so I don't know if it is piracy related. However, I would like to point out the piracy argument is bogus. Patches have been released to get Mac OS X running on unauthorized machines without the missing source. More than likely, the reason has to do with the utter chaos inside Apple with doing simultaneous release of two versions of the OS on two different hardware platforms, and the embarrassing disconnect between the sources in the two forks of the OS. But, pure speculation. So, we've managed to pretty much demolish the validity of the first of three statements in the original posting.
Next up, we have the posting claiming Apple withheld the source of cctools, it is required to build Darwin, and now Apple is no longer posting the kernel source. Superficially, this is true. Initially, no x86 sources were posted, not even GPL'd ones. The lack of GPL sources being posted should have made people suspicious something was going to happen eventually. And eventually something did. The GPL sources were posted. Interestingly, Apple chose to break out their assembler from the cctools project and post it individually. This was presumably done in order to satisfy the GPL licensing of the assembler without needing to post the entire cctools project. The fact that the assembler and the rest of cctools were so tightly integrated in the first place should have GPL zealots up in arms already, but no one seemed to notice that part. Anyway, we have no idea if this break out of the assembler was done internal to Apple as part of a book keeping effort, or if it was done exclusively to satisfy the licensing requirements of the GPL without releasing all of cctools. In any case, it caught quite a few eyes. Apple had satisfied the letter of the law and released the bare minimum they needed to. At this point, with no further communication from Apple, it was reasonable to assume this was all the source we were going to get from Apple for x86. This caused quite an uproar. After several weeks of complaining by a great many people on the Apple mailing lists and elsewhere, Apple posted more sources, including cctools. I would like to emphasize that this was done without comment from Apple. We did not receive any communication that such sources would be posted eventually, and we did not receive any communication when the sources were finally posted. It is easy to conclude the sources were posted in response to the complaining, and was not part of any grand plan to release additional sources. This entire procedure is entirely unusual in that is has never happened before. There have been delays in getting source, but never has source been posted piecemeal. Anyway, the sources posted were largely other open source projects Apple collects from the rest of the world. FreeBSD userland stuff, xinetd, sudo, etc. But, the uproar about cctools was finally over. However, many of the posted sources were not useful. They relied on headers (and possibly more) from the kernel, which was not released. Darwin/x86 obviously needs a kernel to boot, and even if you're not interested in booting a separate OS, you need parts of it to build other things you probably are interested in.
So, the last two statements of the posting were superficially true, although I would like to point out one subtle issue. The posting says "... they are no longer releasing the source to OS X's xnu kernel". This implies a sort of new policy that henceforth the kernel shall no longer be open source. We received no communication on the subject. Dead silence. We have received no new policy announcement. Of course we have never received any sort of policy relating to Apple's Open Source commitment, just marketing drivel. Policies are basically promises, or an informal contract. Apple does not need to issue such devices because they hold all the cards and are not interested in gaining anything from anyone else. Why limit yourself for no perceived gain?
The responses on Slashdot were typically in the following categories:
Next, there is the posting subject that Apple doesn't owe us anything. Completely true. I can find no fault in the logic here. However, Apple has made a number of marketing claims of supporting the open source community, of having a free open source operating system, and that the core of Mac OS X is open source. Now, a rational, cynical human being would say corporations around the world say anything to make a buck and you can't trust them, so why did you believe these open source claims? Very fair. Some of us aren't so bright and were lured in by the promises which turned out to be false advertising.
And finally, we have the honest mistake crowd. At this point, I would like to withhold my extensive and violent beratement of people holding such an opinion and look at it objectively. On the surface, without any knowledge of what has happened before, or of the internal workings of the release process, there is no immediate tangible evidence to refute this claim. However, given my history of involvement in the process, and my level of involvement in the process, such mistakes do not happen. Sources being accidentally released might happen. #ifdefs in source that shouldn't be released might happen. "Forgetting" to release source, and then not correcting the mistake when people notice, or say, when it gets posted on Slashdot and you get calls from marketing on the subject, is a little difficult to believe.
In summary, we can see that not a single decently rated poster on Slashdot has demonstrated that they even read the articles linked to in the "story", let alone actually familiarized them self with the issue at hand. Yet, they felt the compulsive need to share their ignorance with the world, and the Slashdot moderators felt they should be rewarded for spewing ignorance. It feels as if they have vomited on the inside of my display and I must now clean it.
Feb. 24 2006