Copland es un sistema operativo desarrollado por Apple para computadoras Macintosh entre 1994 y 1996, pero nunca lanzado comercialmente. Estaba previsto que se lanzara con el nombre System 8 y, más tarde, tras cambiar su estilo de nomenclatura, Mac OS 8. [ 1] Planificado como un sucesor moderno del antiguo System 7 , Copland introdujo memoria protegida , multitarea preventiva y varias nuevas características subyacentes del sistema operativo, al tiempo que conservaba la compatibilidad con las aplicaciones Mac existentes. El sucesor tentativamente planeado de Copland, con nombre en código Gershwin, tenía la intención de agregar características más avanzadas como multihilo a nivel de aplicación .
El desarrollo comenzó oficialmente en marzo de 1994. Durante los siguientes años, las vistas previas de Copland obtuvieron mucha prensa, presentando al público de Mac conceptos de sistema operativo como orientación a objetos, protección contra fallas y multitarea. En agosto de 1995, David Nagel , vicepresidente senior, anunció en la Macworld Expo que Copland se lanzaría a mediados de 1996. El siguiente mes de mayo, Gil Amelio declaró que Copland era el enfoque principal de la compañía, con el objetivo de un lanzamiento a finales de año. Sin embargo, internamente, el esfuerzo de desarrollo se vio plagado de problemas debido a la disfuncionalidad del personal corporativo y la gestión del proyecto. Los hitos de desarrollo y las fechas de lanzamiento para desarrolladores se incumplieron repetidamente.
Ellen Hancock fue contratada para que retomara el proyecto, pero rápidamente llegó a la conclusión de que nunca podría lanzarse. En agosto de 1996, se anunció que Copland se cancelaba y que Apple buscaría un nuevo sistema operativo fuera de la empresa. Entre muchas opciones, seleccionaron NeXTSTEP y compraron NeXT en 1997 para obtenerlo. En el período intermedio, mientras NeXTSTEP se trasladaba a Mac, Apple lanzó Mac OS 8 en 1997, mucho más orientado al legado, basado en la incorporación de componentes de Copland, y Mac OS 9 en 1999 para realizar la transición hacia adelante. Mac OS X se convirtió en el sistema operativo de próxima generación de Apple en 2001.
El esfuerzo de desarrollo de Copland ha sido descrito como un ejemplo de aumento de funciones . En 2008, PC World incluyó a Copland en una lista de los mayores fracasos de proyectos en la historia de la tecnología de la información (TI).
La prehistoria de Copland comienza con una comprensión del legado de Mac OS y sus problemas arquitectónicos por resolver.
Lanzado en 1984, el Macintosh y su sistema operativo fueron diseñados desde el principio como un sistema monousuario y monotarea, lo que permitió simplificar enormemente el desarrollo del hardware. [2] Como efecto secundario de este modelo de aplicación única, los desarrolladores originales del Mac pudieron aprovechar varias simplificaciones comprometedoras que permitieron grandes mejoras en el rendimiento, funcionando incluso más rápido que el mucho más costoso Lisa . Pero este diseño también condujo a varios problemas para futuras expansiones.
Al suponer que solo se estaría ejecutando un programa a la vez, los ingenieros pudieron ignorar el concepto de reentrada , que es la capacidad de un programa (o biblioteca de código ) de detenerse en cualquier momento, solicitarle que haga otra cosa y luego regresar a la tarea original. Para ser reentrante, cualquier dato y estado local debe almacenarse cuando otro programa llama al código y, si uno no requiere reentrada, se puede omitir el almacenamiento del estado. En el caso de QuickDraw , por ejemplo, esto significa que el sistema puede almacenar información de estado en la biblioteca, cosas como la ubicación actual de la ventana o el estilo de línea, sabiendo que solo cambiaría bajo el control del programa en ejecución. Llevando esto un paso más allá, los ingenieros dejaron la mayor parte de este estado dentro de la aplicación en lugar de en QuickDraw, eliminando así la necesidad de copiar estos datos entre la aplicación y la biblioteca, el programa puede realizar cambios en estas configuraciones en su propio almacenamiento interno y QuickDraw encuentra estos datos buscando esos valores en ubicaciones conocidas dentro de las aplicaciones.
Este concepto de compartir memoria es una fuente importante de problemas y fallas. Si un programa de aplicación escribe datos incorrectos en estas ubicaciones compartidas, podría provocar que QuickDraw se bloquee, lo que provocaría que la computadora se bloquee. Del mismo modo, cualquier problema en QuickDraw podría provocar que sobrescribiera datos en la aplicación, lo que nuevamente provocaría fallas. En el caso de un sistema operativo con una sola aplicación, esto no era una limitación fatal, porque en ese caso, un problema en cualquiera de los dos requeriría que la aplicación o la computadora se reiniciaran de todos modos.
El otro problema principal era que los primeros Mac no tenían una unidad de gestión de memoria (MMU), lo que impedía la posibilidad de varias funciones modernas fundamentales. Una MMU proporciona protección de memoria para garantizar que los programas no puedan sobrescribir accidentalmente la memoria de otros programas y proporciona memoria compartida que permite que los datos se pasen fácilmente entre bibliotecas. Al carecer de memoria compartida, la API se escribió de modo que el sistema operativo y la aplicación compartan toda la memoria, que es lo que permite a QuickDraw examinar la memoria de la aplicación en busca de configuraciones como el modo de dibujo de líneas o el color.
El Macintosh carece de multitarea pero intenta simularlo, e insiste en una interfaz de usuario complicada pero deja gran parte del trabajo en manos de la aplicación. Estos son graves inconvenientes y es difícil imaginar soluciones elegantes para ellos.
— Adam Brooks Webber, Byte (septiembre de 1986) [3]
Estas limitaciones implicaban que sería difícil soportar la multitarea de más de un programa a la vez sin tener que reescribir todo el código del sistema operativo y de las aplicaciones. Sin embargo, hacerlo significaría que el sistema funcionaría con una lentitud inaceptable en el hardware existente. En su lugar, Apple adoptó un sistema conocido como MultiFinder en 1987, que mantiene la aplicación en ejecución bajo el control del ordenador, como antes, pero permite cambiar rápidamente de una aplicación a otra, normalmente simplemente haciendo clic en su ventana. A los programas que no están en primer plano se les dan periódicamente breves períodos de tiempo para ejecutarse, pero como antes, todo el proceso está controlado por las aplicaciones, no por el sistema operativo.
Debido a que el sistema operativo y las aplicaciones comparten un espacio de memoria, es posible que un error en cualquiera de ellos dañe todo el sistema operativo y haga que el equipo se bloquee. Con MultiFinder, cualquier fallo en cualquier lugar bloqueará todos los programas en ejecución. Ejecutar varias aplicaciones aumenta potencialmente las posibilidades de un fallo, lo que hace que el sistema sea potencialmente más frágil.
Otro factor que aumenta la gravedad del problema es el mecanismo de parches utilizado para añadir funciones al sistema operativo, conocido como CDEV e INIT o Paneles de control y extensiones. Los desarrolladores externos también hacen uso de este mecanismo para añadir funciones, como protectores de pantalla y un menú jerárquico de Apple . Algunos de estos paneles de control de terceros se volvieron casi universales, como el popular paquete de protectores de pantalla After Dark . [4] Debido a que no había un estándar para el uso de estos parches, no es raro que varios de estos complementos (incluidos los propios añadidos de Apple al sistema operativo) utilicen los mismos parches e interfieran entre sí, lo que provoca más fallos.
Copland fue diseñado para consistir en el sistema operativo Mac sobre un microkernel llamado Nukernel , que se encargaría de tareas básicas como el inicio de aplicaciones y la gestión de memoria, dejando todas las demás tareas a una serie de programas semiespeciales conocidos como servidores . Por ejemplo, los servicios de red y de archivos no los proporcionaría el propio kernel, sino servidores a los que se enviarían solicitudes a través de comunicaciones entre aplicaciones . [5] El sistema Copland en su conjunto consiste en la combinación de Nukernel, varios servidores y un conjunto de bibliotecas de soporte de aplicaciones para proporcionar implementaciones de la conocida interfaz de programación clásica de Macintosh. [6]
Los servicios de aplicación se ofrecen a través de un único programa conocido oficialmente como Cooperative Program Address Space. [7] [ página necesaria ] Los programas de Mac se ejecutan de forma muy similar a como lo hacen en System 7, como tareas cooperativas que utilizan las llamadas no reentrantes de Toolbox. El peor escenario posible es que una aplicación en el entorno CPAS se bloquee, arrasando con todo el entorno. Sin embargo, esto no hace que el sistema en su conjunto se caiga, y el entorno de Cooperative Program Address Space se reinicia automáticamente. [7] [ página necesaria ]
Las nuevas aplicaciones escritas con Copland en mente, son capaces de comunicarse directamente con los servidores del sistema y de ese modo obtener muchas ventajas en términos de rendimiento y escalabilidad. También pueden comunicarse con el núcleo para lanzar aplicaciones o subprocesos separados, que se ejecutan como procesos separados en memoria protegida , como en la mayoría de los sistemas operativos modernos. [8] Sin embargo, estas aplicaciones separadas no pueden usar llamadas no reentrantes como QuickDraw, y por lo tanto podrían no tener interfaz de usuario. Apple sugirió que los programas más grandes podrían colocar su interfaz de usuario en una aplicación Macintosh normal, que luego iniciaría subprocesos de trabajo externamente. [6]
Copland es completamente nativo de PowerPC (PPC). El sistema 7 se había portado al PowerPC con gran éxito; grandes partes del sistema se ejecutan como código PPC, incluidas tanto funciones de alto nivel, como la mayoría de los administradores de la caja de herramientas de la interfaz de usuario, como funciones de bajo nivel, como la gestión de interrupciones. Queda suficiente código de 68k en el sistema para ejecutarse en emulación, y especialmente aplicaciones de usuario, sin embargo, el sistema operativo debe mapear algunos datos entre los dos entornos. En particular, cada llamada al Mac OS requiere un mapeo entre los sistemas de interrupción del 68k y el PPC. Eliminar estos mapeos mejoraría enormemente el rendimiento general del sistema. En la WWDC de 1996, los ingenieros afirmaron que las llamadas del sistema se ejecutarían hasta un 50% más rápido. [9]
Copland también se basa en la entonces recientemente definida Common Hardware Reference Platform , o CHRP, que estandarizó el hardware de Mac hasta el punto en que podía ser construido por diferentes compañías y podía ejecutar otros sistemas operativos ( Solaris y AIX fueron dos de los muchos mencionados). Este era un tema común en ese momento; muchas compañías estaban formando grupos para definir plataformas estandarizadas para ofrecer una alternativa a la plataforma " Wintel " que rápidamente se estaba volviendo dominante; los ejemplos incluyen 88open , Advanced Computing Environment y la alianza AIM . [10]
El desafío fundamental del desarrollo y la adopción de Copland fue conseguir que todas estas funciones encajaran en una Mac normal. El Sistema 7.5 ya utiliza unos 2,5 megabytes (MB) de RAM, lo que supone una parte importante de la RAM total de la mayoría de las máquinas contemporáneas. Copland es un híbrido de dos sistemas, ya que su base nativa también aloja Blue Box con una copia completa del Sistema 7.5. Por tanto, Copland utiliza un sistema de gestión de memoria inspirado en Mach y se basa ampliamente en bibliotecas compartidas [11] , con el objetivo de ser aproximadamente un 50% más grande que el 7.5.
En marzo de 1988, [a] los gerentes técnicos intermedios de Apple celebraron una reunión fuera de la oficina para planificar el curso futuro del desarrollo de Mac OS. [12] Las ideas se escribieron en fichas ; las características que parecían lo suficientemente simples para implementar a corto plazo (como agregar color a la interfaz de usuario ) se escribieron en tarjetas azules; los objetivos a largo plazo, como la multitarea preventiva, estaban en tarjetas rosas; y las ideas a largo plazo como un sistema de archivos orientado a objetos estaban en tarjetas rojas. [13] [14] [b] El desarrollo de las ideas contenidas en las tarjetas azul y rosa se debía realizar en paralelo y, al principio, los dos proyectos se conocían simplemente como "azul" y " rosa ". [15] Apple tenía la intención de que el equipo Azul [16] lanzara una versión actualizada del sistema operativo Macintosh existente en el período de tiempo 1990-1991, y el equipo Rosa lanzara un sistema operativo completamente nuevo alrededor de 1993.
El equipo Blue, que se autodenominó los " Blue Meanies " en honor a los personajes de la película Yellow Submarine , entregó lo que se conocería como System 7 el 13 de mayo de 1991, pero los esfuerzos del equipo Pink sufrieron el efecto del segundo sistema y su fecha de lanzamiento continuó desplazándose hacia un futuro indefinido. Parte de la razón de esto se puede rastrear a problemas que se generalizarían en Apple con el paso del tiempo; cuando Pink se retrasó, sus ingenieros se trasladaron a Blue en su lugar. [17] Esto dejó al equipo Pink luchando constantemente por la dotación de personal y sufriendo los problemas asociados con la alta rotación de personal. La gerencia ignoró este tipo de problemas de desarrollo técnico, lo que provocó problemas continuos para entregar productos que funcionaran.
En esa misma época, el recién lanzado NeXTSTEP estaba generando un intenso interés en el mundo de los desarrolladores. Las características que originalmente formaban parte de Red se incorporaron a Pink, y el proyecto Red (también conocido como "Raptor") [18] finalmente se canceló. Este problema también era común en Apple durante este período; para perseguir la "próxima gran novedad", los gerentes intermedios agregaron nuevas características a sus proyectos con poca supervisión, lo que llevó a enormes problemas con el aumento de características . En el caso de Pink, el desarrollo finalmente se ralentizó hasta el punto de que el proyecto parecía moribundo.
El 12 de abril de 1991, el director ejecutivo de Apple, John Sculley, realizó una demostración secreta de Pink funcionando en un PS/2 Modelo 70 a una delegación de IBM . Aunque el sistema no era completamente funcional, se parecía al System 7 funcionando en un PC. IBM estaba muy interesada y, en los meses siguientes, las dos empresas formaron una alianza para seguir desarrollando el sistema. Estos esfuerzos se hicieron públicos a principios de 1992, bajo el nuevo nombre de " Taligent ". [19] En ese momento, Sculley resumió sus preocupaciones sobre la propia capacidad de Apple para lanzar Pink cuando afirmó: "Queremos ser un jugador importante en la industria informática, no un jugador de nicho. La única forma de hacerlo es trabajar con otro jugador importante". [20]
Las luchas internas en la nueva empresa conjunta eran legendarias, y los problemas con Pink dentro de Apple pronto parecieron ser menores en comparación. [21] Los empleados de Apple hicieron camisetas que mostraban gráficamente su predicción de que el resultado sería un proyecto exclusivo de IBM. [22] El 19 de diciembre de 1995, Apple se retiró oficialmente del proyecto. [23] IBM continuó trabajando solo con Taligent y finalmente lanzó sus partes de desarrollo de aplicaciones bajo el nuevo nombre "CommonPoint". Esto generó poco interés y el proyecto desapareció de los catálogos de IBM en cuestión de meses.
Mientras continuaban los esfuerzos de Taligent, se realizó muy poco trabajo para abordar la estructura del sistema operativo original. Durante este tiempo se iniciaron varios proyectos nuevos, como el proyecto Star Trek , una adaptación de System 7 y sus aplicaciones básicas a máquinas x86 compatibles con Intel, que alcanzó el estado de demostración interna. Pero como Taligent seguía siendo una preocupación, era difícil que los nuevos proyectos de sistemas operativos ganaran impulso.
En cambio, el equipo Blue de Apple continuó añadiendo nuevas funciones al mismo sistema operativo básico. A principios de los años 90, Apple lanzó una serie de nuevos paquetes importantes para el sistema; entre ellos se encuentran QuickDraw GX , Open Transport , OpenDoc , PowerTalk y muchos otros. La mayoría de ellos eran más grandes que el sistema operativo original. Los problemas de estabilidad, que habían existido incluso con pequeños parches, crecieron junto con el tamaño y los requisitos de estos paquetes, y a mediados de los años 90, Mac tenía reputación de ser inestable y fallar constantemente. [6]
Cuando la estabilidad del sistema operativo se vino abajo, la respuesta inmediata fue que Taligent solucionaría el problema con toda su base moderna de reentrada completa, multitarea preventiva y memoria protegida. Cuando los esfuerzos de Taligent también fracasaron, Apple se quedó con un sistema operativo envejecido y sin soluciones designadas. En 1994, el revuelo en la prensa en torno al próximo lanzamiento de Windows 95 comenzó a crecer, a menudo cuestionando la capacidad de Apple para responder al desafío que presentaba. [14] La prensa se volvió contra la empresa, a menudo presentando los nuevos proyectos de Apple como fracasos en ciernes. [24]
Ante esta presión, el colapso de Taligent y los crecientes problemas con el sistema operativo existente, tras el lanzamiento de System 7.5 a finales de 1994, la dirección de Apple decidió que el sistema operativo, que ya tenía una década de antigüedad, había llegado a su fin. Se necesitaba un nuevo sistema que no tuviera estos problemas, y pronto. Dado que gran parte del sistema existente sería difícil de reescribir, Apple desarrolló un enfoque de dos etapas para abordar el problema.
En la primera etapa, el sistema existente se trasladaría a un nuevo sistema operativo basado en kernel con soporte integrado para multitarea [25] y memoria protegida. Las bibliotecas existentes, como QuickDraw, tardarían demasiado en reescribirse para el nuevo sistema y no se convertirían para que fueran reentrantes. En su lugar, una única máquina paravirtualizada , la Blue Box, mantiene las aplicaciones y el código heredado como QuickDraw en un único bloque de memoria para que sigan funcionando como lo hacían en el pasado. Blue Box se ejecuta en un espacio de memoria Copland distinto, por lo que el bloqueo de aplicaciones o extensiones heredadas dentro de Blue Box no puede bloquear toda la máquina.
En la siguiente etapa del plan, una vez que el nuevo núcleo estuviera en funcionamiento y se lanzara esta actualización básica, el desarrollo pasaría a reescribir las bibliotecas más antiguas en nuevas formas que pudieran ejecutarse directamente en el nuevo núcleo. [26] [27] [28] En ese punto, las aplicaciones obtendrían algunas características modernas adicionales.
En el patrón de nombres de código musical, donde el nombre en código del Sistema 7.5 es "Mozart", el sucesor previsto se llama "Copland" en honor al compositor Aaron Copland . A su vez, su sistema sucesor propuesto, Gershwin, completaría el proceso de trasladar todo el sistema a la plataforma moderna, pero el trabajo en Gershwin nunca comenzaría oficialmente. [29]
El proyecto Copland fue anunciado por primera vez por David Nagel en mayo de 1994. [30] [31] Partes de Copland, como una versión preliminar del nuevo sistema de archivos, se mostraron en la Conferencia Mundial de Desarrolladores de Apple en mayo de 1995. Apple prometió que una versión beta de Copland estaría lista para fines de año, para el lanzamiento comercial final a principios de 1996. [31] [32] Gershwin seguiría el año siguiente. [33] A lo largo del año, Apple lanzó varias maquetas a varias revistas mostrando cómo se vería el nuevo sistema, y comentó continuamente que la compañía estaba completamente comprometida con este proyecto. Para fines de año, sin embargo, no se había producido ninguna versión para desarrolladores. [32]
Como había sucedido durante el desarrollo de Pink, los desarrolladores de Apple pronto comenzaron a abandonar sus propios proyectos para trabajar en el nuevo sistema. Los mandos intermedios y los líderes de proyectos contraatacaron alegando que su proyecto era vital para el éxito del sistema y lo trasladaron al flujo de desarrollo de Copland. Por lo tanto, no podían cancelarlo junto con trasladar a sus empleados a trabajar en alguna otra parte de Copland de todos modos. [34] Este proceso cobró impulso durante el año siguiente.
"Cada vez que veían algo atractivo, tenían que incluirlo en el sistema operativo", afirma Jeffrey Tarter, editor del boletín de noticias de la industria del software Softletter . "Había pequeños grupos en toda Apple que hacían cosas divertidas que no tenían ninguna aplicación terrenal en la línea de productos de Apple". El resultado fue un círculo vicioso: a medida que la incorporación de nuevas funciones retrasaba los plazos, Apple se veía obligada a prometer aún más funciones para justificar los costosos retrasos. Además, este patrón sisifiano persistió en una época en la que la empresa apenas podía permitirse el lujo de pasar por alto un paso. [31]
Pronto el proyecto se parecía menos a un nuevo sistema operativo y más a una enorme colección de nuevas tecnologías; QuickDraw GX , System Object Model (SOM) y OpenDoc se convirtieron en componentes centrales del sistema, [35] mientras que tecnologías completamente no relacionadas como un nuevo cuadro de diálogo de administración de archivos (el cuadro de diálogo Abrir ) y soporte para temas aparecieron también. La lista de características creció mucho más rápido de lo que se podían completar, un caso clásico de característicaritis progresiva . [31] Un ejecutivo de la industria señaló que "el juego es reducirlo a las tres o cuatro características más atractivas en lugar de tener cientos de agradables de tener, no estoy seguro de que eso esté sucediendo". [36]
A medida que el "paquete" fue creciendo, probarlo se hizo cada vez más difícil y los ingenieros ya comentaban en 1995 que la fecha de lanzamiento anunciada por Apple para 1996 era desesperanzadoramente optimista: "No hay manera de que Copland se lance el año que viene. Sólo espero que se lance en 1997". [36]
A mediados de 1996, se filtró información de que Copland tendría la capacidad de ejecutar aplicaciones escritas para otros sistemas operativos, incluido Windows NT . Al mismo tiempo, los ingenieros de Copland supuestamente confirmaron esta característica y la dirección del proyecto de Copland la negó rotundamente. Se supone que esta característica había estado en desarrollo durante más de tres años. Un usuario afirmó que miembros del equipo de desarrollo de Copland le habían informado sobre estos planes. Algunos analistas proyectaron que esta capacidad aumentaría la penetración de Apple en el mercado empresarial, mientras que otros dijeron que era "el fin del juego" y que era solo una señal de la irrelevancia de la plataforma Mac. [37]
En la WWDC de 1996, el nuevo CEO de Apple , Gil Amelio , utilizó la conferencia para hablar casi exclusivamente sobre Copland, ahora conocido como System 8. [38] Afirmó repetidamente que era el único enfoque de la ingeniería de Apple y que se enviaría a los desarrolladores en unos pocos meses, con un lanzamiento completo planeado para fines de 1996. Muy pocas demostraciones, si es que hubo alguna, del sistema en ejecución se mostraron en la conferencia. En cambio, se demostraron varias piezas de la tecnología y la interfaz de usuario que irían en el paquete (como un nuevo cuadro de diálogo de administración de archivos). Se demostró poco de la tecnología del sistema central y el nuevo sistema de archivos que se había mostrado un año antes estaba ausente.
Había una forma de utilizar realmente el nuevo sistema operativo: inscribirse para pasar un tiempo en los laboratorios de desarrolladores. Esto no salió bien:
Hubo una demostración práctica del estado actual de OS 8. Hubo atisbos tentadores de las novedades que vendrían, pero la experiencia en general fue horrible. Todavía no admite la edición de texto, por lo que no se podía hacer nada excepto abrir y ver documentos (cualquier campo de diálogo que requiriera escribir algo estaba en blanco y muerto). Además, era increíblemente frágil y se bloqueaba repetidamente, a menudo corrompiendo archivos del sistema en el disco en el proceso. El personal de demostración reformateó y reconstruyó los discos duros a intervalos regulares. Fue increíble que incluso nos dejaran ver la bestia. [39]
Varias personas en la feria se quejaron de la falta de sofisticación del microkernel, en particular la falta de multiprocesamiento simétrico , una característica que sería extremadamente difícil de agregar a un sistema que se lanzaría en unos pocos meses. Después de eso, Amelio volvió al escenario y anunció que agregarían eso a la lista de características.
En agosto de 1996, se envió la "Developer Release 0" a un pequeño número de socios seleccionados. [31] Lejos de demostrar una estabilidad mejorada, a menudo se bloqueaba después de no hacer nada en absoluto, y era completamente inutilizable para el desarrollo. En octubre, Apple movió la fecha de entrega prevista a "algún día", insinuando que podría ser 1997. Uno de los grupos más sorprendidos por el anuncio fue el propio equipo de hardware de Apple, que había estado esperando a que Copland permitiera que el PowerPC fuera representado de forma nativa, sin la carga del legado de software. Los miembros del equipo de control de calidad del software de Apple bromearon diciendo que, dados los recursos actuales y la cantidad de errores en el sistema, podrían autorizar el programa para su envío en algún momento alrededor de 2030.
Más tarde, en agosto de 1996, la situación no mejoró. Amelio se quejó de que Copland era "sólo una colección de piezas separadas, cada una de las cuales estaba siendo trabajada por un equipo diferente... que se esperaba que se unieran mágicamente de alguna manera". [40] Con la esperanza de salvar la situación, Amelio contrató a Ellen Hancock , de National Semiconductor, para que se hiciera cargo de la ingeniería de Ike Nassi [41] y pusiera de nuevo en marcha el desarrollo de Copland. [42]
Después de unos meses en el trabajo, Hancock llegó a la conclusión de que la situación era desesperada; dado el desarrollo y la ingeniería actuales, creía que Copland nunca se comercializaría. En cambio, sugirió que las diversas tecnologías orientadas al usuario en Copland se implementaran en una serie de lanzamientos escalonados, en lugar de un único gran lanzamiento. Apple canceló oficialmente Copland en agosto de 1996, [33] Los sobres de CD para el lanzamiento del desarrollador se habían impreso, pero los discos no habían sido masterizados.
Para solucionar el problema de la infraestructura obsoleta que subyacía a estas tecnologías, Amelio sugirió buscar fuera de la empresa un nuevo sistema operativo que no tuviera relación con el sistema. Los candidatos considerados fueron Solaris de Sun y Windows NT . Hancock, según se informa, estaba a favor de optar por Solaris, mientras que Amelio prefería Windows. Amelio incluso habría llamado a Bill Gates para discutir la idea, y Gates prometió poner a los ingenieros de Microsoft a trabajar para trasladar QuickDraw a NT. [43]
Después de largas discusiones con Be y rumores de una fusión con Sun Microsystems, muchos se sorprendieron con el anuncio de Apple en diciembre de 1996 de que comprarían NeXT y contratarían a Steve Jobs en un rol de asesor. [44] Amelio bromeó diciendo que "eligieron el Plan A en lugar del Plan Be". [45] El proyecto para trasladar NeXTSTEP a la plataforma Macintosh se llamó Rhapsody y sería el núcleo de la estrategia de sistema operativo multiplataforma de Apple . Esto heredaría el soporte existente de OpenStep para las arquitecturas de CPU PowerPC, Intel x86 y DEC Alpha , y una implementación de las bibliotecas OpenStep ejecutándose en Windows NT . Esto, en efecto, abriría el mercado de aplicaciones de Windows a los desarrolladores de Macintosh, ya que podrían licenciar la biblioteca de Apple para distribuirla con su producto, o depender de una instalación existente.
Siguiendo el plan de Hancock, el desarrollo continuó con System 7.5, que recibió la integración de varios elementos de Copland. System 7 fue renombrado como Mac OS 7 con el lanzamiento de 7.6, en el que se mejoraron la estabilidad y el rendimiento. [46] Muchas características de Copland, incluido el nuevo Finder multiproceso y la compatibilidad con temas (por defecto Platinum ) se integraron en la versión beta no publicada de Mac OS 7.7, que en su lugar fue renombrada y lanzada como Mac OS 8. [ 47]
Con el regreso de Jobs, este cambio de marca a la versión 8 también le permitió a Apple explotar un vacío legal para terminar las licencias de terceros fabricantes para System 7 y efectivamente cerrar el mercado de clones de Macintosh . [48] Más tarde, Mac OS 8.1 finalmente agregó el nuevo sistema de archivos y Mac OS 8.6 actualizó el nanokernel para manejar soporte limitado para tareas preemptivas . Su interfaz es Multiprocessing Services 2.x y posteriores, pero no hay separación de procesos y el sistema aún usa multitarea cooperativa entre procesos. Incluso un proceso que es consciente de Multiprocessing Services todavía tiene una parte que se ejecuta en Blue Box, una tarea que también ejecuta todos los programas de un solo subproceso y la única tarea que puede ejecutar código de 68k.
El proyecto Rhapsody fue cancelado después de varias versiones Developer Preview, se abandonó el soporte para ejecutarse en plataformas que no fueran Macintosh y finalmente se lanzó como Mac OS X Server 1.0 . En 2001, esta base se acopló a la biblioteca Carbon y la interfaz de usuario Aqua para formar el producto moderno Mac OS X. [49] Las versiones de Mac OS X anteriores al lanzamiento de Intel de Mac OS X 10.4 (Tiger), también usan el concepto de Blue Box sin raíz en forma de Classic para ejecutar aplicaciones escritas para versiones anteriores de Mac OS. Varias características vistas originalmente en las demostraciones de Copland, incluido su comando Buscar avanzado, navegador de Internet integrado , pilas de carpetas y soporte para videoconferencias , han reaparecido en versiones posteriores de Mac OS X como Spotlight , Safari , Stacks y iChat AV , respectivamente, aunque la implementación y la interfaz de usuario para cada característica es muy diferente.
Según la documentación incluida en la versión para desarrolladores, Copland admite las siguientes configuraciones de hardware: [50]