The X Factor: Apple Rolls Out New Version of X11 Windowing Environment
When Apple launched its OS X development effort, it made a big deal out of the new OS's UNIX base. But for UNIX folks using the OS, certain components were missing or incomplete. For example, it lacked package management. So the Fink development team ported dpkg and apt-get from Debian; X on X implemented an X window system; X11 binaries for Darwin (Apple's open-source BSD-derived base code for OS X) were made available by the XFree86 project. But X11 still was hardly a strong suit for OS X.
Apple changed that this past Tuesday when it quietly announced X11 for Mac OS X, its own new open-source implementation of XFree86. Although Steve Jobs didn't make the announcement in his keynote (a press release carried the weight), Apple engineers at Macworld told me the new X11 is still a big deal: "This is one area where we had a lot of catching up to do."
Apple calls the new release "a complete, rootless X11R6.6 implementation, as well as display server and client libraries--plus headers in the SDK". The new implementation supports SSH tunneling and runs concurrently and seamlessly with other applications that use Apple's Aqua user interface. Content can be cut, copied and pasted between X and Aqua windows. It also takes advantage of Apple's Quartz graphics system.
While the obvious purpose of the move is to give Apple parity with other UNIXes, the more important purpose is to allow easier porting of X applications to OS X.
When I talked with Avie Tevanian, Apple's Senior VP of Software Engineering, he was enthusiastic about the project: "The majority will love the fact that, as open-source developers, they have the opportunity to take what we've done, tweak it, modify it, clear it up, whatever. And they now have a channel to get it out to millions of people. Of course, we're also hoping they'll port their applications to Cocoa" (Apple's OS X application development environment).
As with the company's Java, GCC and browser efforts, Tevanian said he wanted this version of X11 to be the best of its breed and thinks that status has been achieved. "The version that we have released we think is the best one out there", he said.
James Davidson (author of Learning Cocoa with Objective C and the original author of Apache Ant and Apache Tomcat) said, "They'll have to repeat what they did with GCC. In the NeXTStep days they took a snapshot of GCC and forked. Now they're trying not to repeat the experience of integrating everything back, by doing things the right way from the start."
Doc Searls is senior editor of Linux Journal.