Just for fun. Рассказ нечаянного революционера
Шрифт:
Я не сразу привык к тому, что у нас есть графический интерфейс пользователя. Думаю, около года я им вообще редко пользовался. А сейчас уже не могу без него: во время работы у меня всегда открыт миллион окон.
Орест не только дал возможность работать с окнами, но и вообще открыл дорогу в будущее. Domain Sockets использовались для организации локальной сети, которая позволяла работать системе X Window. Мы могли воспользоваться теми же самыми Domain Sockets, чтобы обеспечить Linux большой рывок во внешние сети – получить возможность связывать компьютеры. Без включения в сеть Linux была полезна только тем, кто сидел дома и выходил в большой мир по модему или вообще делал все локально. Поэтому мы с большим воодушевлением принялись
Я был настолько уверен, что все получится, что даже сделал скачок в нумерации версий. В марте 1992 года я планировал выпустить версию 0.13. А вместо этого, получив графический интерфейс пользователя, уверился, что мы на 95 % достигли цели – выпуска полноценной, надежной операционной системы, пригодной к тому же для работы в сети. И поэтому выпустил версию 0.95.
Господи, как же это было преждевременно! Чтобы не сказать, глупо.
Работа в сети – поганое дело, и в итоге на ее организацию ушло почти два года – только тогда ее можно было выпустить в свет. Переходя в сеть, получаешь целый букет новых проблем. Во-первых, защита. Ты не знаешь, кто работает в сети и что он затеял. Нужно быть очень осторожным, чтобы никто не мог повесить твой компьютер, посылая тебе кучи хлама. Ты уже не можешь контролировать, кто вступает в контакт с твоей машиной. Причем у разных людей могут быть совершенно разные настройки. Используя стандартный сетевой протокол TCP/IP, трудно правильно установить все тайм-ауты. Казалось, процесс будет бесконечным. К концу 1993 года у нас уже была почти работоспособная сетевая система, хотя у некоторых возникали серьезные проблемы с ее использованием. Мы не умели работать с сетями, в которых адрес не укладывался в 8-битные границы.
Из-за своего чрезмерного оптимизма при выпуске версии 0.95 я оказался в ловушке. В течение тех двух лет, что ушли на разработку и выпуск версии 1.0, с номерами творилось что-то невообразимое. Между 95 и 100 не так много чисел, но мы продолжали постоянно выпускать новые версии – то ошибку поправишь, то функцию добавишь. Добравшись до 0.99, мы были вынуждены начать добавлять номера, чтобы указать на уровень заплат, а потом перешли на алфавит. В какой-то момент мы выпустили версию 0.99, уровень заплаток 15A. Потом появилась версия 0.99, уровень заплаток 15B и так далее. Так мы добрались до уровня заплаток 15Z. А вместо уровня 16 была выпущена версия 1.0 – в этот момент система наконец стала работоспособной. В марте 1994-го Linux 1.0 была с большой помпой представлена в аудитории факультета информатики Университета Хельсинки.
Этому предшествовал довольно беспорядочный период, но уже ничто не могло нанести урона популярности Linux. У нас была своя собственная телеконференция в Интернете – comp.os.linux, выросшая из пепла нашей с Эндрю Таненбаумом перепалки. И она привлекала орды участников. В те времена Internet Cabal (группа администраторов некоторых узлов Интернета) ежемесячно подводила неофициальную статистику: сколько человек участвует в каждой конференции. Данные были не очень точные, но они лучше всего говорили о популярности твоего сайта – в данном случае, сколько людей интересовалось Linux. Неизменным лидером среди телеконференций была alt.sex. (Я-то ей особенно не интересовался. Хотя и сходил туда пару раз, чтобы посмотреть, из-за чего подняли такой шум. Но вообще я был типичным фригидным ботаником, которому гораздо интересней играть в процессор с плавающей точкой, чем следить за новостями с сексуального фронта: о свеженайденных позициях при половом акте, отчетах о крутых любовных играх или о чем там еще говорят на alt.sex.)
С помощью ежемесячной статистики Cabal легко было следить за популярностью comp.os.linux. Можете не сомневаться – так я и делал. (Некоторые считают меня чуть ли не народным героем, но я никогда не был тем бескорыстным, самоотверженным компьютерным фанатом,
Однако форум Linux неуклонно двигался вверх. В какой-то момент он вошел в первые сорок, и я был счастлив. Это было круто. Помню, я тогда написал довольно злорадное сообщение в comp.os.linux, в котором перечислял форумы, посвященные разным ОС, включая Minix, и говорил: «Смотрите, мы популярнее Windows!» (Учтите, что в то время любители Windows еще не освоили Интернет.) Где-то в 1993-м мы вошли в первую пятерку. В ту ночь я лег спать преисполненный самодовольства, в экстазе от того, что Linux по популярности почти догнала секс.
В окружающем меня мирке ничего похожего не происходило. Я практически не жил реальной жизнью. К тому времени, как я уже писал, Петер Энвин организовал в Интернете сбор средств для оплаты моего компьютера. В итоге было собрано три тысячи долларов, и в конце 1993 года я закончил выплаты. А на Рождество провел модернизацию своего компьютера до 486 DX2-66, который использовал потом много лет. В этом и была моя жизнь: я ел, спал, иногда ходил в университет, программировал, читал прорву мейлов. Я был в курсе, что некоторые мои друзья чаще занимаются сексом, но это меня не трогало.
Честно говоря, большинство моих друзей тоже не преуспевали в этой сфере.
XII
Выступление в Эде почти убедило меня, что я способен вынести что угодно – даже такой ужас, как выступление перед множеством совершенно незнакомых, уставившихся на меня людей. Начинала приходить уверенность и в других областях. Я был вынужден принимать быстрые решения по поводу исправления и модернизации Linux, и каждое такое решение укрепляло меня в роли лидера растущего коллектива. С технической точки зрения решения не вызывали проблем – труднее было дипломатично сообщить одному человеку, что я предпочел решение другого. Иногда достаточно было просто написать: «Поправки такого-то работают прекрасно. Давайте на них и остановимся».
Никогда не понимал, зачем соглашаться на решение, которое я не считаю самым лучшим с технической точки зрения. Это помогало мне сохранять беспристрастность, когда несколько программистов предлагали различные заплатки. Кроме того, хотя тогда я об этом не задумывался, это внушало людям доверие. А доверие дорогого стоит. Когда тебе верят, то прислушиваются к твоим советам.
Безусловно, сперва нужно заложить фундамент доверия. Думаю, все началось не столько, когда я написал ядро Linux, а скорее когда я выложил свою программу в свободном доступе в Интернете с тем, чтобы каждый желающий мог внести в нее изменения или добавить функции, а я бы принимал окончательное решение в отношении устройства операционной системы.
Точно так же, как я не планировал, что Linux начнет свое существование за пределами моего собственного компьютера, так и не ожидал, что стану лидером. Это произошло само собой, по умолчанию. В какой-то момент группа из пяти разработчиков стала выполнять основную часть работы по ключевым направлениям. Было естественно, чтобы они стали своего рода фильтрами и отвечали за разработку в соответствующих областях.
Я довольно быстро понял – проще всего руководить, позволяя людям делать то, что им хочется, а не заставляя их делать то, что хочется тебе. Кроме того, хороший руководитель понимает когда не прав, и умеет отступать. А еще он позволяет другим принимать самостоятельные решения.