Но вместо этого убила себя. Это история Apple Copland, операционной системы, на которую возлагали огромные надежды, но, как обычно, что-то пошло не так…

Источник: The Long View.

Увертюра

Первая половина 90-х была тем волшебным моментом, когда на рынок ОС можно было выскочить безнаказанно и если не завоевать целиком, то хотя бы урвать жирный кусок и остаться в грандах ОС-строения на годы вперед.

Разумеется, нечто подобное было на уме и у Apple, потому что в начале 90-х она столкнулась с серьезным хищником в своей биологической нише: рынок стали потихоньку наводнять так называемые Wintel’ы — сиамский близнец Виндоуз и Интела, сросшийся в корпоративной алхимии. Уже только в 1990 было продано 2,75 миллиона копий Windows 3.0 и будущая доминанта гейтсовской конторы начала очерчиваться уже тогда.

Плюсом, эпловская Classic MacOS начинала стремительно устаревать к тому времени. Для патлатых 80-х она была бесспорно хороша, хотя и не без огрехов. К примеру, система не имела вытесняющей или приоритетной многозадачности (preemptive multitasking), которая позволяет ОСке управлять процессором и аллоцировать ресурсы более важным задачам, что снижает количество зависаний и "системных крахов".

Эппловская System 6. Источник: Wikipedia.

Вместо этого в эппловской семерке была кооперативная многозадачность, которую придумал легендарный Энди Херцфельд в 1985 году. В спартанских условиях, когда вся работа зиждилась на процессоре а-ля Motorola 68000, нужно было экономить каждый байт и кооперативный подход здорово помогал в этом! Например, не прерывая программу насильно и передавая управление только тогда, когда программа сама вызывала системную функцию в отсутствии новых кликов. Это делало переключения редкими и почти не нагружало слабоватый процессор.

Веселый компьютерщик Энди Херцфельд. Источник: Wikipedia.

В журнале Byte, который был посвящен сугубо "микрокомпьютерам" — как тогда называли прообразы персоналок — об этом выразились следующим, довольно резким образом:

«В Macintosh отсутствует многозадачность, но он пытается её имитировать, и он настаивает на сложном пользовательском интерфейсе, но при этом большую часть работы перекладывается на приложение. Это серьёзные недостатки, и трудно представить какие-то элегантные способы их устранения.» Адам Брукс Веббер, журнал Byte, сентябрь 1986 г.

Обложка журнала Byte. Источник: Auxiliary Memory.

What's the Modern Equivalent of Byte Magazine? – Auxiliary Memory

Но время шло, железо наливалось мощью и компам, запряженным старой ОСью уже не получилось бы уехать далеко. Тогда по всему эппловскому R&D был дан приказ: срочно садимся за разработку, парни.

Рапсодия в розово-голубых тонах

Итак, в Эппл начинаются веселые старты. Это 1988 год и до Win95, которая сыграет весомую роль в этой кошмарной эпопее, еще вроде бы далеко, но… первые кирпичики в здании под названием Copland будут заложены и процементированы уже тогда.

Разработку того, что назовут System 7, нужно добавить во все вузовские и MBAшные учебники по менеджменту как пример того, как делать нельзя в принципе — с самых первых дней проекта вместо стройно организованной работы наметилось тянитолкайство и крыловский квартет в одном флаконе, где каждая отдельная задача и каждый отдельный подпроект жили какой-то своей жизнью.

Для начала техменеджмент разбил людей на три команды: Голубые, Розовые и Красные. Такая тарантиновская палитра объясняется тем, что идеи для будущей ОС фиксировались на специальных цветных индексных карточках, похожих на библиотечные.

Вот на таких карточках записывались идеи для ОС. Это вам не модненькие желтые стикеры. Источник: Wikipedia.

То, что писалось на голубых карточках, включало в себя идеи, которые можно реализовать быстро, без бесконечно размазанных дедлайнов. Эта команда даже нарекла себя "Голубыми врединами" в честь пакостных созданий из битловского мультфильма про Жёлтую Подлодку.

“Голубые вредины” из Yellow Submarine. Источник: Artnet.

На розовых карточках фиксировались задачи посложнее и требующие времени побольше: одной из таких была вожделенная приоритетная многозадачность. А команда красных отвечала за очень далекие цели вроде объектно-ориентированной файловой системы.

Три команды начали рвать упряжки и "Голубые вредины" дотащили свою задачу к 1991 году, выкатив то, что в итоге станет System 7. "Розовые", вроде бы, не смогли закончить толком почти ничего, так как у них началась бешеная кадровая текучка: лучших сотрудников переводили к "Врединам" и людей стало катастрофически не хватать.

Кстати, считается, что в фиаско команды "розовых" виноват так называемый "эффект второй системы". Это понятие придумал архитектор компьютерных систем Фред Брукс, употребив его в своей книге "Выдуманный человек-месяц". Вкратце, этот эффект означает, что когда проектируется вторая версия системы, её разработчики, наученные горьким опытом работы над первой, стараются учесть всё, что упустили в прошлый раз. В результате они переусложняют систему, набивая ее ненужными функциями, и она становится громоздкой, перегруженной и страдает от «раздувания» (по-английски такое увлечение фичами еще называют "feature creep").

В общем, по итогу проблемы "Розовых" менеджмент не волновали совсем. Красные же, называвшие себя "Рапторами", были переведены вместе с наработками в "розовую" команду.

К тому же периоду, начало 1991, на сцену вышла система NeXTSTEP — ОСка, которую разработало еще одно детище Джобса, NeXT, бывший к тому времени как 6 лет в изгнании из родной яблочной гавани. Разумеется, новая ОС привлекла много внимания, заставив эппловский менеджмент, особенно Джона Скалли, напрячься.

Интерфейс NeXTSTEP. Источник: Wikipedia.

Было решено объединить усилия с IBM и для них Эппл выкатила отдельную версию своей "Семерки" под кодовым названием Pink, правда с урезанным функционалом. Совместный проект получил название Taligent — портманто, которое означает "талантливый + умный". Раздрай начался еще больше и многие эппловцы начали носить футболки с пророчески предупреждающими надписями, что IBM подомнет проект под себя. В итоге, экспансия за пределы яблочной экосистемы не удалась и Эппл покинула странную унию с IBM уже к 1995, после чего он окончательно затух.

Рондо

Итак, System 7 увидела свет 13 мая 1991 года, сменив собой последнюю классическую МакОсь System 6. Эта ОС во многом достопримечательная веха: она поддерживала 32-разрядное адресное пространство программ, увеличила системный лимит памяти с 8 МБ до 4 ГБ, корзина превратилась в обычную папку и файлы в ней могли храниться и охраняться даже после перезагрузки (хотя у Ксерокса что-то похожее было еще в 1981). А еще с нее началась традиция называть эппловские системы MacOS.

Дистрибутив System 7. Источник: The Center for Computing History.

В общем-то эппловская "Семерка" была встречена тепло и прессой, и энтузиастами и обычными маководами того времени, которые особенно радовались нормально заработавшему инструменту поиска Finder.

Но всего 3-4 года спустя System 7 уперлась в архитектурный тупик. Ей не хватало очень и очень многого: защищенной памяти, изолирующей процессы друг от друга, многопоточности для успешного выполнения разных задач одновременно и, конечно, приоритетной многозадачности.

Интерфейс “Семерки”. Источник: Apple Wiki.

Вдобавок, System 7 тащила на себе тяжеленный легаси-код. Дело в том, что кодовая база, начиная аж с лохматого 1984, непрерывно росла все это время и "Семерка" не была переписана с нуля, а потому архитектура ОС зиждилась на наследии древних, которые были в тисках 128 КБ оперативной памяти и потому то и дело шли на жесткие компромиссы.

Они писали код на низкоуровневом ассемблере, использовали прямые ссылки на память и глобальные переменные, со временем наслаивая один модуль за другим. Кто-то справедливо называл это "спагетти-кодом", отмечая, что это хрупкая и страшно запутанная система, где вся структура может сколлапсировать из-за одной малюсенькой ошибки.

Стартовая дискета для System 7. Впоследствии ее перевели на CD-ROM, потому что для полной установки требовалось 15 дискет. Источник.

Чтобы успеть запрыгнуть в поезд, решено было действовать жестко и быстро. Так на свет появляется замысел той самой Copland OS, которая должна была догнать и перегнать Виндоуз.

Крещендо и кульминация

Стартовая анимация Mac OS Copland. Источник: Paul’s Old Junk.

На Copland OS у Эппл было громадье планов. Прежде всего, система должна была базироваться на микроядре NuKernel, которое частично осталось в наследство со времен проекта Taligent. Но по большей части оно все же разрабатывалось с чистого листа на основе идей микроядра Mach 3.0, но с существенными доработками — в частности, была добавлена поддержка "мягкого" реального времени для планировщика задач, чтобы повысить производительность мультимедийных приложений.

По всей видимости, это органайзер. Источник: lowendmac.com.

Также новая ОС должна была быть полностью подогнана под стильную, модную, молодежную архитектуру PowerPC (PPC). Предыдущая операционка снабжалась 680×0 эмулятором, который позволял запускать не-PPC софт на PPC-железе, но работал он, как правило, со скрипом в таких условиях. В Copland же предполагалось сделать эмулятор уже для более старого софта, чтобы он тоже смог работать на новых машинах. И более производительные аппараты должны были позволить наконец-то запустить приоритетную многозадачность, позволив процессору решать, какие из них важнее.

По всей видимости, Design Goals было неким подобием Фотошопа.  Источник: Paul’s Old Junk.

Кстати, абсолютно визионерским решением было добавить многопользовательский режим. Эта фича еще не была известна на тот момент, но в Copland юзерам дозволялось создавать отдельные профили с паролями, логиниться в них и заниматься только теми вещами, которые в рамках профиля и были доступны. На Виндоус этот режим появится только с Win98.

Спок червеобразный. Иcточник: CodingItWrong.

Ещё одна пророческая вещь касалась визуала ОСки. Вообще Copland в лучших джобсовских традициях должна была стать воплощением эстетики. У графических объектов появились объёмные тени и цвета в противовес классическому черно-белому оформлению Мака. А еще там были целых три темы!

В классической теме превалировал нейтральный платиновый оттенок. Была тема Z для детей со всякими сосиско-образными линиями и мультяшно-яркими цветами. Но еще была тема P — элегантная, футуристичная и… тёмная. Что это, если не гениально предсказанный в середине 90-х Dark Mode?!

Детская тема. Источник: The Long View.

И “темная тема” на Copland. Источник: lowendmac.com.

Но что было особенно интересно, так это система OpenDoc. Эта фича давала программистам и пользователям возможность встраивать куски других программ прямо в свои файлы или приложения (!) Например, при необходимости, можно было вчебурашить веб-браузер в текстовый редактор — или вообще в любой другой документ. По сути, архитектура OpenDoc напоминала Microsoft OLE, только гораздо более мощную и гибкую. На стероидах, что называется.

Окно OpenDoc. Источник: lowendmac.com.

Казалось бы, вектор задан правильный. Идеи нужные. Фичи полезные. Но и тут все пошло на перекосяк. создавалось впечатление будто Copland несет на себе проклятие System 7 с перекошенным менеджментом.

У команды Copland’а наблюдался особо сильный случай "фичанки", когда добавление новых фич стало важнее самого продукта. Как сказал редактор новостной рассылки о мире софта Softletter Джеффри Тартер: "Как только им на глаза попадалось что-то красивенькое, они мигом тащили это в свою ОС".

В самом же проекте царило безначалие. Сотрудники покидали свои проекты, потому что их переводили работать над другими компонентами Copland’а. Тимлиды становились на дыбы и выцарапывали отобранные кадры обратно, настаивая, что без их конкретной фичи ОС будет обречена на провал. Эта чехарда продолжалась месяцами и в итоге сотрудники уже не понимали, что конкретно от них хотят…

Финальный аккорд

На Всемирной конференции разработчиков (WWDC) Джил Амелио, тогдашний СЕО Эппл, с упоением рекламировал грядущий Copland и заверял, что на новой ОС сосредоточены все силы компании на данный момент. Звучало это крайне интригующе, но вот увидеть воочию, на что способна система, было затруднительно.

Существовала копия на CD, которую можно было подержать в руках и даже прогрузить с нее систему. Только доступ к ней открывался при записи на сеанс в специальную лабораторию для разработчиков. И те, кому посчастливилось "пощупать" Copland, реагировали крайне негативно.

Коробка с Copland бетой. Коробки были отпечатаны, а вот диски с ОС так и не увидели свет. Источник: Reddit.

r/VintageApple - Copland OS Box

Очевидцы утверждали, что редактировать документы было нельзя от слова совсем — только открывать и просматривать. В диалоговые окна писать тоже было нельзя. Вдобавок, система вела себя крайне волатильно и то и дело норовила крашнуться, попутно испортив системные файлы. Сотрудники, раздававшие демо, стоически то и дело форматировали жесткие диски после очередного краша, уставившись безжизненным взглядом в одну точку.

Нужно ли говорить, что Copland в таком виде выпускать было нельзя? И Амелио, и руководство пониже прекрасно понимали это. А среди эппловских QA-спецов ходила шутка, что при нынешнем положении дел ОС увидит свет ближе к среде 2030 года.

Предпринимались попытки как-то реанимировать коматозный проект. Амелио специально пригласил Элен Хэнкок из National Semiconductor — которую Джобс потом окрестил "дурындой" — надеясь, что она найдет хоть какой-то способ вытащить Copland из болота. Но деловая дама, провозившись с отчетами и аналитикой несколько месяцев, пришла к неутешительному вердикту: это проще усыпить.

Довольный Джобс, впервые в эппловском офисе за долгое время, предвкушает скорый триумф. 1996 год. Источник: AppleInsider.

Проект Copland был официально закрыт в августе 1996 года, так и не увидев дня официальной премьеры. Куча потраченных человеко-часов и все впустую. Но его закономерная гибель повлекла другие важные события.

Когда всем окончательно стало ясно, что из этой горе-системы ничего путнего не выйдет, Apple приняло решение выкупить джобсовскую NeXT, чтобы инкорпорировать их ОС в свою экосистему. Сей шаг открыл путь для "второго пришествия" Джобса, сначала в качестве советника, но уже год спустя он "на время" уселся в кресло СЕО и спас балансировавшую на краю банкротства Эппл.

А Copland так и осталась удивительным примером того, что даже самые талантливые и трудоголические кадры не смогут ничего сделать без четко очерченных цели и фронта работ. И может, авторитаризм — это плохо, но в некоторых ситуациях он жизненно необходим. Иначе не согласованные устремления, цели и видения просто разорвут упряжку. Опрокинув тележку.

Скачать MacOS Coopland