Торвальдс: ниспровергатель Solaris
Стивен Шанкленд (Stephen Shankland)
Когда-то Линус Торвальдс успешно сплотил тысячи программистов для создания Linux - операционной системы, от конкуренции которой сильнее всего пострадала система Solaris компании Sun Microsystems.
Теперь этот старый конкурент повернулся к Торвальдсу и его союзникам другой стороной. Sun превратила Solaris в проект open source. Вдобавок компания создает вокруг Solaris собственное сообщество программистов и в то же время ведет разработку операционной системы для широкораспространенных компьютеров с процессорами х86, такими как Intel Xeon.
Но 34-летний финский программист не беспокоится по этому поводу, называя Solaris на платформе х86 «анекдотом».
Торвальдс несколько лет был сотрудником компании Transmeta, разрабатывающей процессоры, которая сейчас пребывает в плачевном состоянии. Теперь он обосновался в штате Орегон и работает в Open Source Development Labs, откуда «в обозримом будущем» уходить не намерен.
Сейчас Торвальдс вместе со своим соратником и заместителем Эндрю Мортоном реорганизует процесс разработки Linux, заменяя массивные капитальные обновления, разрабатываемые по несколько месяцев, частым внесением мелких изменений в существующее ядро Linux 2.6.
В интервью CNET News.com Торвальдс рассуждает о Solaris, о своем импровизаторском подходе к программированию и о других предметах.
Что вы думаете по поводу того, что Sun делает в Solaris 10: технологические усовершенствования, открытый исходный код, переход на чипы х86 и все такое?
Я занимаю по отношению к Sun глубоко выжидательную позицию. Они любят много говорить. Я подожду реальных действий.
Но они, кажется, уже кое-что сделали. Воскресили версию для х86 и добавили несколько интересных функций - например, контейнеры, DTrace и ZFS, - которые уже доступны в бета-версиях Solaris 10. И активно привлекают на свою сторону разработчиков и софтверные компании. Еще они объявили, что окончательная версия Solaris 10 на платформе x86 будет бесплатной. Что вы думаете по поводу проекта х86 и новых функций Solaris?
Solaris/x86 - это самый свежий анекдот. Там очень мало поддержки для чужого оборудования. Если жалуются, что у Linux есть проблемы с наличием драйверов для некоторых устройств, то что говорить о Solaris/x86?
Стив Миллз из IBM сравнил план разработки Linux с восьмиполосным шоссе: если посмотреть, куда направляется Unix, то становится ясно, куда должна следовать Linux. Прокладывает ли Linux свой собственный путь, или же просто движется в русле технологии Unix?
Я сторонник проверенных концепций. Своим кумиром, будь он у меня, я выбрал бы сэра Исаака Ньютона, отчасти потому, что это, несомненно, один из величайших ученых в истории; но может быть, даже еще больше за его знаменитое высказывание: «Если я видел дальше других, то только потому, что стоял на плечах гигантов».
Пусть в реальной жизни сам Ньютон был не очень симпатичным человеком, но по-моему, это высказывание характеризует науку. И движение open source. Все дело в том, чтобы стоять на плечах гигантов и вносить постепенные усовершенствования в концепции и идеи других.
По-моему, стараться изобрести нечто принципиально новое только ради самой новизны - верх глупости и зазнайства. Linux добилась больших успехов именно потому, что не выплеснула младенца вместе с водой, как многие другие проекты. Синдром ИНЗ (изобретено не здесь) - это болезнь.
Какие мифы или заблуждения по поводу Linux вы считаете особенно обидными?
Меня не так легко расстроить, поэтому я не могу назвать что-то особенно обидным. Один миф, который мне кажется интересным, но который не относится непосредственно к Linux и даже к ИТ-сектору, заключается в том, что один человек или компания может оказать гигантское влияние на рынок. Заблуждение, что события происходят потому, что какой-то мудрец так «спланировал». Иногда такими мудрецами люди считают себя, и тогда заблуждение превращается в спесь.
Мне приходится постоянно объяснять, что я ни в коем случае не «управляю» тем, что происходит с Linux. Здесь играет роль не столько конкретный лидер, сколько среда, способствующая разработке. И мне кажется, что это справедливо в большинстве случаев, будь то «великий спортивный тренер» или «великий духовный вождь».
Я всегда скептически относился к теории о роли личности в истории, хотя великие люди, конечно, были. С другой стороны, вы явно обладаете большим влиянием на Linux, а Linux заметно влияет на компьютерную индустрию. Сделала ли вас Linux более скромным, или, наоборот, увеличила ваше эго?
Ну, во-первых, мое эго не было таким уж маленьким, но Linux, конечно, абсолютно не сделала меня более скромным. Она лишь заставила меня осознать, как сильно инициаторы и активисты на самом деле зависят от той среды, в которой они находятся или которая образуется вокруг них. Это еще не делает меня скромным, но во всяком случае, я надеюсь, помогает мне более трезво смотреть на вещи.
И я бы не сказал, что личность совсем ничего не значит. Кое-что значит, и я очень даже верю в теорию, что целеустремленный и умный человек может сделать больше, чем тысячи других. Но гораздо важнее любой личности среда, поддерживающая выдающихся людей. О Linux я могу сказать, что нам удалось добиться реальных успехов в создании условий, позволяющих людям проявить свой талант.
Когда Sun выпустит Solaris в форме ПО с открытым исходным кодом, вы станете ее изучать?
Скорее всего, нет. Не из враждебности, а просто потому, что у меня нет времени, и мне это не интересно. Linux никогда не равнялась на «других», она стремится стать лучше сама, так что у меня нет причин заниматься Solaris. Я уверен, что если там будет нечто выдающееся, то люди не замедлят сообщить мне об этом.
Но раз вам нравится стоять на плечах гигантов, ведь и в Solaris могут быть какие-то полезные идеи. Зачем же их игнорировать?
Я не думаю, что там осталось что-то стоящее после того, как я извлек общие принципы из Unix. Я считаю, что Linux на сегодняшний день - система, лучшая во всех отношениях.
Но еще важнее то, что если я ошибаюсь, ничего страшного не произойдет. Люди, знающие Solaris лучше меня, скажут мне и другим о тех преимуществах, которые там есть. А выискивать их мне самому - пустая трата времени.
Предположим, что через несколько лет Linux победит на рынке другие версии Unix. Где вы будете тогда черпать идеи?
До сих пор я не ощущал недостатка в идеях. Только они приходят не из других систем, а от пользователей. Люди редко говорят: «Мне нужно, чтобы Linux делала то-то, потому что это делает Unix», - и вообще я не верю в этот аргумент. Скорее, проблемы, возникающие у пользователей, можно представить так: «Мне нужно сделать то-то, но я не знаю, как». Или: «Я мог бы сделать вот так, но этому мешает то-то». И именно отсюда происходят идеи.
Как много времени у вас уходит на оперативное и на долгосрочное планирование? Мне кажется, что вы больше склонны к импровизации, действию под влиянием момента, а не к построению грандиозных планов на пятилетку.
Да. Я действительно не умею планировать.
Все свои долгосрочные задачи я нечетко, «интуитивно» ощущаю, но словами выразить не могу. Я стараюсь избегать постановки слишком конкретных перспективных задач и больше полагаюсь на общее ощущение того, что такое хорошо и что такое плохо. Кто-то может посчитать это отсутствием целеустремленности - да так оно и есть. С другой стороны, это очень гибкий подход, и именно потому, что я не ставлю перед собой определенную цель на пять лет вперед, я не теряю из вида проблем, которые люди испытывают сегодня, и не игнорирую чужих идей.
Люди, которые носятся с большой идеей, бывают интересными, но часто немного пугают. В списке почтовой рассылки по ядру я то и дело призываю (в разных вариантах) к тому, чтобы не пытаться переделывать мир, а вносить в него мелкие усовершенствования, - крупные изменения пускай назревают сами.
Вы считаете, что проект Gnu's Not Unix (GNU) по клонированию Unix и GPL - несомненно, что это фундамент Linux, - появился бы и без большой идеи Ричарда Столлмана?
Я считаю, что он мог появиться и без него, но это все равно, что сказать: «Как бы выглядел мир, если бы не родился Х (некая великая личность)?» Он был бы другим, и то, что идеи дают очень мощный импульс, несомненно.
Почему вы не спрашиваете, а появилась бы Linux без меня? В таком виде, конечно, нет. Но вместо этого, возможно, выросла бы одна из версий BSD Unix. Или какой-нибудь другой сумасшедший студент создал бы собственную операционную систему.
Почему вы выбрали для управления распространением Linux GPL, и какие изменения вы хотели бы увидеть в следующей версии лицензии?
От лицензии мне нужны две вещи: чтобы код был доступен другим и чтобы это условие соблюдалось и для усовершенствований. И GPL всё это дает. Ни больше, ни меньше. Все остальное - туфта.
Этот подход может показаться очень простым, но даже большинство лицензий open source принципиально не отвечает моим критериям. Обычно они позволяют кому-то тем или иным способом ограничивать доступность усовершенствований.
В своем нечетком, нераспланированном мире я не слишком беспокоюсь о следующей версии GPL. Я не юрист, и меня не интересуют точные формулировки. Единственное, что мне не нравилось в GPL, - как много понадобилось слов, чтобы высказать очень простую мысль. Похоже, это общая беда всех юридических документов.
Как меняется процесс разработки ядра?
Главное изменение, пожалуй, состоит в том, что я собирался открыть дерево 2.7 (новую экспериментальную версию, ответвляющуюся от современной версии 2.6, - прим. ред.), но отказался от этой идеи. Никто с этим особенно не спорил. Напротив, бытует довольно распространенное мнение, что модель разработки текущей версии 2.6.х работает очень хорошо.
Это не означает, что 2.7.x не будет - вероятно, она появится в ближайшие месяцы, - но то, что стабильные ветви начинают заслонять экспериментальные, факт. По-моему, это указывает как на зрелость операционной системы, так и на то, что стабильные версии настолько важны для очень большого числа людей, что их теперь не так просто оставить позади.
Означает ли новый процесс, что теперь усовершенствования в Linux будут вноситься быстрее?
Именно. Это одно из преимуществ данной модели - значительно меньшая задержка нововведений. Двухлетний цикл разработки всегда не любили, так как всю ту работу, которую мы проделывали, чтобы закончить 2.6.x, приходилось портировать назад, на 2.4.x, потому что поставщики просто не могли ждать.
Какие изменения считаются достаточно радикальными, чтобы начать дерево 2.7?
Я сказал бы вам, если бы знал. Обычно вопрос ставится так: «Нужно ли нам менять что-то настолько фундаментально, что те функции, которые от этого зависят, уже нельзя будет считать работающими по-старому?» Во всех предыдущих циклах разработки были принципиальные проблемы, которые нужно было решать, но в тех частях, которые использовали эту центральную инфраструктуру, радикальные изменения привели бы к хаосу.
Как много разработчиков, по вашей оценке, трудится над Linux сегодня? Я полагаю, что основной вклад в создание кода вносит небольшая часть этих людей.
Да, существует значительный перекос. Над ядром работает пара сотен особенно активных программистов. В журнале изменений за прошлый год значится около тысячи имен, но участие многих из этих людей было очень поверхностным. При этом большая часть разработчиков, которые осуществляют тестирование и контроль качества и присылают свои замечания, вообще не учитывается.
Что вы думаете о растущем значении на Linux-рынке Red Hat и Novell? Составляет ли проблему, что Linux все чаще ассоциируется у заказчиков не с вами, а с ними?
Эх. Да чем меньше мне приходится иметь дело с заказчиками, тем лучше. Я всегда чувствовал, что самый большой вклад, который могут внести коммерческие поставщики, заключается именно в том, что они играют роль интерфейса между заказчиками и разработчиками, а также обеспечивают равновесие между чисто техническими вопросами и чисто маркетинговыми. И движение open source благодарно им за это.
А вам не кажется, что поездом Linux управляют продавцы, а вы все больше превращаетесь в пассажира?
Нет, не кажется. Я думаю, что и поставщикам так не кажется. Но они определенно вносят большой вклад. Так и должно быть: важно всем чувствовать себя участниками процесса… Если кто-то считает другого пассажиром, это плохо для всех.
Что сдерживает распространение Linux на ПК - технические проблемы или слабый маркетинг?
И то, и другое. Технические проблемы заключаются в том, что нужно усовершенствовать много разных деталей, проблема маркетинга/восприятия тоже есть, но самая большая проблема - это «инерция пользователя».
Люди обычно держатся за то, к чему они привыкли, и это, по-моему, в последний год или около того является главным сдерживающим фактором. И чем дальше, тем больше - то есть технология есть, но люди морально не готовы к переходу. Вот почему я считаю важными коммерческие настольные системы: они приучили людей к DOS (а позднее к Windows), и они же приучат их к более разнообразным десктопам. Но на это уйдут годы.
|