25 лет спустя: интервью с Линусом Торвальдсом

В первом номере Linux Journal было опубликовано интервью, взятое Робертом Янгом, первым издателем журнала (и, среди прочего, основателем Red Hat) у Линуса Торвальдса (автора ядра Linux). Мы решили, что будет интересно свести их снова вместе спустя 25 лет. Первое интервью можно найти по ссылке.

Роберт Янг: Повод связаться с тобой стал для меня большим удовольствием. Как ты, как семья? У тебя дети уже, наверное, колледж закончили. У нас с Нэнси три дочери, у всех всё нормально. У старшей, Зои, которой было 11 лет, когда мы с Марком запустили проект Red Hat, скоро родится второй – то есть, я уже дедушка.

Линус Торвальдс: Мои дети ещё не закончили колледж, хотя Патрисия (старшая) заканчивает в мае. Селеста (младшая) учится в последнем классе школы, поэтому месяцев через шесть наше гнездо опустеет.

У всех троих всё в порядке, и я надеюсь и подозреваю, что через несколько лет, когда начнётся вся эта история с дедушкой, всё тоже будет в порядке.

Боб: Когда я брал у тебя первое интервью в 1994 году, думал ли ты, что всё ещё будешь поддерживать эту штуковину в 2019-м?

Линус: Думаю, что к 1994-му я и так уже удивился, что мой последний проект не стал очередным проектом серии «сделать что-нибудь интересное, пока оно не выполнит всё, что мне надо, а затем найти что-нибудь ещё». Конечно, разработка находилась на ранней стадии, но проект уже зажил своей собственной жизнью.

Так что я думаю, что не ожидал, что буду заниматься этим ещё несколько десятилетий, но проект явно уже перешёл в стадию, на которой превратился в довольно большую часть моей жизни. У меня не было долгосрочных планов на Linux, и я просто занимался им по мере развития, не беспокоясь о том, что будет через пять или десять лет.

Боб: Есть такое знаменитое старое высказывание об опасности достижения своей мечты – твоя любимая шутка в те времена, когда ты говорил, что целью Linux на будущее станет «власть над миром». И что дальше, когда ты и твоё сообщество открытого кода и свободного ПО достигло цели?

Линус: Я перестал шутить насчёт власти над миром очень давно, поскольку с течением времени эта идея становилась всё менее шуточной. Но это всегда было в шутку, и всё, что я и другие разработчики делали, мы делали не по этой причине. Мотивацией всегда было улучшение технологий и решение интересных задач.

И, по сути, ничего не поменялось. Изменились все детали – железо другое, проблемы стали другими, моя роль поменялась. Но принцип «сделать лучше и решать интересные задачи» никуда не делся.

К примеру, в 1994-м я в основном занимался разработкой. Я был главным в проекте, но, хотя я много времени тратил на объединение патчей, в основном я писал код сам. Сегодня я редко пишу код, а если пишу, то это псевдо-код или примеры патчей, которые я шлю настоящим разработчикам. Я бы не стал называть себя менеджером, потому что я не занимаюсь ежегодными отчётами или бюджетами (и слава богу), но определённо больше руководитель проекта, чем программист, и это положение сохраняется уже много лет.

Так что в целом картина не поменялась, но моя роль и все детали, очевидно, выглядели совершенно по-другому в 1994.

Боб: Что будет с тобой и этой базой кода ещё через четверть века?

Линус: Ну мне тогда будет 75, и я сомневаюсь, что буду ежедневно заниматься такими вопросами. Но учитывая, что я занимаюсь этим уже 30 лет, возможно, я всё ещё буду следить за проектом.

Хорошие новости состоят в том, что у нас уже набралась неплохая база разработчиков, и я не беспокоюсь по поводу вопросов типа «где будет Линус». Да, люди уже давно рассуждают о том, как разработчики ядра становятся старше, но это не из-за того, что мы не будем набирать новых людей. Просто у нас в команде до сих пор есть люди, которые с нами уже очень давно, и им всё ещё нравится этим заниматься.

Раньше я думал, что однажды появится какая-нибудь радикально новая и интересная ОС, которая заменит Linux (да в 1994-м я мог себе позволить думать, что, возможно, это удастся сделать Hurd!), но мы не просто занимаемся этим долго и успешно, я ещё понял, что создание новой операционной системы – задача на порядок более сложная, чем мне казалось. Для этого реально требуется тяжёлая работа множества людей, и сила Linux – и открытого кода в целом, естественно – в том, что можно действовать, опираясь на работу всех остальных людей.

Так что, если только в компьютерном ландшафте не произойдёт какого-то тектонического сдвига, я думаю, Linux будет неплохо себя чувствовать в следующие 25 лет. Не из-за каких-то особенностей кода, но фундаментально, из-за модели разработки и области задач.

Я, возможно, не буду работать так активно, и много кода будет обновлено и заменено, но я думаю, что проект останется.

Боб: Испытывали ли вы с командой удовлетворение от обновления кода ядра все эти годы? Есть ли необходимость переписать какую-то часть из постоянно расширяющейся базы кода, набранной за 25 лет? Возможно, на каком-то более современном диалекте С?

Линус: В течение этих лет мы огромное количество раз переписывали наши подсистемы – не все сразу, конечно – и многие части кода уже никто не хочет изменять (чаще всего, это драйвера устаревшего оборудования, которое мало кто использует, но мы его поддерживаем). Одно из преимуществ единой базы кода для всего ядра – когда нам надо сделать большое изменение, мы можем это сделать. Конечно, могут существовать всякие драйвера и прочие программы в формате out-of-tree (как в исходниках, так и бинарные), но у нас всегда было правило, что если что-то не входит в основное древо, оно не имеет значения для разработки. Поэтому при необходимости мы проводим радикальные изменения.

Что касается С, ничего лучше пока не появилось. Мы обновляли исходники кода ядра для улучшенных возможностей языка (с годами сам С тоже поменялся), и добавили разные расширения поверх С для дополнительной проверки типов и проверок во время исполнения программы, и т.п., но в целом язык практически такой же, за исключением мелких деталей.

И, судя по всему, вряд ли что-то поменяется. Активно разрабатываются языки программирования, не предназначенные для низкоуровневого системного программирования. Они нужны для облегчения создания пользовательских приложений с модным интерфейсом, и т.п. Они специально не желают заниматься тем, что нужно ядру, типа низкоуровневого управления памяти.

Могу представить специальную «платформу» для создания драйверов или чего-то похожего, и у нас внутри есть упрощённый «язык» для конфигурации, и мы используем некоторые языки для сборки, поэтому не то, чтобы мы использовали один лишь С. Но по большей части это С, и на нём написано ядро.

Боб: Каков твой любимый компьютер для разработки? Есть какие-нибудь ноутбуки для Linux, которые были бы чем-то вроде скрипок Страдивари для музыкантов? Или планшеты, или телефоны?

Линус: Моя основная машина разработчика – вполне средний ПК. Это франкен-машина, собранная за много лет из разных запчастей. Ничего особенного, и последний раз я апгрейдил её пару лет назад, поэтому ничего такого нового. Мой основной запрос к компьютеру – полная тишина. Кроме парочки вентиляторов там нет движущихся частей (больше никаких вращающихся дисков), и большую часть времени вентиляторы выключены.

В дороге (что, к счастью, бывает редко) мне обычно нужен хороший экран и небольшой вес. Я стремлюсь к весу в 1 кг вместе с зарядкой, и пока не могу достичь этого идеала, но пока что лучший мой компромисс, это XPS13.

Боб: Кажется, что главный успех Linux в области настольных компьютеров состоялся не в мире ПК, а в мире Android. Что думаешь об этом?

Линус: Традиционные ПК уже потеряли свою доминирующую позицию. Даже если у человека есть ПК (и даже если он до сих пор работает под управлением Windows или OS X), многие всё равно в основном используют браузер и парочку случайных приложений. Конечно, есть «пользователи рабочих станций», что-то вроде такого настольного компьютера, который я всегда представлял себе. И, несмотря на всё ещё сохраняющуюся важность этой роли, она уже, судя по всему, не рулит рынком, как когда-то это делали ПК. Мощные настольные компьютеры теперь нужны только для разработки или игр, а также редактирования аудио и видео. Обычно компьютер используется для запуска браузера, и чаще это просто планшет или телефон.

Chrome чувствует себя неплохо в этой области. Но, да, если просто посчитать по цифрам, то из людей, ежедневно имеющих дело с Linux, огромное количество составляют пользователи Android.

Замечание от Боба: если рассматривать «доминирование» в строгом смысле, то это, возможно, так и есть. Но, несмотря на недавнее падение продаж ПК, кумулятивный рост рынка персоналок с 1994 по 2014 настолько мощный, что даже на сегодняшнем медленном рынке в мире устанавливают в 4-5 раз больше ПК, чем в 1994-м.

Боб: Если бы тебе нужно было исправить одну вещь в сетевом мире, что бы это было?

Линус: Ничего технического. Но я просто ненавижу современные «социальные сети» — Twitter, Facebook, Instagram. Это болезнь. Она поощряет плохое поведение.

Я думаю, что в частности это присутствует и у электронной почты, и я уже говорил однажды: «В интернете никто не улавливает ваших намёков». Когда вы не говорите с человеком лично, лицом к лицу, и пропускаете все обычные социальные подсказки, легко не только упустить юмор или сарказм, но и пропустить реакцию оппонента, из-за чего появляются такие вещи, как флейм, и т.п., чего не происходит при личном общении.

Однако емейл работает до сих пор. Вам нужно потратить усилия на то, чтобы написать письмо, и у него есть определённое содержимое, техническое или какое-то другое. Вся эта модель с «лайками» и «поделиться» – это мусор. Никаких усилий, никакого контроля качества. На самом деле, всё работает, как противоположность контролю качества – клик-бейты, вещи, заточенные под эмоциональный отклик, и т.п.

Добавьте сюда анонимность, и получите нечто отвратительное. Если вы даже не подписываете своим именем этот мусор (или мусор, которым вы делитесь или который лайкаете), это не исправляет ситуацию.

Я один из тех, кто считает, что анонимность переоценивается. Некоторые люди путают приватность с анонимностью, считают, что они взаимосвязаны, и что защита приватности подразумевает защиту анонимности. Думаю, это неверно. Анонимность важна для информаторов, но если вы не можете доказать, что вы тот, за кого себя выдаёте, то ваша безумная болтовня на какой-нибудь социальной платформе не должна быть видна, и вы не должны иметь возможность лайкать её или делиться.

Ну и ладно – болтайте дальше. Меня нет ни в каких соцсетях (я одно время пробовал G+, потому что в ней не было этой обычной безмозглой ерунды, но она ни к чему не пришла), но они всё равно меня раздражают.

Боб: Тема текущего номера Linux Journal – Дети и Linux. Посоветуешь что-нибудь молодым программистам и студентам, изучающим информатику?

Линус: Меня надо спрашивать в последнюю очередь. Я с ранних лет интересовался математикой и компьютерами, и до университета был самоучкой. И всё, что я делал, я делал из-за внутренней мотивации. Поэтому я не понимаю проблем людей, которые говорят «чем мне надо заняться?» Это не моя тема.

Боб: Мы впервые встретились на ярмарке Digital Equipment Company (DEC). Это была первая твоя поездка в США, которую спонсировали Джон «бешеный пёс» Холл и DEC.

Линус: Мне кажется, это была вторая моя поездка в США. Во время первой, вроде бы, я ездил в Прово (Юта), побеседовать с компанией Novell по поводу Linux (по поводу внутреннего проекта Novell, который потом превратился в Caldera).

Но, да, ярмарка DECUS (в Новом Орлеане, если мне не изменяет память), была среди первых моих поездок в США.

Боб: Я спросил тебя тогда, как ты разберёшься со всей электронной почтой, когда вернёшься в Хельсинки. Твой ответ удивил меня и с тех пор я тебя цитирую. Ты просто сказал, что отправишь все старые письма в /dev/null. Я был шокирован и спросил тебя, «а что, если в почте будут какие-то важные письма?» Ты пожал плечами и сказал, «если там будет что-то важное, отправитель просто пошлёт мне письмо заново». Это, возможно, наиболее освобождающий совет из всех, что мне давали. Следуешь ли ты до сих пор этой философии по работе с электронными письмами?

Линус: В какой-то мере всё так и осталось, однако я поменял свои рабочий процесс так, чтобы путешествия не вмешивались в него так сильно, как раньше. Сегодня я стремлюсь к тому, чтобы люди даже не замечали, что я в дороге. Я предупреждаю людей, если у меня не будет выхода в интернет больше, чем на пару дней (а такое в некоторых местах планеты ещё бывает – особенно, если увлекаться аквалангом), но большую часть времени я могу работать из любой точки мира. И я пытаюсь так планировать поездки, чтобы они не накладывались на окно, когда нужно делать merge – тогда на меня сваливается максимум pull request’ов.

Поэтому сегодня мой почтовый ящик хранится в облаке, благодаря чему мне гораздо легче переключаться между машинами, и когда я путешествую с ноутбуком, у меня не возникает такой головной боли, как когда мне нужно было скачивать почту на локальный компьютер.

И это не только с почтой – то, что почти вся разработка ядра в итоге распределяется через git, значит, что в принципе не так важно, за какой машиной я работаю, и синхронизировать работу сейчас гораздо проще, чем когда я работал с патчами, приходившими по e-mail по отдельности.

Но всё-таки, принцип «если это важно, люди отправят заново» сохраняется. Люди знают, что я работаю семь дней в неделю и 365 дней в году, и что если я не среагировал на pull request в течение пары дней, он, возможно, затерялся в хаосе моей электронной почты, и люди отправляют мне емейл с напоминанием, чтобы пнуть меня.

Однако сейчас это бывает гораздо реже, чем раньше. В 1994-м я не был так завален работой, и когда я уезжал на неделю, это не становилось проблемой, но в последующие годы ситуация всё ухудшалась, вплоть до того состояния, что в старом рабочем процессе, когда патчи приходили по почте, мне иногда приходилось пропускать некоторые из них, потому что у меня просто не было времени, и я знал, что люди отправят их заново.

Но те времена, к счастью, прошли. Мне очень помог BitKeeper, хотя не всем участникам проекта он нравился (и не все его использовали). А сегодня благодаря git я не получаю тысячи патчей по e-mail, и мои «входящие» выглядят уже не так кошмарно. Поэтому довольно просто за всем успевать.

Кстати, возможно, ещё более важным правилом, чем правило «если это важно, отправитель перешлёт письмо», я считаю моё давнишнее правило: если мне не обязательно отвечать на письмо, я не отвечаю. Если я получаю письмо, и считаю, что это может сделать кто-то другой, я его игнорирую. У некоторых занятых людей есть автоматические ответы, где написано, «извините, доберусь в итоге и до вашего письма». А я просто игнорирую всё, что, по моему мнению, не касается меня. Просто потому, что не считаю нужным поощрять людей писать мне больше писем.

Так что я получаю много писем, но на большую их часть не отвечаю. Говоря реально, большая часть моей работы – это следить за тем, что происходит. Я вижу много писем, но обычно много не пишу.

Боб: На встрече пользователей Linux в Вашингтоне в мае 1995, организованной Доном Бекером [автор Ethernet-драйверов для Linux / прим. перев.], ты остановился посреди выступления и спросил у аудитории, не знает ли кто результатов игры Финляндия-Швеция на чемпионате мира по хоккею. Я, как представитель Канады, смог уверить тебя, что Финляндия выиграла. И, кстати, насчёт этого: недавняя победа Финляндии в юношеском чемпионате мира должна была тебя заинтересовать. Или ты болел за США?

Линус: Хех. Возможно, хоккей и является национальным спортом Финляндии (а то, что они играли против шведов, делало эту игру ещё более личной для меня – я говорю по-шведски, так как это родной язык моей матери, но по гражданству я финн), но я не особенный фанат спорта. И то, что я переехал в США, не значит, что я увлёкся бейсболом и американским футболом, просто из-за этого хоккей потерял для меня значение по сравнению с теми временами, когда мой круг общения им увлекался.

Боб: Многие из нас восхищаются твоим стремлением называть вещи своими именами в публичных дебатах по поводу технических решений, касающихся Linux. Другим не нравится твой прямолинейный стиль спора. Как считаешь, ты становишься более или менее дипломатичным с течением времени?

Линус: Если уж на то пошло, я считаю, что стал более тихим. Я бы не назвал это «более дипломатичным», но я стал лучше понимать сам себя, и пытаюсь быть менее напористым.

В частности, потому, что люди относятся ко мне уже не так, как ранее. Раньше обстановка была менее формальной, мы были группой гиков, которые развлекались и игрались. Сейчас обстановка уже не такая. Не такая камерная – сейчас в разработке участвуют тысячи людей, и это только те, кто отправляет патчи, не учитывая вообще всех людей, связанных с проектом.

Часть изменения отношения ко мне связана с тем, что люди серьёзнее воспринимают меня, чего не было в 1994-м. И я не жалуюсь, что тогда меня не воспринимали серьёзно – наоборот, я ворчу по поводу того, что сегодня меня воспринимают слишком серьёзно, и я уже не могу свободно сморозить какую-нибудь тупую херню.

Так что я всё ещё говорю прямым текстом о том, что какие-нибудь люди или компании делают какую-нибудь ерунду, но теперь мне приходится помнить, что это попадает в новости, и что если я покажу какой-нибудь компании средний палец, об этом будут помнить десятилетиями. Неважно, стоит оно того, или нет.

Боб: Хочешь ещё что-то сказать, публично или как-то по-другому?

Линус: Ну, у меня никогда не было какого-то «послания», которое я хотел бы распространить, так что…

Роберт Янг, и чем он занимался последние 25 лет
Янг закончил Университет Торонто в 1976 году по специальности «историк», и устроился продавцом пишущих машинок. В 1978 году основал свою первую компанию, и провёл 15 лет в Канаде во главе двух компаний, сдававших компьютеры в лизинг. Вторую компанию он продал более крупной компании, из-за которой в 1992 году он переехал в Коннектикут, чтобы открыть там представительство в США. Вскоре после этого новая компания столкнулась с финансовыми трудностями, известными, как банкротство, и Янгу пришлось работать из шкафа для рукоделия его жены.


Роберт Янг

Хотя это напрямую способствовало основанию Red Hat в 1993-м совместно с Марком Юингом, молодым программистом из Северной Каролины. Молодые люди влюбились в свободный софт, сегодня известный, как ПО с открытым кодом – Юинг, поскольку он мог заниматься инновациями при помощи этого ПО и лицензии, позволявшей это делать, а Янг, поскольку он понимал, насколько лучше будет клиентам работать с открытой технологией по сравнению с закрытыми технологиями, бывшими в то время в ходу. Янг выполнял роль директора компании, потом после выхода на биржу в 1999 стал председателем совета директоров, а директором стал гениальный Мэттью Шулик, и они превратили Red Hat в отличный бизнес. Сейчас компания входит в список S&P 500 – индекс крупнейших публичных компаний США

Оставить комментарий