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/
.
Apple is really a solutions company. They give you the complete package to get done what you need to get done, without you worrying about the fine details. From the high end they'll sell you a server environment (Xserve + RAID + OS X Server), at the low end they'll sell you a system to let you browse the web, play with photos and make simple movies (iMac or MacBook + OS X), etc. And anywhere inbetween, they give you the tools for you to do what you want. They give you the solutions.
Sure they sell hardware, they sell software, but look where they're aiming their market, and you'll see it's really solutions they sell.
Apple is opening their iCal Server to get it established as an alternative to Exchange Server. They pointed say on their website that Active Directory shops can set up Xserves to run their calendars and leave AD to user authentication, saving all those Microsoft per user Client Access Licenses.
Apple also wants people using Bonjour and would like other distros to benefit from launchd (less likely, since Linux isn't really all about biting off new ways of doing things).
I wrote up more examples of why Apple (an other commercial developers) will only release things as open source while their product has no chance of sales or market penetration otherwise, at:
---
Open Source Values and the Peanut Gallery
The value proposition involved in choosing an open source strategy, and a roast of the emerging peanut gallery who are attempting to hijack and betray the free software movement.
BSD and GPL: Different Sources for Different Horses
The benefits and the motivations behind two very different styles of open source development: the BSD style license, pioneered by UC Berkeley and MIT; and the GPL invented by Richard Stallman, the founder of the free software movement.
The Revolution Will be Open Sourced!
Over the last decade, every player in the software development industry has been dramatically affected by an open source revolution. How will Apple adapt to fit into this new world? Are they leading, following, or falling behind? Do they stand to benefit from an increased adoption of open source practices, or will they simply have to change how they do business?
Apple and Open Source... Strange Buffaloes?
Tim Bray's "Time to Switch?" and John Gruber's "Why Apple Won't Open Source Its Apps" both discuss the potential risks and benefits Apple would face in open sourcing their consumer applications. Here's my take: Apple does not make fierce profits from $130 Mac OS X retail sales, and there isn't a conspiracy behind new apps not working on an old OS.
The 'Mac OS X Closed by Pirates' Myth
According to the proponents of this myth, Apple has abandoned their open source initiatives as they move to Intel, because they are afraid that, armed with the Darwin source code, pirate 3lit3 haxx0rs will p0wn them and have Mac OS X running on generic PCs. They're wrong, here's why.
---
BTW, there is no chance they will open up Aqua et all as long as they can sell millions of copies at retail, duh. Even Novell isn't opening their NDS jewels. Solaris is open because nobody needs to buy it anymore.
Oh please. If you switched to OS X because you are a hard core FOSS person, you're an idiot. OS X is not open source. It never was, it never will be. Linux will ALWAYS be more open. Apple may open the kernel and various low level things, but OS X in total will not be. It's a great OS and if you want a no-fuss desktop with true Unix under it, it's great. If you want to be that hardcore ("Apple was late so forget them") then why did you choose a proprietary closed-source OS in the first place?
As for the comment that most OSes are open today, that's because you can't survive otherwise. No one has survived the desktop/server space except MS (who was once up near 100% of the market) and Apple (who bundles with their computers). Solaris is open because it wasn't profitable enough. OS/2 died. BeOS died. At this point, if you want your new general purpose desktop/server OS to have a chance in hell it has to be open source. The only way to live and be proprietary is to have a niche and run on custom or embedded hardware.
Comment forecast: Bits of genius surrounded by a sea of mediocrity.
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).
BeOS died because of Microsoft.
During the whole antitrust thing, Be had gone to the DoJ and presented their case to them stating that, basically, with all the evidence they had, it was an open and shut case against M$. the DoJ, for whatever reasons, decided to instead focus on the fact that IE was bundled and embedded inside windows.
Be's case was that M$ was using unfair business practices to force them out of the industry. the M$ contract, to bundle and pre-install windows with your computers was that you were not allowed to sell any other operating system software, even if you bundle windows in addition to Windows, whether it's installed or not, or sold separately.
I believe it was Toshiba that was in talks with Be to bundle their OS as a dual-boot option, but M$ started throwing their lawyers at them.
The reason this didn't hit mainstream was that this contractual agreement between vendors and M$ was protected as a trade secret.
...spike
Ewwwwww, coconut...
It's not that open source is a flawed development methodology, but rather that there is a persistent, and unflinching lack of understanding in the OSS community of what makes Mac OS attractive to a large number of users. I'll give you a hint. It's not POSIX-ish compatibility, it's not Cocoa, it's not even the pretty Aqua widgets themselves.
People are drawn to, and continue to use Macs because of the way the userspace functions. The pretty icons catch their eye, the nifty effects wow them, but in the end, it is how all the pieces fit together as a whole, and how that larger piece works. Commonality of behavior and interaction between various applications makes the user comfortable and allows them to be more productive. The GUI is simply the glue that brings these pieces together. Mac OS applications are user-oriented, while there is still a pervasive developer-oriented ideal running through open source efforts. "If you want it to be different, just code it yourself" is still an underlying principle in many corners of OSS development that completely goes against the core Mac OS attitude, and ultimately relegates the open source community to spending the foreseeable future isolated in its current markets.
OSS efforts have been hammering away at various desktop concepts for years with little success outside the relatively small circle of open source die-hards. They put in new effects, they make spiffier icons, they do all of this, but fail to recognize that improvements to the presentation of information need to be geared to facilitating the user's interaction with it. That's not happening. The reason is ego, Not Invented Here syndrome, and a simple lack of cohesive vision that will never be remedied until there is a sea change in the way developers view their relationship with the user and one another.
Saying that all you need to do is port Aqua and people will abandon the Mac, betrays a complete lack of understanding as to why Mac users love OS X.
Browsing through the new MacOSForge.org, I noticed something on the page for the Calendar Server. In a list of compatible clients, it lists "Apple's Teams". I've never heard of this application, and I did a little poking around on Apple's website. I noticed a page describing OS X Leopard Server's built in Wiki Server, specifically the repeated mention of teams using the Wiki server to collaborate on projects.
This along with the iCal Server leads me to believe that OS X Leopard will include systemwide collaboration functionality that will integrate with any Apps that are programmed to use it. More evidence: How come during the demo of iChat's ability to share Keynote presentations, photos, videos, etc., we never saw the interface for the person sharing the documents? I would guess it's part of Leopard's collaboration system, named Teams.