Copland was a project at Apple Computer to create an updated version of the Macintosh operating system. It was to have introduced protected memory, multitasking and a number of new underlying operating system features, yet still be compatible with the vast majority of existing Mac software. Begun in 1994, it was abandoned in August of 1996.
In 1989, managers at Apple had a meeting to plan the future course of Mac OS development. Ideas were written on index cards; features that seemed simple enough to implement in the short term (like adding color to the user interface) were written on blue cards, while more advanced ideas (like an object-oriented file system) were written on pink cards. Development of the ideas contained on both sets of cards was to proceed in parallel, and the two projects were known simply as "blue" and "pink". Apple intended to have the "blue" team (which came to call themselves the "Blue Meanies" after characters in Yellow Submarine) release an updated version of the existing Macintosh operating system in the 1990-1991 timeframe, and the 'pink' team to release an entirely new OS around 1993.
The "blue" team delivered what became known as System 7 only slightly late near the end of 1991, but the "pink" team suffered from second-system effect and continued to slip its release into the indefinite future. Some of the reason for this can be traced to problems that would become endemic as time went on. As 'pink' started to become delayed, engineers on the project jumped ship to work on 'blue' instead. This left the "pink" team constantly struggling for staffing, while upper management ignored the problems. Eventually Apple semi-abandoned the "pink" project by spinning it off to form Taligent.
Originally intended to support a single user running a single application on a non-networked machine with a floppy disk drive for storage, many parts of the System 7 operating system simply did not scale well to the increasing demands of users. In particular the architecture of QuickDraw made it very difficult to introduce multitasking into the system, and the file system was inefficient when used with hard disks.
Several attempts were made by various teams to address these issues with an updated operating system, or at least parts of one, but they ran afoul of internal politics and turf wars. John Sculley, Apple's CEO during this period, largely ignored managing of the company itself while he concentrated on sales and marketing. As a result the engineering departments had no clear direction.
With System 7.5 released in autumn 1994, Apple management decided that the decade-old Macintosh operating system had run its course. The system not only lacked a number of features expected from any modern OS, but was growing increasingly unstable due to the lack of protected memory. The number of crashes suffered by users was increasing all the time, and was becoming a real concern. An entirely new operating system with more advanced features would be needed for the platform to compete with upcoming releases of Microsoft Windows.
The result was a next-generation operating system, code-named Copland after composer Aaron Copland. Copland was to run the Mac OS on top of a microkernel named Nukernel, which handled basic tasks such as application startup and memory handling, leaving all other tasks to a series of semi-special programs known as servers. For instance, networking and file services would not be provided by the kernel itself, but by servers which would be sent requests though interapplication communications. Copland consisted of the combination of Nukernel, various servers, and a suite of application support libraries to provide the well-known Macintosh programming interface.
Application services would be offered through a single program known as the blue box, which essentially encapsulated an existing System 7 operating system inside a single process in a single address space. Mac programs would run inside the blue box much as they did under System 7, as 'co-operative tasks' that used non-re-entrant Toolbox calls. A worst-case scenario was that an application in the blue box would crash, taking down the entire box with it. This would not result in the system as a whole going down, and the blue box could be restarted.
New applications, those written with Copland in mind, would be able to directly communicate with the new servers, and thereby gain many advantages in terms of performance and scalability. They could also communicate with the kernel to start completely separate applications or threads, which would run as separate processes with protected memory, as in most modern operating systems. However, these separate applications could not use QuickDraw or other non-re-entrant calls, and thus could have no user interface. Apple suggested that larger programs could place their user interface in a normal Macintosh application, which would then start the "work threads" externally. Doing so was not easy, however, as multithreaded code is difficult to write and debug.
Another key feature of Copland was that it would be completely PowerPC 'native'. System 7 had been recompiled on the PowerPC with great success, but the system still relied on the processor looking like a member of the Motorola 68000 family. In particular the sixteen-level interrupt handlers used in the Mac OS had to be emulated, requiring an expensive call into the OS to translate these to the PowerPC's much simpler two-level system. This was true even if the code on either side of the interrupt was PowerPC native, which was increasingly true as more and more of the OS and various applications moved to new compilers. Removing this translation step would allow Copland-native applications to run much faster, as much as 50%, with no special effort on the part of the developers.
The challenge in Copland would be getting all of this to fit into a fairly standard Mac. System 7.5 already used up about 2.5 megabytes of RAM, and at the time this was a significant portion of all the RAM available in most machines. Copland would be running what was essentially a complete copy of System 7.5 and an entirely separate operating system under it as well. In order to make all of this fit, the system used a fiendishly complex memory management system and extensive use of shared libraries, with the goal being that Copland would be only some 50% larger than 7.5.
There were also a number of features that were not put into the basic Copland system. Notably, Copland did not directly support multithreading in the original Mac OS libraries, although programs could be written that directly interacted with the kernel to get these services (the servers made use of this for instance). Additionally, Nukernel did not support symmetric multiprocessing, meaning it could not natively utilize more than one processor on a multi-processor system.
Both of these features were 'expected' of a modern operating system, but for Copland it was felt that it was more important to get the new API out to developers so they could start moving their applications over to the new system. By the time these capabilities were ready, a good portion of the application base should already be running on the platform.
Over time more and more of the existing non-re-entrant code would be ported to new libraries or servers. Eventually it would become possible that new applications written to these interfaces would be able to be run completely separate as their own tasks. The follow-on system supporting these features became known internally as Gershwin.
Parts of Copland, most notably an early version of the new file system, were demonstrated at Apple's Worldwide Developers Conference in May 1995. Apple also promised that a beta release of Copland would be ready by the end of the year, for full release in early 1996. Throughout the year, Apple released a number of mock-ups to various magazines showing what the new system would look like, and commented continually that the company was fully committed to this project. By the end of the year, however, the developer release was nowhere in sight.
As had happened in the past with Blue/Pink, developers within Apple soon started adbandoning their own projects in order to work on the new system. Middle management and project leaders faught back, but putting their own project into Copland in an attempt to ensure it could not be cancelled and their developers "removed" to work on Copland. This process took on momentum over the next year.
Soon the project looked less like a new operating system than a huge collection of new technologies; QuickDraw GX and OpenDoc became core components of the system, while completely unrelated technology like a new file management dialog box (the "open dialog") and "themes" support appeared as well. The feature list grew much faster than the features could be completed, a classic case of creeping featuritis. As the "package" grew, any hope of testing it thoroughly became increasingly difficult.
At WWDC '96 Apple's new CEO, Gil Amelio, talked exclusively about Copland, now known as Mac OS 8, repeatedly stating that it was the only focus of Apple engineering. Amelio announced that it would ship to developers only a few months later at the end of the summer, with a full release planned for late fall. Very few, if any, demos of the running system were shown at the conference. Instead what was demonstrated were various pieces of the technology and the user interface that would go into the package, such as a new file management dialog. Little of the technology of the core system was demonstrated; the new file system that had been shown a year earlier was absent here.
After a number of people at the show complained about the lack of sophistication of the microkernel, notably the lack of multithreading, Amelio came back on stage at the end of the show and announced that they would be adding that to the feature list. This implied that the system was nowhere near ready, as such a feature is so fundamental to a kernel that it would be impossible to add it so close to the shipping date.
In August 1996, 'Developer Release 0' was sent to a small number of selected partners. Far from demonstrating improved stability, it often crashed after doing nothing at all, and was completely unusable for development. In October, Apple moved the target delivery date to 'sometime,' hinting that it might be 1997. One of the groups most surprised by the announcement was Apple's own hardware team, who had been waiting for Copland to allow the PowerPC to truly shine. Members of Apple's software QA team suggested, jokingly, that given current resources and the number of bugs in the system they could clear the program for shipping some time around 2030.
Later that summer the situation was no better, and Amelio realized something serious had to be done. He hire Ellen Hancock away from National Semiconductor to take over engineering and get Copland development back on track.
After a few months on the job she realized the situation was hopeless; given current development and engineering, Copland would never ship at all. Additionally she discovered that while developers in the company were aware that Gershwin was to be the "fully modern" follow-on, no one was quite sure what "fully modern" meant exactly, at least in comparison to Copland, nor was anyone assigned to actually work on it.
She suggested that development continue on the existing Mac OS to improve its stability, while looking outside the company for a new operating system. In August 1996, just as 'Developer Release 1' was being prepared, Apple officially cancelled Copland. Among the reasons given were the slow pace of development and the many technical problems remaining to be solved.
Following Hancock's plan, development of System 7.5 continued with a number of technologies originally slated for Copland being rolled into the base OS. Stability and performance was improved by Mac OS 7.6, which dropped the "System" moniker. Eventually many features, including Copland's Platinum GUI and support for "themes", were rolled into Mac OS 8, which was initially planned as Mac OS 7.7. It was renumbered "8" in order to deliver on Apple's promise of having something called Mac OS 8 running on all existing machines. With the return of Steve Jobs, it also accomplished his goal of exploiting a legal loophole to prematurely terminate third-party manufacturers' licenses to System 7 and effectively shut down the Macintosh clone market.
At the same time, Hancock's other plan was also followed, and Apple started looking for a third-party product to buy. After lengthy discussions with Be and rumors of a merger with Sun Microsystems, many were surprised when Apple bought NeXT Computer in December 1996. The project to port OPENSTEP to the Macintosh platform was named Rhapsody and was eventually released as Mac OS X, which also uses the 'blue box' concept in the form of Classic to run applications written for older versions of Mac OS.
A number of features seen in Copland demos, including its advanced Find command, built-in Internet browser, and support for video-conferencing, have reappeared in recent releases of Mac OS X. There's also a reference to the project in the anime series Serial Experiments Lain, in which Lain's computer comes with a system called Copland OS.