Интервью с Энди Таненбаумом

Впервые личность Энди Таненбаума меня заинтересовала после прочтения книги Линуса Торвальдса и Дэвида Даймонда "Just for Fun...". Казалось бы, что в нем такого интересного? Однако именно Энди Таненбаум создал систему MINIX, которая отложила отпечаток на всю деятельность Линуса, и именно Энди Таненбаум стал первым суровым критиком идеи молодого финна - Linux.

Об истории Linux написано немало статей (не будет преувеличением сказать, что почти каждая книга по UNIX уделяет минимум одну главу этой "сладкой" теме). Сегодня старые пересказывают молодым, молодые читают в Интернет... Мы не будем повторяться - интерес лишь представляет тот первый жаркий спор, который произошел между Энди Таненбаумом и Линусом Торвальдсом давным-давно, в 1992 году. Исторически будет верно назвать это первым боевым крещением Linux, ведь обсуждали ее не просто всенародно - с автором спорил сам Таненбаум, фигура знаковая и авторитетная.

С полным текстом всегда можно ознакомиться по адресу: http://groups.google.com/groups?threadm=12595%40star.cs.vu.nl. Энди тогда начал довольно лениво: "Я провел пару недель в США, так что не успел выразить свое мнение о Linux... но сейчас мне есть, что сказать...". И поехало! Кто не читал, обязательно почитайте!

С тех пор утекло много воды, но Linux по-прежнему вызывает массу споров. И это не только концепция монолитного ядра, реализованная Линусом и так не понравившаяся Энди. Сегодня это еще и название системы (думаю, вы читали эксклюзивное интервью Ричарда Столлмана, которое он дал нам недавно), а также раскол несобственнического сообщества на приверженцев открытого исходного кода и чисто свободного программного обеспечения. Сегодня СМИ довольно часто публикуют интервью с Линусом (Линус сказал то, Линус сказал это), не "слезает" со страниц онлайновых изданий и Ричард Столлман. А вот мнением Энди Таненбаума почти никто не интересуется. Мы решили восполнить этот пробел и публикуем эксклюзивное интервью с Энди на наших страницах.


TanaT: Энди, расскажите немного о себе.

Энди Таненбаум: Я родился в Нью-Йорке. Учился в средней школе в Уайт Плейнс (White Plains), штат Нью-Йорк. После школы я поступил в Массачусетский технологический институт и закончил его по специальности физика. Но во время первого года обучения в здании физического факультета я обнаружил компьютер PDP-1. Я научился программировать его на ассемблере и провел сотни часов за этим занятием. Докторскую степень я получил в Беркли, там у них стояли CDC 6400 и CDC 6600. На этих компьютерах я тоже проработал огромное количество времени. Только став доктором физических наук, я осознал, что хочу заниматься вычислительной техникой. Хотя в любом случае, во времена моего пребывания в МТИ там еще не было специальности "computer science". Так что получить ученую степень по ней было бы невозможно при всем моем желании.


Энди Таненбаум - создатель MINIX и многого другого. А вообще - просто интересная личность

TanaT: Где вы сейчас работаете и чем занимаетесь?

Энди Таненбаум: Я являюсь профессором в Университете Врие (Vrije Universiteit), Амстердам, Нидерланды. После получения степени доктора я переключил свое внимание на компьютеры. Я знал, что не смогу найти работу в США, потому что любой, посмотрев на мой диплом, скажет: "Да он - физик!". Я предположил, что в Европе люди не поймут разницы, и оказался прав. Я разослал письма во все компьютерные центры мира и получил целую гору ответов. Я выбрал Амстердам. Здесь я и до сих пор.
Я занимаюсь исследованиями портативных компьютеров, локальных операционных систем, целого ряда распределенных систем. Но в данный момент мои интересы лежат в сфере безопасности, особенно, что касается Интернет и "повсеместных" систем (ubiquitous systems).


TanaT: Что вы понимаете под "ubiquitous systems"?

Энди Таненбаум: Многие люди уже сейчас носят с собой 5 или 6 компьютеров: лэптоп, PDA, компьютер в часах и мобильном телефоне, а также в кредитной карточке и т.д. Обычная машина имеет около 50 компьютеров внутри. Вообще говоря, весь наш быт (телевизоры, микроволновые печи, радио в часах, большинство игрушек, медицинские устройства и т.д.) состоит из компьютеров. В будущем эти устройства смогут разговаривать со своим владельцем и по беспроводной связи между собой. Это и называется повсеместной системой - когда компьютеры просто везде. Я же изучаю такие проблемы, как аутентификация, управление приватностью и т.п. В такой среде эти задачи имеют множество особенностей. Многие компьютеры обладают существенными ограничениями, например, не имеют часов или работают не постоянно. Они маленькие и медленные, что затрудняет использование криптографии. До сегодняшнего дня никто не смотрел на эти устройства под таким углом зрения: после того как вы 100 раз зашифруете что-нибудь с открытым ключом, у прибора сядет батарейка и система выйдет из строя.


TanaT: Какие курсы вы читаете в Университете Врие?

Энди Таненбаум: Строение компьютеров, операционные системы, сетевые технологии.


TanaT: Вас действительно можно считать экспертом в операционных системах, сетевых технологиях и распределенных вычислениях. Честно говоря, это довольно разные и очень широкие области. Как вы приобрели свои знания во всех них сразу?

Энди Таненбаум: Я слушал много компьютерных курсов в МТИ и в Беркли. Но большую часть знаний я приобрел, прочтя огромное количество книг и научных статей, а также из бесед с людьми, которые действительно что-то знают о предмете.

От автора. У читателя, возможно, возник вопрос: "А откуда вы знаете, в каких областях Таненбаума можно считать экспертом?". В ответ: мы отсылаем вас на авторскую страничку Энди (http://www.cs.vu.nl/~ast/), там среди прочего вы найдете не только список книг Таненбаума, но и длинный список аспирантов (одни из них уже защитили докторские, другие - в процессе). Напротив каждой фамилии стоит и тема докторской. И должны вам со всей уверенностью заявить: нельзя быть научным руководителем "такого огромного числа" по таким серьезным темам и, одновременно, не разбираться в последних очень глубоко. Кстати, Энди Таненбаум ищет "Ph.D. Students" (аспирантов по-русски). Новый набор. Если вы чувствуете в себе силы и желание заниматься распределенными вычислениями, проектированием операционных систем или безопасностью, а также хорошо знаете английский или немецкий (в Нидерландах говорят на языке, очень на него похожем), то посетите страницу Энди, а потом - напишите ему письмо.


TanaT: Вы написали много книг. Среди них "Операционные системы: проектирование и реализация" и "Современные операционные системы". В чем разница?

Энди Таненбаум: Первая включает сотни страниц кода MINIX и их детальное обсуждение. Вторая - нет, в ней большое внимание уделяется другим темам, например, мультимедиа. Первая книга подходит для практических занятий, когда надо что-то делать "руками". Вторая же рассчитана на курс лекций с небольшим количеством лабораторных работ.


TanaT: Кстати, как вы относитесь к современным операционным системам. Со времен создания MINIX они шагнули далеко вперед. Может вам нравится какая-то одна?

Энди Таненбаум: Я изначально предпочитаю любую версию UNIX любой версии Windows. Я думаю, что сегодня людям надо прекратить писать новые ядра. Следует заняться хорошим прикладным программным обеспечением. Оно просто необходимо! Например, ни для одной версии UNIX вы не найдете хоть что-нибудь хотя бы близкое к Photoshop или Premiere. Единственное приятное исключение сейчас составляет Mac OS X.


TanaT: У вас нет никаких претензий к структуре современных операционных систем, их дизайну? Некоторые, например, критикуют Windows. У вас есть своя точка зрения по этому вопросу?

Энди Таненбаум: Windows просто огромна и полна багов. На рынке честном по настоящему она никогда бы не выжила.

От автора[/I]. Думаю, не лишним будет напомнить, что мнение интервьюируемого может отличаться от мнения автора статьи, которое в свою очередь может не совпадать с мыслями редакции и руководства. Это именно тот случай: Энди довольно резко относится к тому, что ему не нравится. Это может быть концепция монолитного ядра, лицензия GNU или Windows. Это также может быть Ричард Столлман или Линус Торвальдс. Хотя мы не знаем, какие у них взаимоотношения. Здесь же автор статьи и редакция считают, что Windows XP - отличная операционная система для домашних пользователей. Конечно, в ней есть недочеты, но слов "огромна и полна багов" она явно не заслуживает. Факты утверждают обратное: если пользователь следит за ОС и во время ставит "заплатки", он редко испытывает проблемы с безопасностью.


TanaT: Вы соответственно используете в работе UNIX, а не Windows?

Энди Таненбаум: Именно UNIX.


TanaT: Ваше пристрастие к UNIX связано с открытостью исходного кода многих ее версий?

Энди Таненбаум: Мне совершенно все равно - открыт код или нет. Это меня не касается ни с какой стороны. Даже если бы Windows была системой с открытым исходным кодом, а UNIX, по-прежнему, - секретом AT&T, я бы в любом случае выбрал UNIX. Она просто лучше.


TanaT: Вы говорите: "Windows просто огромна и полна багов". Говоря о размере, большинство дистрибутивов Linux намного больше Windows (примерно 1,5 Гб против 1 Гб). А если обратить внимание на баги, то согласно статистике CERIAS сегодня в Linux обнаружено больше уязвимостей, чем в Windows (статистика за последние три года). Windows по-прежнему является самой популярной и широко используемой системой в мире. Что скажете?

Энди Таненбаум: Я не верю этому. Каждый день вы можете читать о новых вирусах, использующих ту или иную дыру в Windows. Вирусы же, использующие ошибки в коде, например, BSD, сегодня просто редкость. Огромное число людей говорит на китайском языке. Таких людей больше, чем разговаривающих на любом другом языке. Значит ли это, что китайский проще в изучении? Более лаконичный и красивый? Более выразительный? Сомневаюсь. Microsoft проделала отличную работу, продавая Windows и нарушая закон (что зафиксировано судом США). Это не убеждает меня в том, что Windows - хорошая система в каком-либо смысле.


TanaT: Как часто вы пишите код?

Энди Таненбаум: Не часто. Лишь небольшие программки и скрипты, чтобы решать возникающие насущные проблемы.


TanaT: Вы написали свою операционную систему - MINIX. Это было сделано только с образовательной целью?

Энди Таненбаум: В основном, да. Мне нужно было что-то, чтобы учить студентов. Я ожидал, что BSD станет именно той свободной системой, которой в тот момент так не хватало. Но AT&T затянула судебный процесс на несколько лет. Именно в то время и появился Linux. Если бы не эта судебная тяжба, Linux никогда не увидел бы света и BSD, которую к тому моменту уже 10 лет отлаживали и доводили до ума профессионалы, сейчас была бы куда более популярна.

От автора. Если вам интересно побольше узнать о MINIX, попробовать ее на вкус или просто повысить свой уровень образования, то заходите сюда: http://www.cs.vu.nl/~ast/minix.html. Подробнее вы вряд ли что-нибудь найдете.
Если у вас проблемы с английским (техническим английским) или просто "лень напрягаться", с самой общей информацией по MINIX на русском языке можно ознакомиться здесь: http://www.nvkz.kuzbass.net/gazzzeta/htm/172.htm.


TanaT: А как вы считаете, много лет назад MINIX и Linux были конкурентами?

Энди Таненбаум: Не знаю. MINIX с самого начала своего существования был очень популярным. В течение месяца появилась новостная группа из 40 тыс. читателей (не забывайте, что в то время Интернет насчитывал намного меньше людей, чем сейчас, наверное, в десять раз меньше). Люди просили меня добавить и такую возможность и такую, но я отказывался - я ждал, что вот-вот появится BSD, которая станет полноценной и высокопроизводительной системой. Но судебная тяжба AT&T отложила этот момент на несколько лет. Между тем, один из пользователей MINIX, Линус Торвальдс, использовал саму MINIX в качестве платформы для разработки и исследований. Вы легко найдете влияние MINIX на Linux повсеместно. За исключением нескольких важных деталей. MINIX использует микроядро, Линус же вернулся к монолитному ядру. Тогда я думал, что это ошибка. Я и сейчас так думаю. Наука прогрессирует, если люди идут вперед и совершенствуют то, что уже есть. А не возвращаются назад.


TanaT: Почему с таким недоверием относитесь к монолитному ядру?

Энди Таненбаум: Понимаете, микроядро очень маленькое. Вполне вероятно, что его можно создать абсолютно корректным. А ядро, состоящее из миллионов строк, никогда не будет корректным. К тому же микроядро предлагает ряд таких возможностей, как модульность, изоляция ошибок и т.д.


TanaT: Какие у вас отношения с Линусом Торвальдсом?

Энди Таненбаум: Я видел его однажды в течение пяти секунд. Его выступление было главным на конференции ACM (Association for Computing Machinery - Ассоциация по Вычислительной Технике). Всех присутствующих его выступление ввело в замешательство - он не сказал ничего нового. После речи я подошел и кратко поздоровался с Линусом. Вот и все.


TanaT: Сегодня много разнообразных движений и лицензий. Отсюда и конфронтации между Free Software, Open Source и Proprietary Software. Вам импонирует какая-нибудь из сторон?

Энди Таненбаум: Если говорить о лицензиях, то я предпочитаю лицензию Беркли. MINIX распространяется именно под ней. У компаний очень много проблем лицензией GNU. Например, если корпорация инвестирует несколько миллионов долларов на усовершенствование какой-нибудь свободной программы, вполне логично, что она не захочет делиться исходным кодом с конкурентами. Лицензия Беркли позволяет вам делать со своим исходным кодом все, что угодно. Нет никаких ограничений. Думаю, это намного лучше.


TanaT: То есть, вас не прельщают идеалы Free Software?

Энди Таненбаум: MINIX распространяется под лицензией Беркли. Каждый может делать с ней, что хочет. По-моему, это намного лучше и свободнее, чем лицензия GNU, которая, кстати говоря, еще длиннее, чем лицензия Microsoft.


TanaT: А с Ричардом Столлманом вы знакомы?

Энди Таненбаум: Однажды я получил электронное письмо от него. Он хотел, чтобы моя система Amoeba (Амеба) распространялась под лицензией GNU. Я сказал, что он может использовать ее свободно, но без лицензии GNU. Ричард очень разозлился. Но мне все равно.


TanaT: Как вы относитесь к названию системы Linux? Ричард Столлман, например, считает, что система должны называться "GNU/Linux". Ведь исторически "Linux" - лишь ядро.

Энди Таненбаум: У Ричарда Столлмана слишком большое самомнение.


TanaT: Какие языки программирования вы знаете?

Энди Таненбаум: Знаю много, но предпочитаю C.


TanaT: Как вы относитесь к сегодняшней проблеме номер один - спаму? Он всем порядком надоел.

Энди Таненбаум: Чтобы не происходило, лучше бы спама не было. Больше всего меня волнует в данном случае активное содержимое таких писем. Вы щелкнули на прикрепленном файле и все - программа запустилась. Это очень опасно. Нужно обезопасить сообщения от таких вложений.


TanaT: Будущее сферы IT можете спрогнозировать?

Энди Таненбаум: Будущее - светлое. Даже несмотря на кризис "dot com".


TanaT: Хотите сказать что-нибудь нашим читателям напоследок?

Энди Таненбаум: Что ж, обращусь к разработчикам и программистам. Главное - это простота. Её нужно учитывать еще на этапе проектирования. Не добавляйте ненужные возможности, о которых никто не просил. Примерно 99% пользователей будут только страдать от такого переизбытка.
Несколько лет назад я приобрел "навороченный" телефон. Со старым телефоном все было просто: вы поднимаете трубку и набираете. Проще некуда. С новым телефоном я мог удалять сообщения на автоответчике удаленно, я мог также ограничить доступ к этой информации паролем. Но я так и не разобрался, что надо делать, чтобы просто позвонить. Я сдал телефон обратно.
Простые вещи должно быть просто делать. Но многие разработки, и аппаратные и программные, нарушают это требование. Я думаю, что пользователи Apple любят свой "родной" интерфейс именно поэтому: он очень прост в использовании.


TanaT: Энди, спасибо, что уделили нам время.


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