Интервью 25 августа 1991 года Линус Торвальдс, в то время студент Хельсинкского университета в Финляндии, отправил сообщение в группу новостей comp.os.minix с просьбой предложить функции для бесплатной Unix-подобной операционной системы, которую он разрабатывал в качестве хобби.
Тридцать лет спустя это программное обеспечение, известное теперь как Linux, повсюду.
Он доминирует в мире суперкомпьютеров со 100-процентной долей рынка. По данным Google, ядро Linux лежит в основе более трех миллиардов активных устройств под управлением Android, самой используемой операционной системы в мире.
Linux также поддерживает подавляющее большинство веб-серверов, исследованных Netcraft. Он даже используется больше, чем Microsoft Windows в собственном облаке Microsoft Azure. А еще есть встраиваемая электроника, Интернет вещей и другие области.
Linux не смог завоевать популярность среди обычных пользователей настольных компьютеров, где его рыночная доля составляет около 2,38%, или 3,59%, если включить ChromeOS, по сравнению с Windows (73,04%) и macOS (15,43%).
Но важность Linux больше связана с триумфом идеи: бесплатного программного обеспечения с открытым исходным кодом.
«Невозможно переоценить, насколько важен Linux для сегодняшней интернет-экосистемы», – сказал Киз Кук, инженер по безопасности и ядру Linux в Google. по электронной почте. «В настоящее время Linux работает на всем, от смартфона, на который мы полагаемся каждый день, до Международной космической станции. Полагаться на Интернет – значит полагаться на Linux».
По словам Кук, следующие 30 лет Linux потребуют от технологической индустрии совместной работы над безопасностью и предоставления дополнительных ресурсов для обслуживания и тестирования.
Его первые 30 лет в ретроспективе более очевидны, но прошлое все еще требует некоторой интерпретации. Так попросил Грега Кроа-Хартмана, сотрудника Linux Foundation, который курирует стабильные выпуски ядра Linux, объяснить, что только что произошло и к чему все это идет.
: Linux сейчас около 30 лет, и, насколько я понимаю, вы работаете над ядром более 20 лет. Если посмотреть на первоначальные амбиции проекта и текущие цели, что изменилось больше всего и почему?
GK-H: Первоначальная «цель» «предоставить каждому работающее ядро, работающее на любом оборудовании», похоже, по-прежнему является нашей текущей целью, в ней мало что изменилось 🙂
Кроме того, у нас была непростая цель – «мировое господство», и это действительно произошло, поэтому наша задача – поддерживать ее 🙂
Серьезно, мы все просто хотели создать ядро, которое работало бы на нас и на других, чтобы выполнять свои настоящие задачи. Это то, чем мы занимаемся сегодня и будем делать завтра. Это не волшебство или что-то особенное, но это то, что нам нравится делать.
: Какие уроки проект Linux может предложить другим проектам с открытым исходным кодом?
GK-H: Сосредоточьтесь на технологиях и предоставлении решения, полезного для людей. Но это не большой секрет, все знают, как мы делаем свою работу, ведь все открыто 🙂
: Что было самой большой проблемой для проекта и как с ней справились специалисты по обслуживанию ядра?
GK-H: На протяжении многих лет у нас было множество проблем, в основном все из-за того, как наша модель разработки должна была измениться с увеличением числа разработчиков и пользователей. Мы постоянно обсуждаем, как продвигается наш текущий процесс и что можно сделать, чтобы улучшить его, внося множество небольших изменений за эти годы, которые в то время не кажутся большими, но в долгосрочной перспективе очень помогли.
Такие вещи, как переход к модели выпуска релизов, основанной на времени (каждые 2 1/2 месяца), и постоянное поддержание стабильности каждого выпуска, а также наличие стабильных ядер, содержащих только исправления, которые находятся в текущем дереве, – это способы, которые мы изменили, чтобы оба разработчика проще жить, как и пользователям ядра и компаниям, которые хотят использовать Linux в своих устройствах.
: Как продвигается изучение Rust в ядре, учитывая его интеграцию на данный момент? Происходит ли его внедрение в ядро быстрее или медленнее, чем ожидалось, и что должно произойти дальше, чтобы большая часть ядра была переписана на Rust? Это вообще цель, или это полностью новый код на Rust?
GK-H: Взгляни на [this summary of the latest kernel developer thread about Rust], и исходная цепочка писем, на которую есть ссылка на этой странице, для получения более подробной информации по этой теме, чем вы могли себе представить. Также см. «Здесь существующий драйвер на C, преобразованный в Rust, как пример того, как все это может работать», что является отличным доказательством правильности концепции для некоторых из затронутых здесь проблем.
Как видите, идея внедрения нового языка с другими правилами времени жизни в ядро, которое уже имеет набор существующих правил времени жизни, будет, мягко говоря, сложной.
При этом разработчики, работающие над этим, добиваются больших успехов, но, в конце концов, мы узнаем, работает ли это, только если они объединят свой код. До этого еще далеко, но они приближаются.
Что касается «медленнее или быстрее», чем предполагалось, то здесь никто ничего «не ожидал». У разработки ядра нет сроков, мы объединяем код «когда он будет готов», и иногда это может занять некоторое время, исходя из всех задействованных проблем. Для чего-то вроде этого это сложная вещь, и, конечно же, на это потребуется время. Не знаю, когда это будет, слишком много неизвестных, чтобы можно было когда-либо догадаться.
А что касается цели переписывания вещей, нет, прямо сейчас цель состоит в том, чтобы просто написать новый код на Rust, если это вообще возможно. Замена существующего кода не входит в планы этих разработчиков, как говорится в их объявлениях. Но это не означает, что после объединения поддержки замена существующего кода C станет невозможной, но это вовсе не изначальная цель.
: Есть ли какие-либо серьезные предстоящие проблемы, которые, как вы ожидаете, необходимо будет решить? (С точки зрения эволюции архитектуры микросхем, возникающих вариантов использования, организационных изменений и т. Д.)
GK-H: На самом деле мы не планируем будущее, мы реагируем только на то, что нам дается, изменениями в коде или аппаратной архитектуре, поэтому мы будем обрабатывать эти изменения так же, как и в прошлом.
: Почему Linux добился успеха?
GK-H: На эту тему писали тезисы. Думаю, я слишком близок, чтобы ответить на него беспристрастно. Есть несколько вещей, которые, по моему мнению, могут быть причиной, но другие могут не согласиться, поэтому я позволю всем остальным спорить об этом, пока я вернусь к работе, просматривая код, который люди отправляют нам.
: Будет ли создано еще одно ядро в стиле Linux, большое, широко распространенное ядро с открытым исходным кодом, созданное в результате совместных усилий? Например, написание полноценного веб-браузера с нуля кажется неразумным и непрактичным. Относится ли то же самое к Linux? И как это влияет на направление развития ядра?
GK-H: Никто бы не подумал, что можно было бы создать второй браузер с открытым исходным кодом, и все же это было так. Кто знает, может ли то же самое случиться и с ядром операционной системы?
: Видят ли разработчики Linux какие-либо другие технологические проекты в свете конкуренции? (например, усилия Google Fuchsia) Если нет, то почему? И если да, то как это влияет на решения?
GK-H: Я хотел бы получить настоящую конкуренцию в ядрах операционных систем. Мы потеряли несколько хороших циклов обратной связи, когда работали с разработчиками ядра BSD в прошлом, поскольку большинство из них перешли на работу в Apple и исчезли. Некоторые идеи в Fuchsia выглядят интересно, и я поговорил с разработчиками о некоторых из них.
Я бы хотел реальной конкуренции в ядрах операционных систем
Приятно то, что если какие-то хорошие идеи возникают из других проектов, и они имеют смысл и для Linux, мы можем добавить их в Linux, приспособив их в наш проект по мере необходимости. Не то чтобы мы все работали в вакууме идей, у большинства разработчиков ядра есть множество вещей, которые они хотели бы изменить, добавить и улучшить, если только мы сможем выделить для этого время.
: Неужели на разработку Linux больше влияют геополитика / национализм, чем раньше? Если да, то как?
GK-H: С какими временными рамками вы сравниваете сегодня прошлое? Как далеко ты хочешь зайти? Linux всегда был глобальным проектом, мы принимаем изменения от кого угодно и где угодно. Нам не важно, в какой стране вы живете или в какой компании вы работаете, и нас не заботит. Это не изменилось, и я не думаю, что когда-либо изменится.
У нас действительно больше разработчиков из большего количества разных стран и компаний, чем когда-либо прежде, но с самого начала это число только увеличивалось из-за множества различных причин и программ охвата, которые компании и организации проводили в прошлом.
: Что Linux значит для вас лично?
GK-H: Это забавный проект, который начинался как хобби, в которое мне нравилось участвовать, и который превратился для меня в оплачиваемую работу за последние десятилетия. Это позволило мне путешествовать по миру и заводить замечательных друзей, а также позволило создать множество удивительных и безумных проектов, которые никогда бы не были реализованы без него. Работать над этим по-прежнему очень весело, и мне очень повезло быть частью этого. ®