«Я делаю свободное ПО, потому что считаю это единственным правильным способом разработки»
Некоторые считают Линуса Торвальдса, создателя операционной системы Linux и репозитория Git, просто везучим человеком. Кому-то он, наоборот, кажется целеустремленным энтузиастом своего дела. Однако никто не будет спорить с тем, что благодаря исключительной одаренности Торвальдса появилась операционная система, которая распространилась по всему миру.
Более того, принципиально важным для ее создателя было бесплатное использование и свободное редактирование исходного кода ОС. Вокруг Linux образовалось огромное opensource-сообщество, благодаря которому система развивается и по сей день: постоянно появляются новые сборки и новые операционные системы на базе ядра Linux.
Условия распространения Linux были разработаны еще на начальной стадии. Linux распространяется свободно, при этом не может быть выставлена на продажу. В случае если пользователь вносил какие-то изменения или улучшения в систему, он должен был сделать их всеобщим достоянием в виде исходников.
Линус писал свою ОС, опираясь на множество свободно распространяемых по интернету инструментов. Самым важным из них был компилятор GCC, авторские права которого были оговорены в General Public License. Впоследствии, вся операционная система Linux была зарегистрирована под лицензией GPL.
«Игра» в Linux
Линус Торвальдс не думал о славе, и вообще не предполагал, что история с Linux так далеко зайдет. Он увлекался компьютерами и программированием с школьных лет и продолжал заниматься любимым делом, учась в Университете Хельсинки. Он сам часто отмечает, что программированием нужно заниматься в удовольствие. Поэтому точно так же, как в детстве, он просто «играл» в разработку Linux. Движимый сначала азартом, а позднее положительными отзывами, Торвальдс в один прекрасный момент обнаружил, что создал операционную систему.
Linux 0.01
«Никто на самом деле не создает прекрасный код с первого раза, за исключением меня, но я такой один».
Постепенно «играть» в Linux вместе с его создателем стали другие разработчики. Раскрыв все карты и выложив исходники своего детища в открытый доступ, Торвальдс в какой-то степени рисковал потерять статус ведущего разработчика в проекте. Однако он, судя по всему, догадывался, что его профессиональный уровень был значительно выше большинства разработчиков. Кроме того, далеко не все умеют работать много, качественно и при этом бесплатно. А у Линуса Торвальдса как раз была такая «уникальная» способность.
А следующая цитата иллюстрирует термин «развлечение» в представлении Торвальдса:
Итак, большинство из вас, скорее всего, будет невыносимо маяться от скуки в Рождество, и вот вам идеальное развлечение. Протестируйте 2.6.15-rc7. Все магазины будут закрыты, и на самом деле не будет лучшего занятия между поеданием пищи.
В общем-то, до того, как Линус женился на своей студентке, программирование было едва ли не единственным занятием, которым он занимался между «поеданием пищи». После женитьбы в 1996 году Торвальдс устроился на работу в калифорнийский стартап Transmeta, который разрабатывал энергоэффективные CPU. Но тем не менее, он оставался ведущим разработчиком Linux и при этом продолжал получать удовольствие.
А в 2003 году он ушел из компании, чтобы всецело сосредоточиться на разработке своей ОС. Уход стал возможен благодаря новообразованной общественной организации The Linux Foundation (в то время она называлась Open Source Development Labs), которая обеспечила Торвальдса медицинской страховкой и зарплатой.
Нечаянный успех
Сообщество Linux превратилось в некий саморегулируемый организм, которым никто не управлял централизованно. Соответственно, не было никакого смысла устраивать борьбу за власть в проекте. Впрочем, Торвальдсу все-таки приписывают неформальное лидерство. Согласно известной цитате, руководить программистами — все равно что пасти стадо кошек. Возможно, Линус смог найти баланс между общим направлением развития проекта и одновременно не стал мешать разработчикам гулять самим по себе. Тем более, что в рамках данного проекта, любой участник может вести собственную разработку на базе ядра Linux, никому не мешая.
Можно также вспомнить, что подобное притягивает подобное: будучи адекватным и самокритичным профессионалом без завышенного ЧСВ, Торвальдс естественным образом «притянул» к себе тех, кто обладал схожими качествами. В какой-то момент Linux стал самым успешным opensource-проектом. А как известно, команда чаще всего добивается серьезных успехов, когда ее участники смотрят примерно в одном направлении.
Подобные результаты не могли оставить равнодушными коммерческих производителей операционных систем… и просто завистливых людей, оставшихся в стороне. Однако Линус Торвальдс не стремился перейти им дорогу или заставить кого-то завидовать. ОС Linux начала распространяться за пределами сообщества потому, что была действительно качественным продуктом. Особенно широкие возможности открылись перед ней, когда весной 1992 года хакер Орест Збровски успешно адаптировал X Window для Linux. Таким образом, у Linux появился графический интерфейс.
Git
Помимо разработки операционных систем, Торвальдса мало что интересовало. Хотя эта тема включает в себя множество аспектов, которыми можно заниматься всю жизнь. Наиболее скучными направлениями Линус считал разработку систем контроля версий и работу с базами данных. Однако, по иронии судьбы, в 2005 году он был вынужден создать свою систему управления исходным кодом.
В 2005 году Торвальдс выпустил релиз Linux 2.6.12-rc2 и заявил, что не продолжит разработку операционной системы, пока не будет замены репозитория BitKeeper, которым сообщество Linux пользовалось до 2005 года. От BitKeeper пришлось отказаться в силу разногласий с ее разработчиками по вопросам его бесплатного использования в opensource-разработке. А другие системы управления исходным кодом Торальдсу категорически не нравились.
«В результате, я решил, что сам за две недели смогу написать что-то получше, и не ошибся».
Торвальдс создал распределенную систему управления исходным кодом Git за две недели. Он не раз говорил, что терпеть не может централизованные репозитории по типу SVN. При создании Git Линус четко представлял, что ему нужно: децентрализация, возможность независимой офлайн-разработки, удобство и надежность при ветвлении и слиянии. Более того, он создавал систему управления исходным кодом специально для нужд разработчиков ядра Linux.
Но Git была уготована «великая» судьба, чего Торвальдс, опять же, никак не ожидал. Репозиторий стал популярен за пределами Linux-сообщества. Git использовали разработчики таких продуктов, как KVM, Qt, Drupal, Puppet, Wine.
Гик с характером
На волне популярности Git Линус даже выступил с докладом в Google в 2007 году. Ознакомившись с докладом, можно сделать вывод, что Торвальдс относился к себе и сложившейся ситуации с достаточной долей иронии и самокритики:
Я должен слегка предостеречь вас, что я не очень хороший оратор, частично потому, что я не люблю выступать, а частично потому, что за последние несколько лет все только и хотели от меня докладов о туманном будущем Линукса в следующем столетии, а я – вообще гик и предпочитаю говорить о технологиях.
Еще в детстве Линус Торвальдс был застенчивым и малообщительным человеком. В школе он считался типичным «ботаником», что вполне соответствовало его внешности (щуплый и низкорослый) и увлечениям. Он считал себя «некрасивым» – в том числе, из-за большого носа.
В юности он продолжал страдать от всяческих комплексов, связанных с социализацией. Правда, страдал он исключительно в свободное от программирования время – то есть, довольно редко.
Его неудачи в социуме с лихвой компенсировались успехами в компьютерных науках, где Торвальдс получал удовольствие от собственного «всемогущества». Но подобные противоречия характерны для выдающихся людей и с возрастом компенсируются. В данном случае, можно проследить, какой отпечаток это наложило на его манеру общения.
Вы можете не соглашаться со мной сколько хотите, но в течение этого доклада все, кто не согласен со мной, по определению — тупые уроды. Помните об этом! Вы будете вольны делать и думать все что захотите, когда я закончу доклад. А сейчас я рассказываю свое единственно правильное мнение, так что пользователи CVS, если вы действительно его так любите, уйдите с глаз моих долой. Вам надо обратиться в психушку или куда-то еще.
Та тема, в которой Торвальдс чувствует себя уверенно, становится полем для импровизации, самоиронии, кокетства и прочих форм заигрывания с публикой.
Я запустил проект, разработал архитектуру и начальный код, на протяжении последних полутора лет его поддерживает гораздо более славный парень, японец Junio Hamano, и именно он сделал Git более доступным для простых смертных. Ранние версии Git действительно требовали некоторое количество «ментальных пунктов» мозгосилы. C тех пор он стал гораздо проще.
В общем, это мой обычный подход — все остальные делают все возможное, а я сам могу просто сидеть и потягивать ПинаКоладу.
Не чужды Линусу Торвальдсу и такие качества, как откровенная прямота, граничащая с демонстративным неприличием. Это иллюстрирует история сотрудничества с компанией NVidia в 2012 году.
Одна из студенток вуза попросила создателя Linux прокомментировать отношения opensource-сообщества с одним из крупнейших в мире разработчиков графических ускорителей и процессоров – NVidia.
Линус Торвальдс заявил, что NVidia является одной из худших компаний, с которыми ему приходилось иметь дело. По его словам, представители NVidia совершенно не имеют желания сотрудничать с сообществом разработчиков Linux и продолжает держать закрытым код своих графических драйверов для Linux.
Завершая свой ответ, Линус Торвальдс подытожил вышесказанное в отношении NVidia, сделал неприличный жест рукой на камеру и заявил: «NVidia, fuck you!»
Ценности, которые отстаивал (может быть, порой чересчур демонстративно) Линус Торвальдс, изменили представление о том, каким может быть opensource-сообщество. Его пример вдохновил, да и сейчас продолжает вдохновлять, «на подвиги» других разработчиков.
20 апреля 2012 года Линус Торвальдс (вместе с японским медиком Синъей Яманакой) стал лауреатом премии «Технология тысячелетия» (Финляндия).
В 2014 году Линус Торвальдс получил награду Computer Pioneer от организации IEEE Computer Society.
Автор: semen_grinshtein