Apple Announces New Open Source Efforts
Today Apple announced a few expanded open source efforts. First, beginning with Mac OS X 10.4.7, the Darwin/Mac OS X kernel, known as "xnu", is again available as buildable source for the Intel platform, including EFI utilities. Second, iCal Server, Bonjour, and launchd are moving to Apache 2.0 licensing. And finally, Mac OS Forge has been launched, as the successor to OpenDarwin as a conduit for hosting projects such as WebKit that were formerly hosted by the OpenDarwin project's servers, such as WebKit. Mac OS Forge is sponsored by Apple. DarwinPorts has already moved to its own servers. Update: 08/08 01:43 GMT by J : The official Apple announcement is now out. Other fun news: Leopard will ship with Ruby on Rails.
The official announcement by Ernie Prabhakar of Apple is here:
a lls/apsl/xnu-792.10.96.tar.gz
From: Ernest Prabhakar prabhaka@apple.com
Date: August 7, 2006 4:15:51 PM PDT
To: darwin-dev@lists.apple.com, fed-talk@lists.apple.com
Subject: Apple Opens Up: Kernel, Mac OS Forge, iCal Server, Bonjour, Launchd
Hi all,
In conjunction with this week's Developer Conference, we have four great pieces of news for Open Source developers:
A. Intel Kernel Sources
As of today, we are posting buildable kernel sources for Intel-based Macs alongside the usual PowerPC (and other Intel) sources, starting with Mac OS X 10.4.7. We regret the delay in readying the new kernel for release, and thank you for your patience.
http://www.opensource.apple.com/darwinsource/tarb
B. New "Mac OS Forge" for Community Projects
Mac OS Forge, a new community site hosted by Apple, is being created to support WebKit and other open source projects focused on Mac OS X, especially those looking to transition from OpenDarwin.org.
http://www.macosforge.org/
C. New Open Source Calendaring Server
In order to encourage community participation, source code to the new iCal Server in Leopard Server is now available on Mac OS Forge under the Apache License.*
http://collaboration.macosforge.org/
D. Apache-Licensed Bonjour and Launchd sources
To further enable and encourage cross-platform adoption, the APSL** sources for Bonjour service discovery and Launchd process management are being re-released under the Apache License and hosted on Mac OS Forge:
http://bonjour.macosforge.org/
http://launchd.macosforge.org/
Apple is more excited than ever about the power of Open Source development to create value for our (and your) products and customers. I'll be offline much of this week due to WWDC, but I look forward to working with all of you as we move forward to Leopard.
Sincerely,
Ernest Prabhakar
Open Source Product Manager, Apple
WWDC 2006, Aug 7-11, San Francisco
http://developer.apple.com/wwdc
* Apache License, Version 2.0
http://www.apache.org/licenses/LICENSE-2.0.html
** Apple Public Source License 2.0
http://www.opensource.apple.com/apsl/2.0.txt
And as always, Darwin and Darwin component sources are available here:
http://www.opensource.apple.com/darwinsource/
vtech used a custom compiled kernel, and have also been using Linux on the cluster. I used to work for a site with a 256 node Xserve cluster that was running the latest OS X 10.4 (we started with 10.3 and switched to 10.4 shortly after it was releases). They still run an up to date 10.4 on the cluster, but now they also have a portion of the cluster running Linux, which performs better than OS X for many HPC applications. They are working on software that will interface with TORQUE/Moab to install either a Linux or OS X disk image prior to launching a job thereby allowing a fully dynamic OS X / Linux hybrid cluster. Xnu appears to have issues with its memory manager. Sites often write their own simple memory manager in order to get the best possible benchmarks for OS X. VTech did it. We did it. Ours was a IOKit driver that loaded at system boot. The first thing it did was grab about 90% of the physical RAM (contiguous). The driver had to be loaded at boot or else this would have failed. Then we wrote a library that would overload the malloc familly of functions to use our memory manager rather than the default. This ensured that our high performance app would always get physcally contiguous memory which improved cache hits and greatly improved the performance of Goto's blas libraries (he has a very low oppinion of the OS X memory manager).