«Хеллоуин» — немного правды в холодной воде...

19 ноябрь, 1998 - 11:22Андрей Зубинский

В рамках публикации архивных материалов издания предлагаем вашему вниманию статью из № 44 (163) «Компьютерного Обозрения» от 19 ноября 1998 г. 20 лет назад кипели нешуточные страсти вокруг противостояния открытого и коммерческого ПО. Андрей Зубинский описал почти детективную историю вокруг документа «Хеллоуин».

НЕТРИВИАЛЬНОЕ ЧТИВО
Почти по роману Р. Ладлема «Бумага Мэтлока»

В последнюю неделю октября независимым программистом Эриком Реймондом (Eric Raymond, автор популярной статьи «Собор или Базар») был получен от пожелавшего остаться неизвестным лица внутренний конфиденциальный меморандум корпорации Microsoft, впоследствии получивший название «Хэллоуин» (Halloween — праздник в США в конце октября). Реймонд снабдил этот документ комментариями и передал в прессу, а также разместил на собственной Internet-странице. Посвященные меморандуму «Хэллоуин» статьи были в кратчайшие сроки опубликованы в таких серьезных «некомпьютерных» изданиях, как «The Wall Street Journal», «The Washington Post», и еще в нескольких десятках массово-популярных и технических газет и журналов (www.opensource.org/halloween.html содержит как первоисточник меморандума, так и ссылки на опубликованные в Internet статьи). Через несколько дней после обнародования документа корпорация Microsoft подтвердила его подлинность... Меморандум «Хэллоуин» вызвал совершенно неожиданный резонанс, и ход развития последующих событий уже больше напоминает лихорадочную гонку из плохого детектива. Но об этом — в свое время. Сосредоточимся пока на самом меморандуме.

Итак, один из сотрудников Microsoft Винод Валлоппиллил (Vinod Valloppillil) написал внутренний отчет о результатах несложного анализа процесса разработки Открытого Программного Обеспечения (Open Sources Software, OSS в дальнейшем; в эту категорию попадает все ПО, распространяющееся в исходных текстах и не обязательно бесплатное, в том числе Linux, Free/Net/OpenBSD, XFree86 и т. д.). Массовое внимание этот документ привлек выводами о явной угрозе корпоративному процессу разработки ПО со стороны OSS и кратким описанием возможных методов борьбы корпоративных структур с сообществом OSS, а также упоминанием об особой опасности для корпорации Microsoft OSS серверного назначения.

Если попытаться кратко пересказать содержание «Хэллоуин», то весь достаточно обширный документ в части анализа OSS сводится к следующему: OSS приобретает «коммерческое» качество и соответствующий уровень сложности (ядро Linux — 500000 строк, XFree86 — 1,5 млн строк); процесс разработки OSS — уникальное явление, обладающее как существенными достоинствами, так и специфическими недостатками; особо важным для Microsoft конкурирующим продуктом OSS является Linux как реальная альтернатива Windows NT.

Подобные утверждения не один раз высказывались аналитиками, поэтому «Хэллоуин» не принес ничего нового, за исключением признания самой Microsoft факта существования и значимости OSS. Но зато рекомендуемые в «Хэллоуин» способы борьбы с OSS являют собой образец уникального сочетания военной тактики и коммерческой стратегии: для того чтобы победить Linux, надо... «разбить» Unix (в первую очередь — Sun, даже путем поддержки Linux), а для окончательной победы над OSS-процессом, в целом, — расширять стандартные информационные протоколы и службы (используя уже имеющийся установочный базис собственных операционных систем и прикладных программ) и вводить совершенно новые внутрикорпоративные закрытые стандарты в выпускающееся ПО. Особое внимание уделено также Netscape и Apache (в связи с объявленной поддержкой IBM). Эта часть документа, особенно в отношении синтаксиса, больше напоминает наставление по военному делу, чем сугубо мирный отчет...

Честно говоря, после прочтения документа я ожидал встретить в неофициальных новостях и обсуждениях (www.slashdot.org) соответствующий детективному жанру пыл, хотя личный опыт подсказывал мне, что в целом этот документ абсолютно не страшен и никакой существенной реальной угрозы ни для Microsoft, ни для OSS-сообщества не существует. Более того, здоровая конкуренция между OSS и ПО корпоративного производства принесет в ближайшее время очень выгодные всем нам (обычным пользователям этого самого ПО, включая программистов) результаты.

НИКТО НЕ ДОЛЖЕН УМИРАТЬ...
С неожиданностью, свойственной Агате Кристи

И действительно, сообщество OSS встретило «Хэллоуин» более чем сдержанно — ни криков «мастдай», ни абстрактных рассуждений о «дьявольской сущности корпоратизма». Массовое обсуждение «Хэллоуина» обосновало, например, практическую невозможность ликвидации OSS-сообщества, которое, не являясь коммерческой организацией, не может быть разорено, куплено или продано.

Тим О’Рейли (Tim O’Reilly), президент и CEO всемирно известной издательской компании О Reilly&Associates, обратился с открытым письмом к корпорации Microsoft, наиболее точно отражающим настроения OSS-сообщества.

(www.oreilly.com/oreilly/press/ tim_msletter.html): Microsoft слишком умная компания, чтобы забыть о стратегическом вопросе живучести в пользу тактических, сиюминутных выгод, а в области стратегии OSS-сообщество является не противником, а, скорее, союзником не только Microsoft, но и всех коммерческих производителей ПО. Ведь именно в OSS-сообществе могут быть быстро и эффективно разработаны как совершенно новые информационные концепции и технологии (пример — Internet), так и конкретные, основанные на них продукты. Кроме того, модель OSS является реализацией западной модели академической науки и лучших ее традиций — свободного обмена мнениями, знаниями, идеями...

Сообщество OSS не ищет войны ни с какой корпорацией. Оно стремится придумывать, программировать и продвигаться вперед. И именно поэтому оно готово дружить и с Microsoft, и с Sun и получать от них поддержку. Пользователям Linux и FreeBSD так же не хватает многих удобств Windows (сквозная поддержка Drag-and-Drop, мощные офисные приложения), как пользователям Windows — легковесности и высочайшей надежности ОС, многопользовательского режима (а он действительно нужен, особенно для упрощения администрирования ПК в корпоративных сетях). А сама лицензия GPL (General Public Licence), свойственная процессу развития OSS, ни в коей мере не ограничивает возможностей операций с ПО как с товаром — GPL ПО можно продавать, покупать и платно обслуживать. И с этой стороны никакой угрозы рыночным принципам и устоям капиталистической экономики не наблюдается.

А ЛЯ ГЕР, ГОСПОДА...
В стиле и с динамикой Дж. X. Чейза

Мягкая и сдержанная реакция OSS-сообщества никак не сказалась на поведении производителей коммерческого ПО и аппаратного обеспечения. Всего за пару недель возникли невозможные доселе альянсы, программы и проекты. Компании Dell и Compaq «вдруг» заметили существование OSS: Dell заявила о полной легализации своей 18-месячной экспериментальной программы по продажам серверов и ПК семейства PowerEdge с предустановленной ОС Linux, Compaq — о поддержке Linux-сообщества, в частности проекта Beowulf (кластерный суперкомпьютер на базе Linux DEC Alpha машин; одна из реализаций — построенная на основе этой идеологии суперЭВМ Cplant Cluster занимает сейчас почетное 98 место в списке 500 самых производительных компьютеров).

SCO, в которой еще совсем недавно Linux считался «врагом номер 1», также «вдруг» страшно полюбила OSS-сообщество, развернув даже свой проект поддержки Linux в части доступа к базе драйверов периферийных устройств SCO Unix и кросс-платфор-менного выполнения бинарных копий ПО без перетрансляции.

Intel, как известно, тоже не осталась в стороне, поспешив привлечь «лучших из лучших» Linux-гуру к портированию Linux на ожидающийся Merced, а для «простых смертных» начала распространять со своего сайта pdf-файлы замечательной инструкции по... установке RedHat Linux в рамках программы IPD. Проект Oracle 8i больше напоминает уже специализированную машину баз данных под Linux (со своей уникальной, разработанной для баз данных файловой системой).

Sun вообще «совершенно неожиданно» вступила в Linux-сообщество, обещая в ближайшее время портирование «родного» JDK и реализацию Solaris API в Linux, и снабжает производителей Linux-дистрибьюций своими RISC-машинами для облегчения портирования Linux-приложений и самой системы на платформу UltraSPARC.

Гигант Hewlett-Packard, несмотря на участие в NT-альянсе, начал портирование Linux... на платформу РА-RISC, т.е. фактически — на все RISC-машины своего производства. Больше того, Oracle обратилась к Sun с просьбой полностью передать Java в ведение OSS-сообщества для «ускорения развития». Мода на открытость затронула и I20 SIG (Специальную группу I20), которая символично 4 ноября (в день признания Microsoft документа «Хэллоуин») открыла спецификации на версию 1.5 I20 и тем самым дала новое оружие в руки разработчиков OSS серверного назначения. Приверженец «строгих корпоративных правил» Lotus тоже не отличается медлительностью и уже всерьез поговаривает о портировании SmartSuite и Notes/ Domino под Linux.

САМАЯ СТРАШНАЯ ТАЙНА...
От Конан Дойля

Как ни странно, но единственным влиятельным лицом в OSS-сообществе, накаляющим страсти противостояния, является сейчас... Линус Торвальд — автор первого ядра и идеологии Linux. Совсем недавние (пост «Хэллоуин») заявления Торвальда как-то плохо согласуются с его нынешним статусом. С одной стороны, он объявляет о «великой дружбе всех Unix» и главном конкуренте Linux/Unix — Windows NT, с другой, — в это же время работает в страшно засекреченной компании Transmeta, о которой известно только то, что она существует и что самым крупным ее инвестором является... Пол Аллен — «второй человек Microsoft». Добавим к этой информации жалкие крохи анонсов Transmeta, где она характеризуется как занимающаяся сугубо аппаратными разработками в области высокопроизводительных микросхем сверхбольшой степени интеграции (это может означать все, что угодно), просачивающиеся сведения о найме на работу в Transmeta лучших Linux-разработчиков, интервью самого Линуса, в котором он откровенно сказал, что в Transmeta будет заниматься именно дальнейшей разработкой... Linux. Теперь это подтверждается ожидающимся выходом ядра Linux версии 2.2.

Странная картина фактов. Для ее осознания требуется недюжинное владение дедуктивным методом Холмса. Существует несколько версий того, чем на самом деле занята Transmeta, и даже достаточно логически обоснованное утверждение, что это «что-то» никакого отношения к процессорам или микросхемам не имеет (самому проекту Transmeta уже больше трех лет, за это время не было ни одного анонса каких-либо разработок, а три года — срок безумно долгий для супердинамичного рынка процессоров...).

Не хочется пересказывать Internet-сплетни и байки, но лично мне очень хотелось бы, чтобы в Transmeta занимались разработкой GPL-версии той самой «первоапрельской» операционной системы (то ли Winux, то ли LinWin), которая будет представлять собой Windows 95 (или NT) API и GDI, реализованные «над» Linux (аналог микроядра) и «под» X-Windows. Этот гибрид, наверняка, стал бы супербестселлером всех времен и народов: надежность и производительность Linux, мощные программные механизмы POSIX Unix в сочетании с отличными межкомпонентными интерфейсами Microsoft (OLE), удобство пользовательской работы Windows, огромная совместная база приложений Windows/Linux/Unix и обязательно GPL-лицензированные открытые исходные тексты.

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

Продолжительные размышления о роли Линуса Торвальда в подобном проекте натолкнули меня на неожиданную мысль: так как уже очевидно, что архитектурно-технологические возможности повышения производительности процессоров практически исчерпаны (уже были CISC, RISC, VLIW, кэширование, конвейеры), почему бы не попытаться повысить производительность системы «ОС-процессор» за счет аппаратной реализации самых важных механизмов ОС (управление процессами, потоками и виртуальной памятью), т. е. создать этакое аппаратное микроядро? В этом случае необходимость привлечения талантливых специалистов по разработке ОС очевидна. А уж в способностях самого Торвальда и всех привлеченных Linux-cneциалистов сомневаться не приходится: в Linux все перечисленные выше механизмы (в первую очередь, управление памятью) реализованы ими просто гениально... В справедливости этой идеи убеждает и патент США #US5832205, выданный Тransmeta 3 ноября 1998 г. на контроллер памяти, снабженный механизмами обнаружения и устранения ошибок предсказания ветвлений (www.patents.ibm.com), а также на систему трансформации кода («code morphing», вероятнее всего, со сменной библиотекой микропрограмм).

В любом случае, чем бы ни занималась Transmeta, все тайное обязательно становится явным. И даже, если Microsoft таким образом решила «поучаствовать» в OSS-сообществе, думаю, никто от этого не пострадает, а, скорее, наоборот. Тем более, что никакой угрозы OSS этот возможный странный альянс не представляет (вспомните ближайшую аналогию — перестройку в СССР как попытку реализации «однопартийной демократии»).

А ШУМ ИЗ-ЗА ЧЕГО?
Почти Анискин и фантомас...

Действительно, представляет OSS-сообщество для Microsoft угрозу или не представляет, будет Microsoft изменять общепринятые стандарты в своих реализациях или не будет... шум такой по всему миру из-за чего? Пытаясь найти ответ на этот вопрос, я попробовал собрать доступную информацию о состоянии рынка серверов (и «Хеллоуин», и аналитики сходятся на том, что возможная будущая борьба сосредоточится именно на этом фронте). Результаты этой работы меня несколько удивили: сколько источников информации, столько и вариантов оценок с точностью «до наоборот» (именно поэтому я решил их даже не приводить). Справедливыми для меня остались пока только собственные знания и голые факты.

Да, уже для всех очевидно, что Linux и FreeBSD — это «настоящие» операционные системы: последний рекорд пропускной способности, установленный ftp.cdrom.com, составляет 759 GB в день на обычной Pentium Pro 200 MHz однопроцессорной машине с 1 GB ОЗУ и полуторабайтовым RAID-массивом, работающей под управлением FreeBSD; самые эффективные по отношению цена/производительность суперкомпьютеры работают под управлением Linux; во время съемок «Титаника» около 100 Linux-машин бесперебойно «трудились в одной упряжке» два месяца без перезагрузок и сбоев со своими коммерческими «собратьями» — Windows NT и SGI irix; ну и, наконец, мой собственный ПК под управлением RedHat Linux, уже Бог знает, сколько времени, не перезагружался и ни разу не «выкинул» чего-нибудь неожиданного. Прекрасно зная и недостатки, и достоинства Linux/Unix, попытаюсь внести хоть немного ясности и здравого смысла в поднимающуюся волну пост"Хэллоуин" истерии.

Начну с ответа на вопрос «является ли Linux конкурентом и угрозой для Windows NT?» (поклонники FreeBSD просто могут заменять в этом тексте Linux на название любимой ОС). Для нахождения действительно объективного ответа нужно сразу учесть фундаментальное различие между этими системами: Linux — детище «творческой парадигмы программирования» (программирование как искусство), Windows NT — плод «индустриально-ремесленного подхода» (программирование как производство). Абсолютно разная мотивация действий участников двух производственных процессов: в первом случае (Linux) написание самого «красивого» кода, который нестыдно показать всем (а «красивость» означает как живучесть кода из-за легкости чтения и понятности, так и эффективность на стадии исполнения), во втором (Windows NT) — создание кода в жестко отведенные рыночной ситуацией сроки. При этом необходимо соблюдать внутрикорпоративные стандарты на программирование, осложненное решением задач выявления ошибок в коде по отзывам бета-тестеров (задача действительно непростая — локализовать ошибку, представленную в описательно-поведенческой форме, в программном комплексе из нескольких десятков миллионов строк). Кроме мотивации, существует еще и идеология проекта. Здесь «производственная модель» несомненно выигрывает — качество пользовательского интерфейса Windows говорит само за себя.

Еще один важный аспект — понятие многоуровневой сложности программного обеспечения. Linux, как клон Unix, сохранил все свойственные Unix особенности: простой программный интерфейс, сложность изучения, простота использования. Windows NT является «зеркальным отражением» Unix: программный интерфейс очень сложный (кто не верит — попробуйте написать детскую программку «Hello, World!»), безукоризненно простое изучение, достаточно сложное использование (в первую очередь, с точки зрения системного администратора крупной сети).

Таким образом, Linux и Windows NT вообще являются системами «из разных миров», и утверждение об угрозе можно считать некорректным. Для Linux/Unix необходимы высококвалифицированный обслуживающий персонал или развитая система удаленного администрирования «на заказ», Windows NT требования к квалификации существенно снижает, особенно для простых административных функций. Коммерчески-корпоративное происхождение Windows NT обеспечило ему и лучшую поддержку производителями периферийных устройств, и чуть ли не глобальную систему обучения, подготовки и сертификации специалистов, и пристальное внимание масс-медиа.

Так где же угроза? Компании, не желающие продолжительно расходовать средства на квалифицированных специалистов, используют и будут использовать Windows NT; компании, в которых эти специалисты просто необходимы, используют и будут использовать Unix. Просто и понятно. И так было до самого недавнего времени. Но все течет, все меняется. Информационная индустрия, наконец, пережила период «детской болезни увлечения технологией». Изменяются главные критерии, по которым оцениваются информационные проекты. Если еще два года назад потенциального заказчика можно было «взять на пушку» лозунгами об ультрапередовой технологии, нацеленности в будущее и Web-ориентированности (вспомните, даже мышки рекламировались как «Internet-ready»), то после наступления вялого глобального кризиса начался период «учета и контроля». Перерасход средств на информатизацию больше не является показателем «передовитости». И основная опасность для Microsoft, как и главное преимущество OSS-сообщества, именно здесь, т. е. в «Хэллоуин» речь, на самом деле, идет не о борьбе с конкретными продуктами, а о борьбе с идеей...

Самый сильный козырь Microsoft в серверном секторе — маркетинговая кампания, ориентированная на управленческий персонал (не на специалистов в области информатизации, а на лиц, принимающих решение), обесценивается. Кстати, непосредственно по вине этого самого управленческого персонала. Именно менеджеры информационных направлений втягивали свои компании в неоправданную технологическую гонку. И вот — деньги потрачены, а где эффект? Уже и мультимедиа на каждом рабочем столе, и вынужденный АТМ (а как с мультимедиа и без ATM?) — все равно эффекта нет... А у кого-то, как стояли 40000 алфавитно-цифровых терминалов (FedEx), так и стоят. И работает все прекрасно без всяких окошек, графики, мультимедиа и DVD. И деньги почти не тратятся, и эффективность... просто замечательная при почти немыслимых масштабах.

ФАКТЫ, ДОРОГОЙ МОЙ ВАТСОН, ФАКТЫ...

Свое мнение относительно пост "Хэллоуин" «великого противостояния» я постарался оставить при себе, а за фактами для сокращения объема статьи всем заинтересовавшимся рекомендую посетить сайты: www.unix-vs-nt.org/ kirch/translations/russian.html с замечательной и очень достоверной статьей (на русском языке) Джона Кирча (John Kirch, сетевой консультант, сертифицированный специалист Microsoft), посвященной сравнению Windows NT и Unix, и обязательно www.nwfusion.com/forum/1116faceoff.html, на котором с 16 ноября проводятся открытые недельные дебаты между Бобом Янгом (Bob Joung, президент RedHat) и Эд Мат (Ed Muth, менеджер Microsoft Enterprise Marketing Group).

А уж что выбрать — Unix или Windows NT, решайте сами.