Apfelschorle. Мысли про Apple.

Copland. История о том, как не надо разрабатывать операционные системы

copland-story-2

В начале 90-х Apple оказалась в затруднительном положении: дизайнеры, учителя и издатели обожали Macintosh, но массовый рынок стремительно уходил к PC. К 1996 году доля Apple упала ниже 5%, а Windows активно захватывала умы потребителей. Под капотом Macintosh всё ещё крутили шестеренками технологии System 7, операционной системы, наработки которой уходили корнями в 80е1.

Что, собственно, было не так?

Macintosh System 7 (кстати, название macOS система получила только в 1997 году с версией 7.5) вышла в 1991-м и на первый взгляд выглядела достойно: цветной интерфейс, удобное управление шрифтами, сетевые возможности. Но всё это держалось на сильно устаревшем фундаменте.

Ключевые проблемы:

Для разработчиков это означало необходимость писать код, который существовал буквально «на честном слове», без страховки. Для пользователей — нервы, потери данных и перманентное ощущение, что Mac отстаёт от PC, где Windows постепенно переходила к вытесняющей многозадачности и защите памяти, и просто-напросто была более стабильной и современной ОС.

В Apple понимали: продолжать бесконечно латать System 7 невозможно. Нужна была новая операционная система, качественный скачок в технологиях. Этим продуктом и стала ОС с кодовым названием Copland, разработка которой официально началась в 1994 году.

Глоток свежего воздуха... и айти-ситком

Проект Copland (названный в честь композитора Аарона Копленда) должен был стать настоящей революцией для "Макинтошей": современное ядро с вытесняющей многозадачностью, поддержка многопроцессорности, модульная архитектура, обновленный пользовательский интерфейс, продвинутые сетевые возможности и еще множество полезных мелких улучшений. Внутри компании Copland называли «System 8» и готовились представить его как радикальное обновление своей ОС.

Но разработка быстро превратилась в нечто по принципу «слишком много всего и сразу»: команды работали над технологиями и фишками системы разрозненно, каждый проталкивал свои идеи и конкурировал между собой, а функции множились так быстро, что баглист стал больше похож на том объемной энциклопедии. QA-специалисты шутили, что тестировать и чинить ошибки можно было до 2030 года — настолько всё было плохо.

Параллельно с этим Apple начала разработку наследника Copland, с кодовым названием Gershwin. Разработчики "Гершвина" требовали от разработчиков "Копланда" рабочих технологий, которые еще даже не были реализованы. Возникал своеобразный замкнутый круг, когда оба проекта толком не продвигались, а технологический пул не мог устаканиться и постоянно менялся. Плюс, на обе команды активно давили руководство и отдел маркетинга. Надо ли говорить, что в этом хаосе планирование и разработка шли не очень хорошо?

Насколько "не очень хорошо", спросите вы? Девелоперские сборки Copland периодически вообще не загружались; показ демо превращался в череду аварийных перезагрузок и перестановкой ранних версий операционки "на лету" прямо перед зрителями. Вообще, живых демонстраций ОС в сети почти не найти. Те ролики, которые периодически всплывают на ютубе — это фейковые концептуальное демо, мечты о возможной работе системы, а не реальный рабочий софт.

Галя, у нас отмена

Непростое, но необходимое, решение об отмене проекта Copland было принято в августе 1996 года высшим руководством Apple после того, как новая CTO Эллен Хэнкок была приглашена для «приведения проекта в порядок». Несмотря на свои усилия, она быстро пришла к выводу, что Copland никогда не будет готов к выпуску из-за хронических проблем с разработкой, раздробленности команд, чрезмерного количества функций и отсутствия реального контроля над масштабом проекта.

Гил Амелио, тогдашний CEO Apple, отметил, что Copland был «только набором отдельных частей, которые должны были каким-то чудом соединиться в единое целое». Действительно, разработка системы страдала термином, который и сейчас используется в разработке ПО — feature creep (вольный перевод — "разбухание функционала"), когда из-за слабого менеджмента и отсутствие фокуса в продукт добавляется избыточное количество возможностей. Они, в свою очередь, создают дополнительные сложности для разработчиков и увеличивают количество багов.

После отказа от Copland Apple начала смотреть по сторонам, тестируя сторонние ОС и даже рассматривая сотрудничество с Microsoft, но в итоге приобрела NeXT и вернула Стива Джобса. Но пока macOS была только идеей, оставшиеся от Copland наработки все-таки пригодились для апдейтов Mac OS 8 и 9 (например, новый Finder, темы и часть сетевых функций).

Проект стал не только иллюстрацией технического кризиса в Apple, но и зеркалом корпоративного хаоса компании начала-середины 90х: большие планы, внутренние войны и настоящий управленческий фейл. Только с приходом Джобса компания стала избавляться от сложной управленческой структуры, стала фокусироваться на меньшем количестве продуктов (как железных, так и программных) и четче ставить более реалистичные цели внутри команд. Это помогло ей оформить легендарное возвращение на рынок и превратило в ту Apple, которую мы знаем сейчас.

  1. Сделаю одной сноской, но почти все факты в этой статье взяты из одного из четырех источников. Википедийной статьи про Копланд, страницы проекта на площадке Fandom, эпичного реддит треда на эту тему и блог-поста в ЖЖ Liam on Linux

  2. Windows 95, в отличие от NT, имела гибридную систему многозадачности. Современные на тот момент 32-битные приложения имели "вытесняющую многозадачность", тогда как более старые 16-битные — все еще работали в режиме "кооперативной многозадачности".