For Apple, Darwin is mostly just a handy excuse not to document the Core OS layer properly. They don't need to do a good job documenting the driver model for individual driver families, because: hey, go look at the source.
WebKit is actually the only example from Apple of a good open source project (emphasis on the open).
Darwin could be run that way and, bonus, Apple's core OS would suck a whole lot less. It's not that people aren't interested -- there has been a lot of interest. Darwin build-process related problems are a popular topic on the darwin-dev list. Some Apple manager has decided not to spend the resources required to make the kernel and other parts easily buildable by outside parties. Yes, the engineers will accept patches (when they don't arbitrarily close your radar bugs because they misunderstood you -- the Darwin group must be the thickest-skulled people at Apple), but it will break again in two seconds, because Apple doesn't use the same bits internally. This could be fixed, but it would require a few days of work and some discipline, and god knows, that's not the Unix way and we are Real Men Unix programmers.
Sorry for the rant, but it's all true.
Copyright © Scott Stevenson 2004-2015