Оглядываясь назад, я понимаю, что большинство детей одевались довольно безвкусно. Мы вырастаем, и неожиданно этими вопросами начинает заниматься кто-то другой. В моем случае – это отделы маркетинга компьютерных фирм. Те люди, которые выбирают футболки и куртки для бесплатной раздачи на конференциях. Теперь я в основном одеваюсь в такую «фирменную» одежду, поэтому мне ничего не приходится выбирать самому. А завершением моего гардероба – выбором сандалий и носков – ведает жена. Так что меня все это больше не касается.
Я принялся писать собственные программы. Начало было традиционным: 10 PRINT «HELLO» 20 GO TO 10 Эта программа делает именно то, что и следует ожидать. Она печатает на экране HELLO. Вечно. По крайней мере, пока тебе не надоест. Но это только первый шаг. Многие на нем и останавливаются. Вот, думают, какое дурацкое упражнение: зачем надо миллион раз печатать HELLO? Однако руководства к первым домашним компьютерам всегда начинались именно с него.
Это называется программированием в машинном коде. Оно позволяет делать такие вещи, до которых иначе не додумаешься. Расширяет возможности компьютера. В твоей власти оказывается все до мельчайших деталей. Начинаешь придумывать, как сделать то же самое чуть-чуть быстрее и занять при этом меньше места. Между тобой и компьютером исчезает барьер абстракции, и вы становитесь очень близки. Вот что такое «быть с машиной на „ты“».
Я повесил на окна плотные черные занавески, чтобы внутрь не проникал солнечный свет. Компьютер притулился на маленьком столике возле окна, в полуметре от моей постели.
Линус с открытой банкой кока-колы в руках появился из недр Transmeta, расположившейся в безымянном офисном комплексе Санта-Клары. На нем была программистская униформа: джинсы, футболка с конференции и неизменный набор носки плюс сандалии, который он полюбил, по его словам, еще до встречи с первым программистом. «Должно быть, это просто врожденный программистский инстинкт», – объяснил он мне свой выбор.
Математика и физика меня интересовали и поэтому давались легко. Но если требовалось механическое запоминание – я сразу терял интерес к предмету. Поэтому история вызывала тоску, если нужно было назвать год битвы при Гастингсе, но становилась интересной, когда обсуждались экономические факторы развития страны. То же и с географией. Ну кого волнует, сколько человек живет в Бангладеш?
Операционками я заинтересовался так: купил флоппи-контроллер, чтобы не пользоваться микроприводами, но к нему прилагался такой поганый драйвер, что пришлось написать новый. Пока писал – обнаружил проколы в самой операционной системе или по крайней мере несоответствие между тем, что обещала документация, и тем, что реально происходило. Я с этим столкнулся, когда моя программа отказалась работать. Поскольку мои-то программы – ясное дело – всегда идеальны, я понял, что тут дело в другом. Пришлось пойти дальше и дизассемблировать операционную систему.
«Мои родители были членами коммунистической партии, поэтому в детстве нам внушали, что Советский Союз – хорошая страна. Мы ездили в Москву, – рассказывает она. – Мне больше всего запомнился огромный магазин игрушек – в Хельсинки таких больших нет».
Вскоре она нарочито бодрым тоном заявляет: «А вот эта комната – идеальное место для хранения старинных произведений искусства, которым опасен солнечный свет». Микке смотрит на меня заговорщически и ехидно говорит: «Какой изящный способ сообщить, что это темная комната!»
Не знаю, как описать мою любовь к программированию, но я попробую. Если этим занимаешься, кажется, что в мире нет ничего интереснее. Эта игра гораздо увлекательнее шахмат, игра, в которой можно устанавливать собственные правила и где конечный результат можно понимать по-своему. А со стороны кажется – нет на свете ничего скучнее. Первое, что привлекает в программировании, объяснить просто: ты говоришь компьютеру что-то сделать, и он это делает. Безошибочно. Всегда. Без возражений. Это само по себе интересно.
Но такое слепое послушание хотя и увлекает сначала, вряд ли может привязать надолго. На самом деле оно как раз быстро наскучит. Интереснее всего другое: чтобы заставить компьютер делать то, что хочешь, сперва нужно придумать как.
В пределах компьютера ты творец. Ты можешь безраздельно управлять всем, что происходит. Если хватает умения, то ты – бог. Местного значения. Возможно, я оскорбил этими словами около половины населения Земли. Но это правда. Ты создаешь свой собственный мир, и тебя ограничивают только возможности твоей машины или – в наше время все чаще – твои собственные способности.
Операционная система – это основа всего, что происходит в машине. Ее создание – самая сложная задача. Создавая операционную систему, ты строишь мир, в котором будут жить все остальные программы, работающие на компьютере. По сути ты задаешь правила: что допустимо и может быть сделано, а что – нет. Так можно сказать про любую программу, но к операционке это относится в первую очередь. Она подобна конституции созданной тобой страны, а все остальные программы – лишь обычные законы.
Я стал распространять свою операционку прежде всего, чтобы доказать, что все это не пустая болтовня – я действительно что-то сделал. В Интернете много болтают. О чем бы ни шла речь – об операционке или о сексе – многие в киберпространстве просто вешают лапшу на уши. Поэтому важно после того как ты растрезвонил, что пишешь операционку, иметь возможность сказать: «Вот – я ее и правда сделал. Я не трепло – можете сами посмотреть».
Как я уже говорил, моя операционка была не очень полезной. Она легко рушилась, если переполнить память или еще что-то не так сделать. Даже если вы ничего плохого не делали, система рушилась после более-менее продолжительного периода работы. Она тогда и не предназначалась для работы. На нее можно было только любоваться. И восхищаться ею.
В любом случае я не хотел продавать Linux. И не хотел терять своей власти над ней, то есть не хотел, чтобы ее продавал кто-то другой. Это я четко сформулировал в уведомлении об авторских правах, помещенном в файл COPYING первой версии, которую выложил еще в сентябре. Благодаря принятой в 1800-х годах Бернской конвенции тебе принадлежит авторское право на все созданное тобой до тех пор, пока ты это право не продал. Как владелец авторского права я должен был сформулировать правила: операционную систему можно использовать свободно, пока ты ее не продаешь, а если ты внес какие-то исправления или улучшения, то должен сделать их всеобщим достоянием в виде исходников (в отличие от бинарников, которые недоступны). Кто не согласен с этими условиями, тот не имеет права ни копировать, ни изменять программу.
В те времена Internet Cabal (группа администраторов некоторых узлов Интернета) ежемесячно подводила неофициальную статистику: сколько человек участвует в каждой конференции. Данные были не очень точные, но они лучше всего говорили о популярности твоего сайта – в данном случае, сколько людей интересовалось Linux. Неизменным лидером среди телеконференций была alt.sex.
Где-то в 1993-м мы вошли в первую пятерку. В ту ночь я лег спать преисполненный самодовольства, в экстазе от того, что Linux по популярности почти догнала секс.
Я довольно быстро понял – проще всего руководить, позволяя людям делать то, что им хочется, а не заставляя их делать то, что хочется тебе. Кроме того, хороший руководитель понимает когда не прав, и умеет отступать. А еще он позволяет другим принимать самостоятельные решения.
Это должен был быть не просто какой-нибудь пингвин. Во-первых, Линус хотел, чтобы у него был счастливый вид, как будто он только что оприходовал бочонок пива, а потом оттянулся с подругой. Но главное, пингвин должен быть узнаваемым.
Ясно, что одна из причин популярности среди студенчества как открытых исходников, так и Linux, крайне проста – неприятие истеблишмента. (То же самое неприятие истеблишмента, которое оказало такое влияние на жизнь моего отца.) Расклад тут такой: с одной стороны, огромная коварная корпорация Microsoft и злобный, жадный, отвратно богатый Билл Гейтс, а с другой – любовь и бесплатный софт для всех плюс скромный (с виду) народный герой Линус Б. Торвальдс. Эти ребята заканчивают учебу и приходят на работу в корпорации, принося с собой любовь к Linux.
Comdex, как всем известно, это самая большая и мерзкая выставка на свете. Почти на неделю сонный городок Лас-Вегас в штате Невада становится магнитом для всех мыслимых высокотехнологичных продуктов, которые хоть кому-то можно навязать, а также для толп продающих и покупающих эти продукты людей. Это единственное время в году, когда в Лас-Вегасе можно высунуться из такси и спросить любую дефилирующую мимо проститутку: «Во сколько доклад?» – и она ответит.
Мы возвращаемся в дом. Линус в одних трусах сидит за компьютером и быстро печатает. Рядом с ним стоит пачка сухариков. Проходит секунд пятнадцать, прежде чем он понимает, что мы пришли. Он отводит глаза от монитора. Его первые слова: «Господи, какая мерзость этот Макинтош!»
Современная патентная система – это по существу «холодная война», где вместо ядерного оружия используется интеллектуальная собственность. И эта война немногим лучше той. Изобретатели-одиночки, столкнувшиеся с безумной системой и не имеющие возможности нанять 12 тысяч юристов, оказываются загнанными в бомбоубежища.
Сегодня развитие технологий (и, следует с грустью признать, музыки) определяется не Эйнштейнами (или Моцартами), а огромной армией интенсивно вкалывающих инженеров (или, в случае музыки, пышногрудых девиц), которые только изредка демонстрируют всплески таланта. Увеличение ресурсов не ведет к созданию шедевров, но обеспечивает медленный и устойчивый прогресс. И в конечном итоге это к лучшему.
Концепция открытых исходников крайне проста. В случае операционной системы исходники – команды программы, лежащие в основе системы, – свободны. Каждый может их улучшать, менять, использовать. Но все эти улучшения, изменения и реализации должны быть тоже доступны всем свободно. Налицо аналогия с «дзен». Проект не принадлежит никому и одновременно принадлежит всем. Когда проект открыт, происходит его быстрое и непрерывное совершенствование. Параллельная работа нескольких групп приводит к более быстрым и успешным результатам, чем работа за закрытыми дверьми.
Самый загадочный вопрос в этом деле – как такая прорва хороших программистов соглашается работать абсолютно бесплатно? Тут нужно поговорить о мотивации. В условиях общества, где выживание более или менее гарантировано, деньги – не самый лучший стимул. Хорошо известно, что лучше всего работает тот, кто одержим страстью. Кто работает ради удовольствия. Это так же верно в отношении драматургов, скульпторов и предпринимателей, как и в отношении программистов. Модель открытых исходников дает людям возможность удовлетворить свою страсть, получить удовольствие, сотрудничать с лучшими программистами мира, а не только с теми, кто оказался в штате той же компании. При этом разработчики стремятся завоевать авторитет среди своих коллег, и это оказалось превосходным стимулом.
И я очень горд тем, что на выставке Comdex ко мне подошел человек, чтобы показать бензиновый насос, работающий под управлением Linux. Это был опытный образец бензинового насоса. Идея была в том, чтобы клиенты бензоколонки могли выйти в Интернет и посетить CNN.com за те три минуты, что заполняется их бензобак. Стоя на плечах гигантов. Это просто круто, что люди используют технологии вроде Linux просто для усовершенствования бензонасосов.
В конце концов, моя теория смысла жизни не дает никаких рекомендаций, что нужно делать. Она от силы утверждает: «Хотите – верьте, хотите – нет, но цель всего – удовольствие».
До некоторой степени она объясняет, почему люди с радостью готовы участвовать в проектах вроде Linux по Интернету. Мне и многим другим Linux подарила сразу два стимула. Оставив выживание за скобками, Linux позволяет людям соединить удовольствие от интеллектуальных усилий и социальные отношения в единой команде ее создателей. Мы не так уж часто встречались лицом к лицу, но мейлы несут не одну лишь сухую информацию. С помощью почты вполне могут завязываться дружеские и иные социальные связи. И если нам когда-нибудь встретятся во вселенной другие разумные существа, то их первые слова вряд ли будут: «Отведите меня к вашему главному». Скорее они скажут: «Сыграем, парень?»