Road to Mac OS X Leopard Server: Collaborative Info Sharing Services
Leopard sports a series of changes both under the hood and in its user interface that improve the performance and usability of the Mac desktop for individual users, and combine to deliver new collaborative server features for networked machines in office settings. Servers and shared services are also moving into the home; here's a look at what's new in Leopard and Leopard Server related to file sharing and collaborative information services, and where the plumbing inside Mac OS X comes from.
The Origins of Servers
Back when computers were as big as a room, users didn't share files between computers, they shared the computer itself. In the mid 60s, General Electric and AT&T Bell Labs began work with MIT to develop an early time-sharing computer system called Multics, short for the Multiplexed Information and Computing Service. The goal was to create an operating system that could support multiple users sharing the same expensive system at once.
It ended up that the project couldn't support the number of users initially envisioned, making Multics commercially impractical because the GE computer it ran on was prohibitively expensive to operate and maintain. Ken Thompson wrote a video game for the system called Space Travel, but running it cost $75 in CPU time. AT&T decided to pull out of the Multics project by 1969.
Thompson and team of developers who had been working on Multics, including Dennis Ritchie, Doug McIlroy, and J. F. Ossanna, requested a computer they could continue their work on, but management was wary of investing in another failed project on the order of Multics. They found their way to get access to a PDP-7 minicomputer from Digital, which at around $72,000, was considered an reasonably affordable system.
Thompson ported his Multics Space Travel game to run on the new system, and developed underlying system software to support it. Those system utilities came to be called "Unics" as a word play for being an emasculated version of Multics. It was later spelled Unix. The system proved to be commercially useful within AT&T, allowing Thompson and his group lead by Ritchie to later acquire a fancier PDP-11 minicomputer (below, with Ritchie standing and Thompson seated) to continue their work.
Why Unix Worked
On the earlier PDP-7 system, Thompson had developed a programing language called B, based on the existing BCPL. For the new PDP-11, he wrote a new systems language designed to abstract the software from the hardware it ran on, so that the upper layers of UNIX could be reused to run on other systems. The 'New B' was named C, and Thompson began work rewriting Unix in C.
Unix developers at AT&T developed a design philosophy behind the system that organized components into clear and understandable functions that were easy to understand. Simple functions could be piped together to create complex workflows. Ritchie and later McIlroy also managed extensive documentation for Unix that was detailed and brutally honest, even outlining flaws in the system. This survives in man, the online manual pages in Unix that describe how functions work, frequently offering examples on how to use commands and occasionally even noting known bugs.
In 1976, Thompson took a sabbatical to teach at the Computer Science Department at the University of California-Berkeley, where his presentation of Unix operating system technology generated an enthusiastic response. Students and professors at Berkeley contributed additional software for use with Unix— in particular networking code— under a liberal license agreement called the Berkeley Standard Distribution. Among the contributors to BSD were Bill Joy, who later left to found Sun Microsystems. Sun sold server hardware running the SunOS, based on Unix licensed from AT&T and BSD.
The open accessibility and large community of contributors to Unix— particularly in academia— made the system so popular that many customers of Digital's affordable VAX minicomputers (the 32-bit descendant of the PDP-11) installed AT&T's Unix to run on the system, along with BSD's networking code, in place of Digital's own VMS operating system.
The Personal Computer Creates a New Market Underneath Unix
When the market for home microcomputers erupted in the late 70s, individual manufacturers commonly wrote their own simple system and utility software. Word processors, spreadsheets, and other programs supplied most of their core functionality— such as printing and file management— themselves. Simple disk operating systems, such as CP/M and Apple DOS, only handled basic drive support. In 1979, Microsoft licensed Unix from AT&T for sale on microcomputers under then name XENIX, but found a limited market for it.
Apple began developing its own operating systems, starting with SOS (Sophisticated Operating System), which made use of extensible device drivers. SOS failed to save the ill fated Apple III it was designed for in 1980, but was later adapted for use on new Apple II models under the name ProDOS. SOS also influenced file system development in the system software for the Lisa and Macintosh. Those systems expanded the concept of System Software beyond a simple DOS to include an entire graphical operating environment that managed printing, graphics drawing, type rendering, and other functions historically performed by individual apps themselves.
While Microsoft only found tepid sales of XENIX, it was launched into the DOS market after it acquired a CP/M clone and licensed it for sale with IBM's 1981 PC. Microsoft continued development of DOS with IBM through the mid 90s, and continued selling it as the foundation of its consumer systems until Windows ME in 2000. In 1985, IBM and Microsoft began work on the new OS/2 as a replacement to the simplistic MS-DOS, and Microsoft subsequently sold off its XENIX product to SCO, which ported it to the 386 PC and started a Unix business on PCs.
The existing DOS PC market offered little in terms of server or networking sophistication. That problem was addressed by Novell, which introduced NetWare in 1983 as a file sharing solution for DOS PC users. NetWare was commonly referred to as a "Network Operating System."
The Windows PC Arrives
In 1990, Microsoft abandoned its OS/2 partnership with IBM after it found that it could duplicate Apple's Mac user environment on top of DOS and license the result profitably under the name Windows 3.0. Microsoft was intimately familiar with the architecture of Apple's system, as it had been an early Mac developer with inside access since 1982. While intentionally different in superficial ways, the core architecture of the Windows graphical environment and its drawing engine were patterned directly after the Macintosh.
Microsoft subsequently announced plans to replace the MS-DOS underpinnings of Windows by rolling out a new modern operating system of its own with Unix-like features under the name NT. After hiring a core team of OS developers from Digital, Microsoft shipped Windows NT in 1993 as its new DOS replacement, but its heavy system requirements made it unable to sell to consumer PC users. NT shared many core OS features in common with Digital's VMS, which rivaled AT&T's Unix in the workstation and minicomputer market.
Meanwhile, Apple licensed Unix from AT&T and by the late 80s was selling it under the name A/UX. As noted in the article Steve Jobs and 20 Years of Apple Servers, after Apple management balked at porting its Mac desktop to Unix directly, Jobs left the company and started NeXT. There, NeXTSTEP surfaced as an advanced development and operating environment on top of a core OS based on code licensed from AT&T and BSD. That powerful combination led to pioneering third party server developments including the WorldWideWeb in 1990.
Unix Haves vs Unix Have Nots
In 1990, while NeXT was standing on the shoulders of giants to deliver Unix as the proven core operating system technology in its NeXTSTEP, Apple was still working to retrofit its classic Mac System Software. Unlike Unix, the classic Mac System was hard coded to run on specific hardware, making it difficult to port and problematic to maintain. Apple investigated porting its code to the PC in the Star Trek project, but abandoned the plans because of the effort required to rewrite Mac application software; like the operating system, Mac apps of the time had never been designed with the potential to run on different hardware.
Apple continued to struggle with maintaing its Mac software until its plans fell apart entirely in 1995 with the failure of Copland, as described in The Secrets of Pink, Taligent and Copland. Along the way, efforts to deliver serious server products were stymied by the weak underpinnings of its Mac operating system. The company experimented with selling MAS and MAE, which put the Mac user interface on top of Unix workstations from Sun and HP. It also integrated the Mac interface on top of A/UX 3 on Mac hardware in 1992 (below), but the company never delivered strong server sales, largely because it had limited itself to a niche market of graphic designers and other creative users.
Jean-Louis GassÃ©e, who replaced Jobs as the Mac product manager after his departure, left Apple in 1990 to develop the BeBox. It ran an entirely new operating system called the BeOS. While delivering some impressive technical features, it too was limited by its unique design, which drew upon principles from Unix without maintaining code compatibility. That meant the BeOS couldn't easily incorporate modern work being done on Unix.
On page 2 of 3: The Unix Wars; A Unix Peace; Prelude to Mac OS X Server; and Mac OS X Server Releases (Mac OS X Server 10.2 Jaguar, Mac OS X Panther Server 10.3, and Mac OS X Tiger Server 10.4).
In 1988, AT&T aligned with Sun and SCO to create a unified Unix release that paired AT&T's commercial Unix, SunOS, BSD, and SCO's PC compatibility features into the "SVR4" specification. Fearful that Sun already had too much clout in the Unix market, rival Unix vendors led by Digital, IBM, and HP formed their own alliance called the OSF. That division fractured the Unix market and chilled growth and community innovation until the mid 90s, when Unix vendors began working together under the Open Group, as described in SCO, Linux, and Microsoft in the History of OS: 1990s.
In the early 90s, BSDi, a private company founded by developers from UC Berkeley, made efforts to replace AT&T's proprietary software from Unix and distribute substitute code along with the liberally licensed BSD software. AT&T's Bell Labs filed a lawsuit in 1992 that sought an injunction to stop BSD. The case set back the community development of BSD, creating a vacuum that was filled by Linux and the GNU project, resulting in a three way split between the two open, Unix-like operating systems and AT&T's commercial Unix.
Microsoft directly benefited from the technical and political divisions among Unix vendors in the 90s. Windows NT ate into Unix workstation and server sales using the cheaper hardware available in the PC market. That market was also increasingly being targeted by Linux. In 1993, Novel bought the rights to AT&T's Unix in an effort by CEO Ray Noorda to mount an offensive against Microsoft. In 1994 Noorda was pushed out of Novell and he began putting together a similar, independent effort using Linux and involving SCO.
Noorda planned to line up SCO's installed base of users running the ancient Xenix on PC servers, and migrate them to Linux. After retiring from SCO, the company dropped its Linux focus and instead attacked Linux users in an effort to claim copyright infringement on the AT&T Unix code it had acquired from Novell. That case was only recently settled when the courts determined the Novell held all copyrights for Unix, and that SCO had no infringement case, as noted in SCO, Linux, and Microsoft in the History of OS: 2000s.
A Unix Peace
In 1996, Apple began shopping for a new operating system to replace its classic Mac OS. It reviewed Microsoft's Windows NT and dismissed it on its technical merits. It then began talks with Be over acquiring its BeOS, but the operating system was only in early beta developer release and had no application base, in part because it wasn't built on an open Unix foundation. It then stumbled upon NeXT, and in the final days of 1996, Apple acquired the company for its Unix based operating system.
Apple found that NeXT not only offered a bullet proof, Unix-based operating system foundation that had proven itself in sales to financial markets and security agencies such as the CIA and NSA, but also offered advanced development frameworks and was highly portable. NeXT had sold its operating system and operating environment on a variety of hardware platforms, from its own Mac-like NeXT computers to workstations from HP and Sun and even industry standard PCs. NeXT had also already started work in porting its OS to the PowerPC architecture Apple was using.
Up to that point, Apple had been selling a dedicated Mac server application called AppleShare (below), which served up file and print sharing over the AppleTalk protocol to Mac and PC users. It also sold A/UX Unix servers from 1988 through 1994 prior to moving to PowerPC; in 1996 it began selling a line of PowerPC servers called Apple Network Server running IBM's AIX, also based on AT&T's Unix. Between 1993-1998, Apple sold specialized Mac models called the Apple Workgroup Server, either running A/UX or AppleShare on the classic Mac OS. After acquiring NeXT, it now had a modern Unix-based server of its own to sell on PowerPC Macs.
Prelude to Mac OS X Server
Apple had earlier partnered with IBM in the development of Taligent, and had worked with the OSF to host an open source project called mkLinux, designed to woo Linux users to use Mac hardware.
The Taligent and mkLinux projects were based on versions of the Mach kernel, as was NeXTSTEP. Apple paired its own internal developments with NeXT's to develop a new kernel, and incorporated new technology developed by three outside communities of BSD developers: OpenBSD, FreeBSD, and NetBSD.
As Apple discovered how much work was needed to migrate and update all of that code together, it decided to go one step further and remove all proprietary entanglements in the core OS of NeXTSTEP, so it could release the kernel and core OS as open source. While that work was underway, it continued to sell the classic Mac OS-based AppleShare IP (below), which provided file and print sharing, email, and web hosting services on the classic Mac OS.
Apple also sold an essentially rebranded version of NeXTSTEP, code-named Rhapsody, for PowerPC Macs under the name Mac OS X Server 1.0 (below). It supplied similar file sharing and web hosting services, but on top of its new Unix foundation.
Mac OS X Server Releases
Once Apple had completely removed entanglements to commercial Unix using BSD, it released its operating system foundation as the Darwin open source project in April 2000. Among the significant changes was an entirely new Quartz graphics rendering and compositing engine. Server versions of Mac OS X 10.0 and 10.1 mainly carried forward the features of Apple's earlier AppleShare IP product as an upgrade path for its existing server users, mainly in education.
Mac OS X Server 10.2 Jaguar, released in 2002, was the first version of Mac OS X ready for mainstream desktop users. For Jaguar Server 10.2, Apple introduced:
- jHFS+, a journaling version of the Mac file system
- Open Directory, an LDAP based directory server— resurrecting the Open Directory name from PowerTalk era
- an improved QuickTime Streaming Server 4 and QuickTime Broadcaster
- a standardized printing architecture build upon the Common Unix Printing System
- the Xserve, its first custom designed server hardware since the AIX-based Apple Network Servers
- Server Status remote management tools based on SNMP
Those features demonstrated how Apple significantly benefitted from using open source and open standards. It also shared improvements to QuickTime Streaming Server, its file system technology, and other contributions back to the open source community.
Mac OS X Panther Server 10.3, released in 2003, continued to update and incorporate more open source projects into the system. Using Samba 3, Panther Server could act as a Windows domain controller for managing file sharing and directory services to Windows clients. Apple also bundled MySQL and PHP for web development and improved and updated other services, including its mail server.
Mac OS X Tiger Server 10.4, released in 2005, introduced a mix of open source software with an Apple designed user interface, marketed at "Open Source made easy." Rather than configuring the bundled Apache web server, Samba Windows file sharing, and Postfix and Cyrus mail servers by editing text configuration files or from a web interface as is common on Linux servers, Mac OS X Server provides a series of graphical applications for managing services in Server Admin (below), users and groups with Workgroup Manager, and server hardware from Server Monitor.
Apple also added internal support for Access Control Lists. Support for ACLs offers a mechanism for more complex file permissions, compatible with those used by Windows. Tiger also introduced Portable Home Directories, which allow desktop clients to log into a server, download a user profile, and then keep their user directory in sync with the server. This is similar to roaming profiles and synced shared folders in Windows.
Other custom developed additions included Xgrid distributed processing and 64-bit application support. Apple also incorporated its WebObjects deployment server into Tiger Server, which had earlier required a $50,000 license.
Apple also developed an iChat instant messaging server based upon the open Jabber project. This change also appeared in the iChat client: in addition to working with the proprietary AOL IM system, iChat could now be used with any Jabber system, including Google Talk, as noted in Road to Mac OS X Leopard: iChat 4.0.
Tiger Server also bundled Blojsom, a Java version of the Blossom weblog server. Apple designed custom skins for the weblog server, making it easy for companies running Mac OS X Server to set up simple blogs, but it left blogging as a poorly positioned service, since it was painstakingly difficult to make any significant changes to hosted blogs.
On page 3 of 3: What's New in Leopard Server; Leopard's Client-Server Integration; Wiki Collaborative Publishing Services; and Leopard Server vs Microsoft Windows Server.
Leopard builds upon its Unix foundations with official registration as an "Open Brand UNIX 03" product that meets specifications for POSIX and Single Unix Specification. That makes it easier for server users to port applications designed for other versions of Unix.
Mac OS X Server also supports the standard LP64 data model for 64-bit applications, meaning that code written for other 64-bit Unix-based systems including SGI, Sun Solaris, and Linux can easily be ported over to Leopard Server. Apache 2, MySQL 5, Postfix, Podcast Producer, QuickTime Streaming Server, and the Java VM on Intel are already 64-bit, allowing them to work with large data sets and take full advantage of all the installed RAM.
In addition to leveraging existing efforts made by the open source community, Apple is also greatly simplifying server administration. Existing tools, such as Server Admin (below), have been smartened up to present a powerful interface flexible enough to manage multiple machines, and simple enough to manage a small workgroup's needs.
To make things even simpler for small workgroup users, Apple is also presenting services in a familiar interface identical to System Preferences called Server Preferences (below), so setting up network services is as easy as setting up a Mac.
Leopard's Client-Server Integration
Apple's new Calendar Server, touched on in Road to Mac OS X Leopard: iCal 3.0, makes it easy to set up collaborative group scheduling comparable to the calendaring services in Exchange Server, without the prohibitively high cost of Microsoft's per-user Client Access Licenses, as detailed in the article Apple's Open Calendar Server vs Microsoft Exchange.
Simplified file sharing (below) is similarly cost effective when compared to using Microsoft Windows Server, and much easier to set up, even for non-technical users. As a central file server, it is an ideal backup target for client Macs using Time Machine, described in Road to Mac OS X Leopard: Time Machine.
New support for Spotlight searching of file shares from Leopard described in Road to Mac OS X Leopard: Dashboard, Spotlight and the Desktop is matched by Spotlight Server, which indexes files by user permissions, so users can rapidly search server files without getting results they don't have access to. Apple is billing the combination of Spotlight Server, CoverFlow, and Quick Look as an easy to use asset management system.
Similarly, new features in iChat, described in Road to Mac OS X Leopard: iChat 4.0, are matched on the server end by iChat Server, which hosts your own Jabber server for encrypted instant messaging and support for server configured meeting rooms. The server can also federate with other Jabber servers to exchange secure instant messaging services between sites or between companies.
Wiki Collaborative Publishing Services
Configuring email services and the Apache web server are similarly presented in Server Preferences with pushbutton simplicity. What's really interesting, however, is the new Wiki Server, which enables groups to set up collaboratively shared web pages that users click to edit inline.
Turn it on, assign assess permissions, and users can contribute to a project by clicking an edit icon on the web page and posting their own new updates or corrections. Users can even upload photos and attach documents, and create additional hyperlinked pages that can be tracked for updates by subscribing to an item's RSS feed. Changes and edits can even be rolled back via built-in version control. Pages created by Wiki Server incorporate blogging features, shared web calendars created by Calendar Server, and integrated web mail access.
The similarly brand new Podcast Producer allows individuals in an organization to record audio and video and upload it along with document-based presentations and screen sharing sessions (below), to a Leopard Server, where the content can be automatically processed to include titles and graphics, and published into podcast presentations via streaming server or even iTunes U.
This is already being used internally at universities to record lectures, upload the recordings to a server that catalogs and archives them, adds corporate branding and credits, and then makes the content available to students.
Leopard Server vs Microsoft Windows Server
Leopard Server offers advanced functionality useful to larger enterprise environments such as educational institutions, but its also very accessible to smaller offices that want to set up collaborative wiki and calendar services in addition to basic services like email and web serving and file sharing. Leopard Server is also easy to afford; it's essentially free when you buy an Xserve, and costs $500 for a standalone ten client retail version or $1000 for unlimited clients.
In comparison, Microsoft Windows Small Business Server 2003 Standard costs $600 for 5 users, and each additional 5 users require hundreds more in Client Access Licenses. For just a 100 users, Microsoft's products quickly add up to more than a $10,000 premium, and don't deliver the same types of features. Windows Server is also notorious for requiring lots of hardware, as each major Windows service really demands its own server.
Another drawback to Windows Server is that it isn't open source friendly and isn't Unix. Microsoft's executives have described Linux and open source as a "cancer" rather than embracing open development. The result is that Microsoft has been limited from benefitting from innovation and advancements occurring outside the company, while Apple has been able to rapidly catch up in the server arena after years of putting its server efforts in maintenance mode.
Now that Apple is focusing on delivering new server products with innovative new features that are easy to use, companies and institutions— particularly in education, publishing, broadcasting, and sci-tech markets predisposed to Unix— are expressing a lot of new interest.