Хэнс Райзер:"У меня это получилось!"
АрхивИнтервью с Хэнсом Райзером, главой Namesys, разрабатывающей файловую систему ReiserFS
У меня много знакомых россиян, уехавших в Америку, и среди них немало программистов. У меня много знакомых американцев, приехавших в Россию, и занимаются они, по большей части, всякой ерундой. Я никогда не видел программиста (и главу софтверной компании), переехавшего из Америки в Россию.
Поэтому, когда я узнал, что Хэнс Райзер, глава Namesys — маленького американского ИЧП (sole proprietorship), разрабатывающего продвинутую файловую систему ReiserFS, живет теперь в Москве, я бросил все и побежал с ним знакомиться. Первым делом Райзер представил свою жену Нину, и одна причина его переезда стала очевидна :) А потом он рассказал об остальных и о том, что же это, собственно, такое: управлять бизнесом в сфере софта с открытыми исходниками.
— Сам я американец. В Россию приехал в 1992 году, будучи совершенно неопытным как менеджер, неопытным как программист, неопытным во всех отношениях. Но у меня была мечта построить файловую систему. Причем сделать это без привлечения венчурного капитала. Я получал обычную, по американским меркам, зарплату и из нее финансировал бизнес. И у меня это получилось!
В России были талантливые программисты, но у них не было таких возможностей, как у американцев. А когда им удавалось устроиться в западную компанию, им поручали что-нибудь вроде написания драйверов для принтеров.
Западные компании нанимали элитных российских программистов для решения совершенно тривиальных задач! Им лучше бы нанять средних программистов, потому что я уверен, что элитный программист зачастую справится с такой задачей хуже, ведь он не испытывает к ней уважения. Мой опыт говорит, что поручать работу человеку, который ее не уважает, — значит провалить дело.
А я приехал и предложил им сделать нечто сложное и настаивал на этом. Я горжусь тем, что предоставил им возможность заняться глубинными проблемами операционных систем и решением сложных проблем, — одну из немногих возможностей, которые тогда появились у российских программистов.
Сегодня мы поставляем продукт, основанный на существенно новом архитектурном подходе к проектированию файловых систем. Мы используем сбалансированные деревья, но храним в них не только имена файлов, но и сами файлы.
Хэнс, применением сбалансированных деревьев занимались в России начиная с шестидесятых. Можно сказать, что здесь сложилась школа — Адельсон-Вельский, Ландис и др., — которая провела массу исследований…
— Это так, но уже в восьмидесятые теория сбалансированных деревьев активнее развивалась в США, по крайней мере, если судить по публикациям.
Программисты, работающие в России, часто применяют совсем другие подходы, нежели их западные коллеги. Иногда это происходит просто от незнакомства с литературой, но при этом они приходят к своим заключениям, и это хорошо. А иногда ни к чему не приходят. Поэтому смешанные команды российских и западных программистов могут работать очень продуктивно, особенно когда западные программисты готовы признать идеи, отличающиеся от того, что они читали в обычных книжках.
На стыке двух субкультур можно получить очень интересные результаты. Я люблю описывать как субкультуры различные сообщества программистов: субкультуру баз данных, гипертекстовую субкультуру, субкультуру файловых систем. То, насколько скудны контакты между ними, часто приводит в изумление. И каждая из них считает представителей другой «примитивными дикарями».
Если вы посмотрите на то, что происходит в гипертекстовом сообществе, как они обращаются с индексами и какой эффективности достигают при их хранении, вы твердо усваиваете, что индекс должен занимать меньше места, чем сумма длин хранящихся в нем имен. А в сообществе разработчиков файловых систем нормально, если каталог занимает на порядок больше места, чем сумма длин имен хранящихся в нем файлов.
Это примитивно, и одной из особенностей нашего следующего релиза будет попытка перенести какие-то из мемов[1] из одной субкультуры (гипертекстовой) в другую (субкультуру разработки файловых систем). Таким образом мы рассчитываем достичь существенного прироста производительности — ведь в контексте файловых систем это будет радикальной инновацией.
Меня можно рассматривать как импортера и экспортера идей. Я, конечно, думаю, что и свои идеи у меня есть…
Но кроме экспорта и импорта идей есть ведь еще и такая замечательная штука, как «слоистые» (layered) архитектуры, при реализации которых каждое сообщество может сосредоточиться на своей области интересов и на задачах, в решении которых оно наиболее эффективно.
— Да, конечно, но иногда с этим выходит перебор. Нужен некоторый баланс.
Возьмем, к примеру, кухню. Индийская кухня в высшей степени приспособлена к жаркому индийскому климату: все эти острые специи сохраняют пищу свежей.
Однако индийские рестораны открывают и в Калифорнии, делясь с нами своими великолепными кушаньями. Важно понимать, какие идеи являются действительно важными, в этом и состоит искусство.
Не должно быть так, чтобы для получения достойной работы человеку нужно было ехать в другую страну. Что мне нравится в Internet — так это то, что он устраняет необходимость ездить из страны в страну просто для того, чтобы заработать.
За счет выравнивания ставок зарплаты?
— Да. Сам я думаю, что Конгресс США напрасно ужесточает условия иммиграции. Я уверен, что «защита интересов», проводимая в иммиграционном законодательстве, вредит нам самим. Но Internet открывает возможность обхода этих ограничений: рабочее место в США можно занять и виртуально, и никаких разрешений для этого не потребуется.
Но вы-то уже не экспортируете рабочую силу в США, а вместо этого приехали сюда сами. А ведь могли бы управлять бизнесом оттуда.
— Целых шесть лет я так и делал. У нас пользователи по всему миру, софт мы поставляем через Internet, и никакой возни с таможенниками.
Извините, но ведь именно американское правительство чуть ли не единственное, пытавшееся ограничить экспорт и импорт неосязаемых сущностей. Взять тот же криптографический софт.
— Да, конечно. Более того, вполне может быть, что через пятьдесят лет, когда правящий класс станет более компьютерно грамотным, они захотят регулировать программное обеспечение и будут добиваться введения такого регулирования.
Для меня криптография — узкая область. Конечно, если бы я работал в этой области, я бы смотрел на вещи иначе.
Забавно, но, похоже, предотвратить это может помочь та же криптография.
— Поэтому она и нужна. Туш, пожалуйста!
На самом деле, меня интересует экспортная политика вокруг криптографии и другого софта. Рано или поздно нам придется вводить криптофункциональность в нашу файловую систему. Сейчас она обеспечивается другими слоями, поверх файловой системы, но для повышения производительности нужна более тесная ее интеграция в файловую систему: для того чтобы криптопроцедуры выполнялись быстро, шифровать данные нужно непосредственно перед их записью на диск.
1 (обратно к тексту) - «Мем» (meme) — по аналогии с геном — гипотетическая единица подражания (мимезиса). — Здесь и далее примеч. М.О.
Снежный ком
В одном из недавних интервью [Williams 2000] вы так описывали свою бизнес-модель: «мы поставляем софт бесплатно, пользователям нужны дополнительные функции, за которые они платят, потом мы и эти функции поставляем бесплатно, и так далее, и это разрастается, как снежный ком».
Для меня ключевым вопросом является то, кто ваши пользователи. Сейчас ваши спонсоры — это разработчики дистрибутивов Linux и разработчики приложений, но не конечные пользователи…
— Не только. MP3.com можно считать конечным пользователем, а именно они заказали нам журналирование [2]. У них такая логика бизнеса, что они щелкают сетевое оборудование, как семечки, а оно стоит им миллионы долларов в месяц.
И вот они запускают кэши своих squid [3] поверх нашей ReiserFS. И хотят использовать ее во все больших масштабах, поскольку обычное PC-оборудование, на котором крутится Linux, гораздо дешевле специализированного сетевого оборудования. Они сообразили, что для перехода на обычное оборудование им не хватает как раз журналирования и 64-битной поддержки, и заказали нам внедрение этих функций — стоимость их внедрения в ReiserFS несоизмерима с ценой специализированного оборудования.
Смотрите, что происходит дальше. После этой сделки нами заинтересовались в SuSE [4] и заказали другие функции, например, ресайзер [5]. И наш софт вобрал в себя эту функциональность.
Это, в свою очередь, привлекло к нам интерес производителей процессоров Alpha. Для этих компаний, позиционирующих машины на Alpha как серверы, очень нужно журналирование, за которое уже заплатила MP3.com и которое теперь доступно бесплатно. И им осталось только внести свой вклад для портирования ReiserFS на Alpha.
Вот так и образуется снежный ком. И я не знаю, какого размера он достигнет, когда мы скатимся с горы. Я не знаю даже того, где кончается сама гора.
Но вот ReiserFS перестает быть опцией и начинает поставляться как часть ядра. Можно сказать, что это точка, из которой нет возврата? В том смысле, что снежный ком уже не остановить, сократить пользовательскую базу и задержать развитие нельзя.
— Наверное, да. Наверное, этот ком смог бы катиться дальше и без меня.
На самом деле, меня интересует вопрос о том, что такое управление бизнесом в области свободного софта. Понятно, как устроен бизнес на софте. И понятно, что такое писать свободный софт. Но бизнес на свободном софте — у многих это просто не укладывается в голове.
— Для того чтобы оформлять контракты, я нанял адвоката и объяснил ей нашу бизнес-модель. Так вот, ее первый вопрос был: «И вам за это платят?!» И я ее хорошо понимаю, она думает: «Вот условия контракта, и я догадываюсь, что они будут выполнены, но как такое вообще может быть?»
Мы зарабатываем меньше денег, чем если бы писали софт, за каждую лицензию на который нам платили бы. По крайней мере, на порядок меньше. Может быть, это лишь в близкой перспективе, но для меня еще важно, что мне нравится то, что мы делаем. И я знаю, что многие из наших программистов работают тоже не из-за денег.
|
А что вы думаете о так называемой «золотой лихорадке» вокруг Linux в прошлом году: всех этих удачных IPO и тому подобном?
— Это очень удобно. Удобно и для меня, и для наших пользователей, и для всех. Конкурентная цена на софт равна нулю: если рынок конкурентен, софт станет бесплатным. Однако непонятно, является ли свободный софт конечной точкой, куда в итоге придет отрасль программного обеспечения. Я думаю, что это некая промежуточная стадия
2 (обратно к тексту) - Журналирование (journalling) — ведение протокола операций с файловой системой.
3 (обратно к тексту) - Squid — популярный прокси-сервер.
4 (обратно к тексту) - SuSE (www.suse.com) — один из составителей дистрибутивов Linux.
5 (обратно к тексту) - Ресайзер (resizer) — функция/утилита изменения размера тома файловой системы, не разрушающего ее содержимого.
Модели и компоненты
Давайте обсудим перспективные бизнес-модели для свободного софта и софта с открытыми исходниками. По дороге к вам я перечитал ту главу из недавней книги Эрика Рэймонда, в которой он попытался перечислить семь таких «безумных идей» (см. врезку).
|
— Мы не используем первые две из них. Но один из наших спонсоров — Integrated Linux — производит компьютеры из вполне обычных комплектующих, а мы помогаем им с поддержкой компьютеров под Linux. Есть вероятность того, что им понадобятся некие особые функции (например, поддержка флэш-памяти), которых нет в обычных PC, и мы займемся этим, что будет близко ко второй модели.
Что касается третьей идеи — создания рыночной позиции для услуг, — то я не в восторге от нее, но она является частью нашей модели. Вполне вероятно, что мы задействуем четвертую идею — с «аксессуаризацией», — но сейчас мы этого не делаем. Пятая идея — «отсроченное» освобождение исходников — очень разумна и заслуживает уважения, но этого мы тоже не делаем, и я не вижу, как бы мы могли ее использовать в дальнейшем.
Шестую идею мы используем, позволяя нашим клиентам рекламировать себя как официальных спонсоров ReiserFS. Заключая сделку с официальным спонсором ReiserFS, клиенты замечают, что за ним стоит наш брэнд, и ожидают определенного уровня профессионализма и интеграции нашего софта в его продукты. И пока спонсор не требует за это непропорциональной платы от клиентов, для нас есть определенный коммерческий смысл поддерживать такого поставщика.
Седьмая модель — с продажей контента — нам, в силу того, что мы производим только софт, абсолютно не подходит, мы не делаем этого и не будем делать.
Я, наверное, должен упомянуть еще одну модель, которую можно назвать «открытой продажей», в отличие от «открытых исходников». Идея открытой продажи заключается в том, что пользователи платят за софт фиксированный процент от стоимости оборудования, но при этом могут выбирать, кому именно из поставщиков софта, входящего в «софтверный пул», они платят. Пользователь платит X% от стоимости оборудования за доступ к пулу, и у него есть право решать, кому из участников пула пойдут эти деньги.
Предполагается, что пользователи будут выбирать поставщиков, предоставивших в пул самое ценное для них обеспечение, пропорционально его ценности. Естественным развитием такого подхода стало бы использование для статистической выборки софта, так чтобы пользователю не пришлось самому оценивать вклад каждого из участников пула (которых могут быть и тысячи, и десятки тысяч).
Разумеется, такая модель в корне отлична от свободного софта. Идея заключается в том, что пользователю не возбраняется пользоваться любым другим софтом, входящим в пул.
Сегодня одна из проблем с софтом, лицензируемым за деньги, заключается в том, что если продукт обладает для вас малой ценностью, стоимость лицензии может оказаться слишком высокой, а если его ценность высока — слишком низкой. Позволяя пользователям самим оценивать полезность продуктов и распределять свой взнос пропорционально оценке, этой проблемы, отвращающей людей от идеи платы за софт, можно полностью избежать.
Правда, может оказаться так, что сама стоимость доступа к пулу окажется для кого-то слишком высокой. Но, может быть, пользователю следует дать возможность определить и сам процент отчислений от стоимости оборудования, который он готов заплатить за доступ к пулу.
Это будет выглядеть довольно интересно…
— …Особенно когда пул станет достаточно большим. Статистика может быть очень простой, заключающейся, например, в выборе раз в год случайных пяти имен из списка участников пула и предъявлении их пользователю с просьбой разделить свой двадцатипятипроцентный взнос пропорционально оценке их вклада.
Столлмэну модель «открытой продажи» не нравится, поскольку она лишает каких-то пользователей доступа к софту. Ему кажется, что модель должна быть навязана правительством, чтобы ее можно было использовать, а применять отказ в доступе как рычаг для стимулирования оплаты для него неприемлемо [6].
Меня лично устроил бы любой из этих вариантов развития событий.
Есть еще модель для софта с открытыми исходниками, которую Рэймонд не упомянул. Это «разделение рынков»: выпуск свободного софта для сообщества свободного софта при сохранении лицензионных выплат из сообщества проприетарного софта. Это было нашей первоначальной моделью, и в 1993 году я полагал ее единственным способом заработать деньги.
С того времени свободный софт получил свою долю на рынке, и стали доступны другие модели. Сейчас мы выпускаем софт под GPL, а за исключения нам платят. В этой модели все еще можно зарабатывать, и мы надеемся на значительный рост поступлений в текущем году.
Сам я думаю, что брать деньги с проприетарного сообщества, оставляя софт свободным для свободного мира, вполне разумно, но многих активистов свободного софта это смущает. Похоже, они просто не видят того, что законы о копирайте и патентах создают баланс между вознаграждением изобретателей и ограничением полезности их изобретений. И они не хотят допускать, что такие законы принимаются, имея в виду справедливость. Линуса наша модель вполне устраивает, а вот Столлмэн — я уверен — отверг бы ее, поскольку с нравственной точки зрения неправильно вносить свой вклад в функционирование мира проприетарного софта — а тем более делать на этом деньги.
Я участвовал в обсуждениях, на которых Столлмэн советовал своим последователям отказаться от ненужной роскоши — как детям, — чтобы посвятить себя исключительно созданию свободного софта. Это отголосок святости, которая встречается в людях во все времена. Проблема, с которой сталкиваются святые, заключается в том, что вполне нравственно самому отказываться от ненужной роскоши, но совершенно безнравственно ввергать в нищету других (например, жену или детей). Я думаю, что обеспечение своей семьи — важная моральная обязанность, возможно, главная из тех, что отличают мужа от мальчика. Приняв необходимость достойного обеспечения семьи, приверженность бедности приходится умерять до отказа от демонстративного потребления. А получение денег становится вполне морально оправданным.
Расходясь в этом пункте со Столлмэном (и другими святыми свободного софта), я продолжаю любить и уважать его. Я считаю, что дистрибьюторам Linux было бы правильнее маркировать свои продукты как «GNU/Linux», невзирая на маркетинговые осложнения [7]. Я думаю, что «открытые исходники» — это просто удобный термин для тех, кому «свободный софт» кажется слишком сильным выражением, к которому они не готовы.
Условия «открытых исходников» очень хитро сформулированы: «свободное использование» не звучит в названии, но, вчитавшись в определение, вы увидите, что это тот же свободный софт, только в галстуке.
Интересно заметить, что приверженцам проприетарного софта модель с двойным лицензированием очень не нравится, так как они понимают, что их как бы облагают налогом для поддержки свободного софта, который они к тому же рассматривают как конкурентную угрозу. Несмотря на это, как только у них возникает деловая потребность, они платят.
P. S. Namesys продолжает активно нанимать разработчиков: за следующие полгода планируется удвоить штат. Если вам интересно решать сложные исследовательские задачи при разработке ОС, возможно, вам стоит почитать о фирме и ее проекте на www.devlinux.com/namesys и послать свое резюме (по-английски) Хэнсу Райзеру (hans@reiser.to).
6 (обратно к тексту) - Имеется ввиду известный пассаж в "Манифесте GNU" [GNU 1993], в котором Столлмэн предлагает оплачивать разработку софта из государственного бюджета. Курьезно, но критики Столлмэна часто упускают из виду, что значительная часть программного обеспечения и сегодня пишется при прямой или косвенной поддержке правительств, например, через субсидирование системы образования.
7 (обратно к тексту) - Большинство дистрибутивов на основе ядра Linux маркированы просто "Linux", несмотря на то, что неотъемлемую часть ОС составляют компилятор, библиотеки и утилиты GNU.
Aннотированный перечень литературы и источников
А Самым авторитетным источником по проблемам управления разработкой программного обеспечения много лет остается книга Брукса. Ниже дается ссылка на ее недавнее юбилейное переиздание, дополненное позднейшими статьями. В ней можно найти дальнейшие ссылки на дискуссию о методах.
[Брукс 1999] Фредерик Брукс. «Мифический человеко-месяц». — СПб.: Символ-Плюс, 1999.
Б Ядром (и долгое время единственным местом осознанного практикования) методологии общественной разработки программного обеспечения с открытыми исходными текстами стало Движение за свободное программное обеспечение, оформленное, прежде всего, как проект GNU (GNU’s Not Unix) и Фонд свободного программного обеспечения (FSF). Идеология свободного софта ярче всего выражена в следующих документах:
[GPL 1991] «Универсальная общественная лицензия GNU» // Ричард Столлмэн. «Руководство по GNU Emacs». — М.: АНО «ИЛКиРЛ», 2000;
[GNU 1993] «Манифест GNU» // там же.
Оба они доступны также на сайте www.iplabs.ru.
В Эрик Рэймонд остается самым влиятельным деятелем, способствующим принятию большим бизнесом методов разработки софта с открытыми исходниками. Вот список его работ (почти все они доступны на www.tuxedo.org/~esr) и некоторых интересных отзывов на них.
[Raymond 1992] Eric S. Raymond. A Brief History of Hackerdom, 1992;
[Raymond 1997] Eric S. Raymond. The New Hacker’s Dictionary, 1997;
[Raymond 1997a] Eric S. Raymond. The Cathedral and The Bazaar, 1997;
[Raymond 1998] Eric S. Raymond. Homesteading the Noosphere, 1998;
[Raymond 1995] Eric S. Raymond. Dancing with God, 1995;
[Raymond 1999] Eric S. Raymond. The Magic Cauldron, 1999;
[Рэймонд 1999] Эрик С. Рэймонд, «Собор и базар» // «Открытые Системы», #09–10/1999;
[Kuwabara, 2000] Ko Kuwabara. Linux: A Bazaar at the Edge of Chaos // First Monday, v5n3, March 2000, firstmonday.org/issues/issue5_3/kuwabara;
[Rosenblatt 2000] Bill Rosenblatt. The Truth about Open Source Software // SunWorld, May 2000;
[Bezroukov 1999] Nikolai Bezroukov. Open Source Software Development as a Special Type of Academic Research (Critique of Vulgar Raymondism) // First Monday, v.4, No. 10 (October 1999), firstmonday.org/issues/issue4_10/bezroukov;
[Bezroukov 1999a] Nikolai Bezroukov. A Second Look at the Cathedral and Bazaar // First Monday, v. 4, No. 12 (December 1999), firstmonday.org/issues/issue4_12/bezroukov.
Г Хорошим источником информации является сайт O’Reilly & Associates opensource.oreilly.com. Там есть, в частности, тексты, включенные в сборник, содержащий следующую статью:
[Perens 1999] Bruce Perens. The Open Source Definition // Open Sources: Voices from the Open Source Revolution, O’Reilly: 1999.
Сам Тим О’Рейли написал ряд интересных статей, среди которых хочется отметить одну, переведенную на русский:
[О’Рейли 1999] Тим О’Рейли. «Революция открытых текстов» // «Открытые системы», #02/99.
Д В материалах темы также цитировались тексты, для которых единственной категорией в библиографии является «Разное»:
[Brody 2000] Steve Brody. Hacking for dollars: A brief history of Linux at IBM // IBM DeveloperWorks, www.ibm.com/developer;
[Williams 2000] Sam Williams. BeOpen Interview with Hans Reiser // BeOpen, June 5, 2000, www.beopen.com/stories/article.php?id=15;
[Gabriel 1991] Richard P. Gabriel, Lisp: Good News, Bad News, How to Win Big, 1991.
Ссылка на последнюю статью утеряна при подготовке темы. Домашнее задание: найдите ее в Сети, где-то она есть.