Как и обещал, попытаюсь описать свои впечатления от LinuxExpo-98. Выставка проходила в университете Дюка (Duke University) в городе Дюрам (Durham) в Северной Каролине. Продолжалась она три дня, с 28-го по 30-е мая.

День первый. 28 мая 1998 года

По сравнению с предыдущей выставкой, LinuxExpo-97, можно отметить некоторый рост фирм-участниц и весьма существенное, на мой взгляд, смещение акцентов. Expo-98 уделяет гораздо больше внимания конечным приложениям и разного рода сетевым решениям.
Среди участников были, разумеется, RedHat, Caldera, Linux International. Они же были и спонсорами (напомним, что "шляпа" так же базируется в Дюраме). В спонсорах так же "замечены" Linux Hardware Solutions и Solid.
К моему "удивлению" в числе участников я увидел и Sun Microsystems. Они выставляли Ultra 5 с бегающим на нем Линуксом. Мне это показалось несколько странным, но их будка пользовалась умеренной популярностью.
Где-то в углу я видел стенд со стрелкой "Interbase for Linux", но самой будки так и не нашел, хоть они и поили всех халявным яблочным сидром. Зато Solid (www.solidtech.com) из Германии вовсю расхваливал свой SQL-сервер, предлагал демонстрационные версии. По их словам с точки зрения скорости, Solid не уступает MySQL, а может быть и будет несколько медленнее. Однако в Solid есть транзакции, что существенно для крупных коммерческих приложений. Листал я толстенную книжицу с описанием всего пакета. Мне бросился в глаза довольно развернутый набор API.
Spell Cast демонстрировал решения для ISDN: очень неплохой адаптер с Intel'овским RISC процессором i960. Адаптер способен осуществлять связь одновременно по 23-ем 64 kB каналам.
Очень забавную и весьма на мой взгляд полезную штучку показывала контора под названием American Biometric Company (www.biomouse.com). Называется это штуковина BioMouse. К компьютеру посредством проводка приторочена пластмассовая коробочка, овальная по форме и по размерам не больше обычной мышки. На ней стеклянный "глаз". Кладешь на этот глаз свой палец и штуковина сканирует твой отпечаток пальца. Процесс надо повторить три раза, а данные можно использовать для каких-то целей, например для получения доступа к неким ресурсам. Вероятность ошибки, по их заверениям может быть сведена до одной миллионной. Софт написан на "Яве", так что обеспечивается совместимость практически со всеми платформами. Весьма слабым местом описываемой реализации, является то, что палец надо класть по-особому, что требует от пользователя-лоха определенной тренировки. По словам представителя BioMouse, системы распознавания на основе сканов радужной оболочки глаза пока весьма дороги. Он привел цифры до 20 килобаксов за инсталляцию.
Очень бурное оживление стояло вокруг стенда компании Cobalt (www.cobaltmicro.com). То что они сделали, на мой взгляд, просто гениально! Стоит на столе куб 18.5 сантиметров в ребре!!!!! Приятного синего цвета. Внутри материнка на 150 Mhz MIPS'овом процессоре (как на SGI) и диск в 2 гига (можно поставить второй). Из куба торчит сетевой провод. Все это чудо управляется Линюхом. Так вот, на задней панели кнопками набираешь IP адрес (можно его и из сети извлекать) и получаешь готовый сервер со всеми там причиндалами: http, ftp, DNS, sendmail и т.п. Конфигурируется либо через браузер, либо просто теленетишься на эту машинку. Стоило это чудо 899 зеленых при покупке на конференции.
S.u.S.E (www.suse.com) раздавала демонстрационные сидюки своего дистрибутива и особого оживления вокруг них видно не было.
Подобная картина наблюдалась и вокруг Caldera (www.caldera.com), несмотря на то, что они были первыми при входе на выставку.
Довольно много народу ходило вокруг стендов "шляпы", но больше всего толпились вокруг стола, где сидел народ из Red Hat Labs (www.labs.redhat.com. Там же смотри "картинки с выставки"), который показывал GNOME (www.gnome.org). На их экранах все сверкало, колонки трещали всякими звуками и TV-камера хватала всех окружающих. В центре внимания был "Rasterman", автор Enlightment'а. Как и следовало ожидать, сей оконный интерфейс просто до неприличия кричал разной классной графикой, всякими звуками, красивыми иконками и т.п. вещами. В настоящее время, Enlightment (наряду в IceWm и, по-моему, scwm) является одним из официальных оконных интерфейсов проекта "Гном". Хоть и говорят, что "Гном" отстает от KDE, он, на мой взгляд, гораздо красивее и богаче по возможностям, чем KDE. Действительно, KDE может быть несколько более "стабилен", но развитие "Гнома" идет такими темпами, что очень скоро он может всех обставить. К тому же, RedHat взяла его на вооружение и собирается включать в свои дистрибутивы в виде официальной оконной среды. Так же проводилось занятие (больше похожее на вводную лекцию) по Gtk+ (библиотека виджетов, на которой основан проект "Гном"). Учителем выступал Овен Тэйлор (Owen Taylor), один из авторов Gtk+. Он рассказывал интересные вещи о планах на будущее. Планируется интегрировать Gtk+ с Imlib (библиотекой, на которой основан Enlightment, позволяющей удобно масштабировать графические файлы .gif, .jpeg, png и т.п.), планируется реализовать прорисовку виджетов xpm'ами, что мгновенно позволяет вводить стили виджетов. Планируется отделить растеризацию от самой библиотеки для облегчения переноса на другие оконные системы. И разумеется, новые виджеты.

День второй. 29 мая 1998 года

В этот день я почти не ходил по будкам и демонстрациям. Отчасти потому что почти все посмотрел в первых день, а отчасти потому что хотел послушать доклады и презентации. Слушать было что.
День начался с представления Pixar (www.pixar.com) своих новых разработках и показа нового мультика про старичка, играющего в шахматы с самим собой. Все целиком было сделано на компьютере (в этом их отличие от Digital Domain). Главное -- Pixar специализируется на создании героев фильма/мультфильма, в то время как Digital Domain больше занимается смецэффектами. Да и по структуре, Digital Domain это полномасшабная студия (но о них и "Титанике" ниже). Итак, Pixar... Как известно, они создавали мультфильм "История игрушек"; собственно, об этом и рассказывал Брюс Перенс (Bruce Perens). Кстати, Брюс -- один из авторов Debian (по слухам, он решил создать другой дистрибутив и больше Debian'ом не занимается). Так вот, при создании "Истории игрушек" Pixar считал на 300 Sun'ах. Прорисовка делалась на SGI. Каждая машина считала 1 кадр в течении 9 часов. После генерации картинок в нормальном разрешении (около 2K x 2K), они писались на фотопленку машиной с тремя лазерами (красный, синий и зеленый). Интересная делаль -- для управлением лица героя Вуди (Woody) им требовалось 50 параметров. Важная деталь -- Pixar запортил свой RenderMan под Linux. Это очень крутая 3-х мерная рисовалка.
Следующий доклад был представлен Александром Юрьевым. Говорил он о строительстве сетей главным образом очень большого размера (типа MCI, Sprint и т.п.), тех, кто живет на самом верху и связывает Интернет. Доклад был очень насыщен информацией, так что вместо положенного часа Александр говорил полтора и пришлось еще сокращать. Очень много внимания было посвящено маршрутеризации, ее оптимизации и т.п. вещам.
Следующий доклад был представлен Мигуелем де Иказой (Miguel de Icaza), автором Midnight Comannder и фактически начальником проекта GNOME (на фотографии в сидит в центре с лаптопом). Говорил очень зажигательно (как и положено мексиканцу) и интересно. Red Hat официально признал GNOME в качестве своего "стандарта" и будет распространять его вместе со своим дистрибутивом. Кроме того, Red Hat собрал под своей крышей довольно много людей для работы над GNOME'ом и особенно этим летом, на каникулы, они взяли несколько человек для тех же целей. Вообще, в течении всех трех дней вокруг "Гнома" и KDE было очень много дискуссий. Тема была одной из центральных на выставке. Но к этому вопросу, я вернусь отдельно. Люди из "Гнома" вовсю используют CORBA и собираются, как часть проекта, реализовать этит механизм на Си. По их словам, они смогли найти только одну более или менее неполохую реализацию CORBA в виде свободного пакета, но и она написана на Си++ и во многом дырявая. По этой причине они и пишут свою собственную реализацию. В "Гноме", так же вовсю используется (и будет развиваться) виртуальная файловая система -- вызовы типа fopen() заменены на vfs_fopen() -- что позволяет среде быть полностью прозрачной по отношению к сети.
Весьма интересным был доклад о файловой системе Coda (www.coda.cmu.edu). Coda это распределенная файловая система по типу AFS. Она уже включена в ядра 2.1.x, и находится в довольно приличном виде. Есть код под Linux, FreeBSD, NetBSD и Win95. Для тех, кто не знает, что такое распределенная файловая система, кратко скажу -- это классная штука. Надежда, что она заменит NFS. В распределенных файловых системах информация кэшируется на локальном диске и при изменении сбрасывается на север не немедленно, а через какое-то время. Все это очень существенно повышает производительность, масштабируемость и управляемость системы. В общем, в этой штуке очень много полезных вкусностей.
В этот же день был доклад Дерила Страуса (Deryll Strauss) о создании эффектов для "Титаника". Это была его первая часть, более общая. Вторая проходила в субботу (подробности см. ниже).
И наконец... В 5 вечера был доклад самого Линуса. Народу набилось до чертиков. Сама презентация была не очень длинной и главным образом описывала развитие системы, текущее состояние и ближайшие планы на будущее. Потом Линус отвечал на множество вопросов. Попробую все это как-то суммировать и изложить здесь тезисно: Мои общие впечатления таковы, что Линус вообще довольно неохотно отвечает на вопросы типа "а что будет через год" или, "а что будет в 2.3, 2.4 и т.п". Я не совсем понимаю, почему так, но мне кажется, что сам Линус старается скорее просто регулировать стихию хакеров, чем ставить глобальные задачи.

День третий. 30 мая 1998 года

Итак, в этот день был "технический разговор" о спецэффектах для "Титаника". Представлен Дерилом Страусом (Deryll Strauss). Он является начальноком отдела матобеспечения (или как-то вроде этого) в Digital Domain (www.d2.com). Одновременно он известен как автор Linux-драйвера для 3D ускорителей, построенных на базе чипа VooDoo (по этому поводу у вашего покорного слуги с ним состоялся большой треп, но об этом может быть позже). На тему "Титаника" было много недоразумений и Дерилл постарался их все развеять. Итак... По определению, спецэффекты требуют очень интенсивных вычислений с плавающей точкой, большое количество данных и надежности. Причина последнего в том, что студия всегда поставлена в жесткие временные рамки и не может себе позволить длинные простои из-за отказа систем. Перед принятием решения использовать Линюх, DD (Digital Domain) провела довольно большое исследование и остановилась прежде всего на кластере из DEC Alpha. Почему? Такое решение на порядки дешевле покупки массивно параллельной системы (а их расчеты распараллеливаются на все 100 процентов, поскольку кадры абсолютно не зависят друг от друга). Alpha обеспечивала наилучшее соотношения цена/производительность, да и вообще являются наилучшей системой для вычислений такого рода. Из их экспериментов следует, что "альфы" считают в 3.5 раза быстрее, чем SGI Origin. Далее, шел выбор ОС: Digital Unix, Linux или NT. NT была отброшена довольно быстро по нескольким причинам: Digital Unix был бы очень хорошим решением, но стоил очень дорого, особенно если учесть, что DD покупала полторы сотни машин). Кроме того, Digital Unix не давал достаточной гибкости. Им нужно было собирать довольно необычную конфигурацию, иметь доступ к разным файл-серверам, включая NT, разным дискам, ленточкам и т.п. Все это было трудно сделать в Digital Unix. Следует сделать одно замечание. DD использовала "альфы" для счета, для изображения поверхностей и т.п. Рисовали же на SGI и NT. В случае с NT, выбор был только потому что определенные пакеты стоили дешевле, чем для SGI, несмотря на деградированные реализации. Итак, все испытания закончились, выбор был сделан и совершилась покупка. В течении 3 недель они смонтировали 160 штук 433 мегагерцевых станций в специальном помещении. Поддержание температуры в этом помещении было отдельной и очень сложной проблемой. Порой температура корпуса станций доходила до 40 градусов. Из этих 160 машин, 105 гоняли Линюх, а 55 -- NT. Во время работы это соотношение могло меняться в ту или иную сторону по единственной причине: в какой-то момент им было нужно больше NT машин для "рисования" в пакетах, а в какой-то больше Линюхов для вычислений. Все машины связаны 100 мегабитным Ethernet'ом. На счет одного кадра требовалось 45 минут. Основной задачей машин являлись модели воды (вся вода вокруг корабля в фильме компьютерная) и композиция кадров из отдельных слоев. Дерилу задавали много вопросов по поводу портов 3-х мерных "рисовалок" для Линюха. Ответ был единственный -- нет хорошего железа, хорошего 3D механизма с аппаратной поддержкой OpenGL. Все остальное -- брызги. Настоящее железо до сих пор есть только у SGI. Но несмотря на это, фирмы начинают портить "рисовалки" под Линюх. Pixar -- пионер на этом пути. Он так же приводил и другие примеры, названия которых я просто не запомнил.
Следом шло выступления Стефена Твиди (Stephen Tweedie) о будущем файловой системы Linux'а. Разговор был чрезвычайно грамотным и в основном для спецов по файловым системам, так что я понял очень мало деталей. Идея такова, что ext2fs станет файловой системой с транзакциями и журналом. Идеи разрабатывались и вынашивались им в течении 3-х лет. В настоящий момент есть более или менее стабильная альфа. Исходники он пока не дает, потому что до выпуска хочет сделать систему более стабильной.
После обеда говорил Ларс Вирзениус (Lars Wirzenuis), давний друг Линуса, с кем они делили комнату в универе. Многим он знаком как бессменный модератор comp.os.linux.announce до 1997 года. Ларс рассказывал о всяких исторических фактах из жизни Линуса и Linux'а, о том, как все начиналось, как они с Линусом друга над другом подшучивали, о первых версиях и т.п. Очень забавно и интересно, но здесь трудно воспроизводимо из-за обилия всяких мелочей. Интересно, что название "Linux" было придумано не самим Линусом, а администратором (забыл имя) файлового сервера ftp.funet.fi. Когда Линус решил выложить систему на ftp, то администратор не знал, как обозвать файл. Ну он сложил Linus + Unix = Linux. Сам Линус хотел назвать систему Freix (фрикс) = Free + Unix. Но название "Linux" приклеилось и осталось за системой навсегда.
В конце я слушал (и принимал участиие) дискуссию об открытом матобеспечении вообще, об исходниках Мозиллы, о GPL и т.п. вещах. Все это проходило под председательством Брюса Перенса (автор Debian'а), Эриком Раймондом (Eric Raymond), выбивалой кода Мозиллы из Netscape, и абсолютно легендарным Ричардом Столлманом (Richard Stallman), создателям самого проекта GNU, основателем FSF, автором GPL. Описывать дискуссию трудно, поскольку это был интерактивный разговор иногда переходящий в открытый флейм в адрес Столлмана. На мой взгляд, инициирован такой флейм простой безграмотностью и полным незнанием идеологии GPL. Большую часть этого базара можно было бы немедленно выкинуть если бы в английском языке два понятия "свободный" и "бесплатный" не обозначались бы одим словом "free". Этой разницы люди не понимают и, не разобравшись в существе предмета, начинают забрасывать Столлама помидорами, утверждая, что из откытого (а именно так надо понимать термин "free software") матобеспечения нельзя делать бизнес или что вообще это все, как говорится, sucks.
Где-то в районе этих дискуссий подняли вопрос о "Яве" под Линюхом. Ответ был опять же стандартный -- когда Sun перестанет заниматься ерундой и будет распространять "Яву" по нормальной лицензии, все придет само сабой. А до тех пор, Sun'овская машина будет отставать.
Но я уже начинаю касаться тем, о которых совсем не собираюсь говорить в данном эссе. Я специально опускаю все бизнес-выступления, на которых был, хотя они были не менее интересны, чем технические дебаты и, главное, очень поучительны в области менеджмента софтверных и сетевых компаний, инженерии математического обеспечения, консалтинга и т.п. Но эта тема выходит за рамки поставленной мной здесь задачи.


GNOME vs. KDE

В заключение, я хотел бы остановиться на разных аспектах противостояния между проектами GNOME и KDE. С самого начала замечу, что корни этой почти "войны" очень глубоки и кроются в подводных процесах, протекающих в компьютерной индустрии вообще. Об этом, как о бизнес-части я говорить не буду, поскольку эта тема отдельной и очень большей работы. Написаное ниже является скорее моим отражением событий, разговоров со многими людьми на выставке, заданных вопросов, чем передачей непосредственных событий.
Итак, в чем же дело? А дело в следующем. Как вы наверное знаете, не так давно, норвежская фирма Troll (www.troll.no) выпустила в свет небезысвестный продукт Qt, библиотеку виджетов для "Икса" и win95. Библиотека распространяется в исходных текстах. Почему Qt это хорошо? Во-первых, это законченный продукт, составлящий реальную альтернативу Motif. Во-вторых, виджеты Qt выглядят красивее Motif'овских. В-третьих, Qt намного быстрее Motif'а по скорости. И наконец, есть тексты. Можно свободно ставить, компиллировать и пользоваться. Все это на халяву. Кроме того, библиотека написана на Си++, что делает написание кода эффективным (при наличии в голове серого вещества, которое знает, что такое Си++, а не просто воспроизводит "class Marquis : public Karabas" и думает, что в этом и заключаятся весь Си++).
Теперь, почему Qt -- это плохо? Во-первых, и это самое главное, Qt не является свободным матобеспечением, что надо очень хорошо понимать. Наличие кода это необходимое, но не достаточное условие свободы, как может подумать привыкший к бинарным дистрибутивам пользователь Windows. Наличие кода просто позволяет вам нормально компиллировать и пользоваться пакетом, ничего за это не платя. Однако, вам же надо еще и иметь право этот код модифицировать, передавать, включать в другие проекты и т.п. Лицензия Qt этого не позволяет (подразумевается, читатель согласен с утверждением, что "воровать матобес не хорошо"). Данное обстоятельство делает код "бесполезным". Разве что у вас есть возможность откомпиллировать библиотеку или полюбопытствовать, как она работает. Яркой демонстрацией служит тот факт, что несколько ошибок в KDE кочевали из версии в версию только по той причине, что Troll'и не желали исправлять соответствующие глюки в Qt. Во-вторых, у вас возникают проблемы с правами включения KDE в сидюшные дистрибутивы, хотя Troll вроде бы и заявляла, что можно. Но, до тех пор, пока на Qt не стоит печать GPL, вендору трудно доверять. В-третьих, и это тоже существенно, хакеры до сих пор не умеют нормально писать на Си++ и дело тут не в их невежестве. Си++ требует несколько нового мышления, требует определенного системного подхода к освоению. Язык является большим и его принятие сообществом требует времени, несмотря на то, что количество программистов, пользующихся Си++ удваевается каждые 7 месяцев (не помню чьи данные). В условиях открытой модели разработки последнее обстоятельство работает скорее против проекта на Си++: над проектом работают сотни людей и каждый вносит что-то свое. На Си++ очень легко написать плохой код, что приводит к деградации всего проекта.
Одно из возможных решений было бы написать клон Qt, который бы носил на себе печать GPL. Такая возможность всерьез рассматривалась. Но... От группы KDE так и не удалось получить подтверждения, что они будут использовать этот клон в своих разработках, более того, группа KDE проявила довольно много отрицательных эмоций по отношению к поступавшим предложениям. С другой стороны, разработка клона -- это всегда абсолютно неблагодарное занятие, подобное обезьяньей работе. Часто приходится реализовывать все до мельчайший деталей, что отнимает много дополнительных ресурсов и времени. В конечном итоге, ты все равно зависишь от абстрактного "дяди". Примерами могут служить проекты LessTiff, GNUStep, Wine. Первые два вообще тянуться в течении 4-х лет и до сих пор не видно конца. Общее качество оказывается очень низким.
Далее, Си является связующим элементом между языками программирования: многие компилляторы, включая Си++, пишутся именно на Си. Поэтому гораздо проще организация интерфейсов с такими языками как Perl, Scheme и др.
Таким образом мы приходим к тому, что гораздо проще начать "с нуля" и двигаться "снизу вверх". К счастью, не пришлось начинать с "абсолютного нуля". Из проекта Gimp выделилась библиотека виджетов Gtk+. Сейчас это достаточно стабильный набор виджетов, несущий на себе лицензию GPL, что позволяет хакерской братии быстро развиать набор (ваш покорный слуга вносит свою посильную лепту в эту деятельность). Во избежание упреков в однобокости, поспешу заявить, что я так же писал на Qt и мой переход в лагерь Gtk+ произошел совсем не по "религиозным" соображениям. У меня были вполне определенные проблемы и претензии к Qt, я не мог их разрешить именно из-за лицензии библиотеки. Qt группу же особенно не инетеровали мои проблемы, так что я остался ни с чем. Я конечно мог свои проблемы решить, но от этого было бы мало толку, по вполне понятным причинам.
К сожалению на выставке не было представителей KDE, что сделало невозможным более обстоятельный разговор. Тот единственный человек, имеющий некое отношение к развитию KDE, что присутствовал на дискуссии о свободном матобеспечении с Ричардом Столлманом занял четко деструктивную позицию и пустился в потоки флейма. Толку от этого было весьма мало.
Gtk+ развивается очень быстро и динамично, что позвоялет смело утверждать: в самое ближайшее время библиотека сравняется с Qt и обгонит последнюю просто из-за того, что над ней работает много людей, что обеспечиватеся соответствующей лицензией (GPL), поддержкой Red Hat и другими факторами. А это, в свою очередь, дает GNOME значительную фору. Судя по "наэлектризованности", стоявшей вокруг GNOME и постоянной толпе вокруг стола его команды, я беру на себя смелость утверждать, что проекту уготовлено блестящее будущее. Последнее, впрочем, совсем не означает, что я "против" KDE. Просто я считаю, что до тех пор, пока Qt не пересмотрит своей лицензионной политики, KDE ждет тупик. Какое-то время проект будет жить из-за эффективности в написании кода, но после этпого... А жаль! Сообщество могло бы очень выйграть от наличия двух оконных сред, живущих рука к руке.

Заключение

Хакерская среда оставила очень приятное впечатление, выставка была (для меня) необычайно информативной: за три дня я узнал невероятно много новых вещей, познакомился со знаменитостями и "китами". Совершенно четко виден новый тренд в Linux'е: написание новых прикладных программ и порты уже существующих. Бизнес начинает уже довольно осмысленно смотреть на систему. В общем, мне очень понравилось. Только большое желание -- видеть побольше наших на таких мероприятиях, а так же в командах, что пишут матобес. Я, к сожалению, вижу, что российская братия во многом потребляет эти технологии, а не вносит свой вклад в их развитие, который мог быть очень значительным. Для этого есть все необходимое: компьютеры, инструменты, лицензии и т.п. Что осталось? Желание?

(c) Сергей Наумов. Май 1998


Banner.Novgorod.Ru