Спор Таненбаума — Торвальдса

Спор Таненбаума — Торвальдса

Спор Таненбаума — Торвальдса

Спор Таненба́ума — То́рвальдса состоялся между Эндрю Таненбаумом и Линусом Торвальдсом. Предметом спора было ядро Linux и архитектура ядер в целом. Таненбаум начал спор в 1992 году в ньюсгруппе comp.os.minix сети Usenet[1], заявив, что микроядра вытесняют монолитные ядра, и поэтому Linux устарел уже в 1992 году. К спору присоединились другие известные хакеры, например, Дэвид Миллер и Теодор Цё[2].

Благодаря категоричному тону сообщений в ньюсгруппе, спор получил характер флейма, умышленно враждебного обмена сообщениями между двумя лагерями (Linux и MINIX, иначе говоря, между сторонниками монолитных ядер и приверженцами микроядер) и был описан в таком свете в различных публикациях[3]. Сам Торвальдс также признал это в своём первом сообщении в ньюсгруппе по этому вопросу, заявив:

Я бы и рад «не проглотить наживку», но… Пора серьёзно пофлеймить![4]

К этой теме вернулись в 2006 году, когда Таненбаум написал обзорную статью в журнале «Computer» (англ.), озаглавленную «Можно ли сделать операционные системы надёжными и защищёнными?»[5]. И хотя Таненбаум лично сказал, что он написал статью не с целью возобновить спор об архитектуре ядер[6], тщательное сравнение статьи с архивной копией спора 1992 года на посвящённом технологиям сайте Slashdot вновь разожгло дискуссию[7]. Торвальдс написал на онлайн-форуме опровержение доводов Таненбаума[8], и несколько сайтов с компьютерными новостями распространили эту информацию[9]. Это побудило Джонатана Шапиро ответить, что в большинстве компьютерных систем, на практике подтвердивших свою надёжность и защищённость, используется скорее микроядерно-ориентированная схема[10].

Содержание

Спор

Схема монолитного ядра, выполняющего код ядра целиком в режиме супервизора
Доктор Эндрю Таненбаум (под ником ast в comp.os.minix)
Линус Торвальдс

Хотя спор сперва начинался довольно мягко, и обе стороны выдвигали лишь общие утверждения по архитектуре ядер, дискуссия всё углублялась и усложнялась с каждой серией постов. Помимо архитектуры ядер, спор также затронул несколько других тем, например, какая архитектура микропроцессоров вытеснит все остальные в будущем. Кроме Таненбаума и Торвальдса, в спор включились и другие люди, в том числе Питер Макдональд, разработчик ядра Linux на раннем этапе и создатель одного из первых дистрибутивов — Softlanding Linux System, Дэвид Миллер, один из главных разработчиков ядра Linux, и Теодор Цё, первый американский разработчик ядра Linux.

«Linux устарел»

Эта дискуссия поднялась 29 января 1992 года, когда Таненбаум впервые опубликовал свою критику ядра Linux в comp.os.minix, отметив, как монолитная архитектура губительна для собственных возможностей, в сообщении с заголовком «Linux устарел»[1]. Он сначала не вдавался в технические подробности для пояснения, почему он считает, что архитектура микроядра лучше. И всё-таки Таненбаум указал, что это в основном связано с переносимостью, и заявил, что ядро Linux было слишком сильно привязано к линейке процессоров x86, чтобы использоваться в будущем, поскольку эта архитектура тогда перестанет использоваться. В плане прогноза на будущее он сказал, что написание монолитного ядра в 1991 году было «гигантским шагом назад в 1970-е годы».

Поскольку критика была высказана в публичной ньюсгруппе, Торвальдс смог ответить на неё непосредственно. Так он и сделал спустя день, заявив, что в MINIX были изначальные ошибки проектирования (приведя в пример отсутствие многозадачности), и признав, что микроядерная архитектура лучше «с теоретической и эстетической» точки зрения[4]. Он также сообщил, что, поскольку он разрабатывал ядро Linux в свободное время и раздавал его бесплатно (MINIX Таненбаума не был бесплатным в то время), Таненбаум не должен препятствовать его усилиям. Более того, он подчеркнул, что разрабатывал Linux специально для Intel 80386 отчасти и из-за желания лучше изучить эту архитектуру; хотя он спорил с тем, что это сделало ядро менее переносимым по сравнению с MINIX, такой принцип проектирования был приемлем, так как это сделало интерфейс программирования приложений более простым и переносимым. Поэтому, уверял он, «линукс лучше портируем, чем миникс. [sic

Архитектура микроядра основывается на программах-серверах пользовательского режима

В ответ на высказывание Линуса Таненбаум написал, что ограничения MINIX связаны с его преподавательской деятельностью, поскольку необходимо, чтобы система могла выполняться на довольно слабом компьютере обычного студента, представлявшем собой процессор Intel 8088, зачастую даже без жёсткого диска[11].

В то время Linux был собран для Intel 80386, значительно более мощного (и дорогого) процессора. Таненбаум отдельно подчёркивает:

…год назад существовало две версии [MINIX], одна для PC (на 360-килобайтных дискетах) и одна для 286/386 (1,2 мегабайт). Продажи версии для PC превосходили версию 286/386 в соотношении 2:1.

Он утверждал, что хотя Linux и был бесплатным, он не мог стать приемлемым выбором для студентов, поскольку они не могли бы купить дорогое оборудование для его работы, в то время как MINIX можно было пользоваться «на обычном 4,77 МГц PC без жёсткого диска». На это Кевин Браун, другой пользователь группы Usenet, возразил, что Таненбауму не следует жаловаться на привязку Linux к 386 архитектуре, так как это был осознанный выбор, а не непонимание проектирования операционных систем, и сказал:

…объявленная цель разработки Linux — использование преимуществ 386 архитектуры. Так в чем же, собственно, дело? Разные цели создания архитектуры и приводят к разным архитектурам.[12]

Он также заявил, что разработка системы специально для дешёвого оборудования создаст проблемы переносимости в будущем. Несмотря на то, что MINIX не поддерживала в полной мере новое оборудование, которое поддерживал Linux, — что делало его более предпочтительным для тех людей, у кого такое оборудование уже было, — Таненбаум утверждал, что поскольку архитектура x86 в будущем уступит место новым решениям, то и проблему ему решать не надо, и пояснял:

Конечно, через 5 лет это изменится, но через эти 5 лет все будут пользоваться свободной GNU на компьютерах SPARCstation-5 мощностью 200 MIPS с памятью 64 мегабайт.

Он заявил, что ядро Linux постепенно выйдет из моды по мере развития аппаратного обеспечения, потому что это ядро очень тесно связано с архитектурой 386[11]. (См. подробные пояснения в секции «Ошибочные предсказания».)

Торвальдс попытался завершить спор на этом этапе, сказав, что ему не следовало так остро реагировать на первые высказывания Таненбаума и что он пишет тому личное электронное письмо с извинениями[13]. И всё же он продолжил спор позднее.

Последствия

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

Ошибочные предсказания

Когда проблема и весь первоначальный спор были опубликованы издательством O'Reilly Media в книге «Открытые исходники: отголоски революции открытых исходников» в 1999 году, там было написано, что этот спор — наглядный пример того, «как мир тогда относился к разработке операционных систем»[14].

Процессор 386 тогда был самым распространённым чипом (отрываясь от других моделей в несколько раз), по словам участника Кевина Брауна, 486 использовался в высококлассных компьютерах, а 286 практически устарел, и Веб ещё не использовался широко. Один из аргументов Таненбаума против Linux заключался в том, что он был слишком привязан к линейке процессоров x86, которой, по его мнению, недолго оставалось использоваться[1]. И тем не менее, по состоянию на 2009 год x86 остаётся доминирующей архитектурой процессоров в настольных компьютерах. Linux с того времени был портирован на множество других архитектур, в том числе x86-64, ARM, IA-64, 680x0, MIPS, POWER/PowerPC и SPARC.

Другая повторяющаяся тема в этом споре — альтернативы Linux и MINIX, такие как GNU и 4.4BSD. Первая из них, по мнению Таненбаума, была «современной» системой, в отличие от Linux[1]. Во втором сообщении он предположил, что

…через эти 5 лет все будут пользоваться свободной GNU на компьютерах SPARCstation-5 мощностью 200 MIPS с памятью 64 мегабайт.[11]

Некоторые участники дискуссии выразили сомнение, что GNU может быть подходящей альтернативой. Кевин Браун назвал её vaporware (англ.) (заранее популяризованное, но так и не выпущенное ПО) и заявил, что Linux, вероятнее всего, будет в выигрыше от востребованности и распространения архитектуры x86 среди широкой аудитории. Теодор Цё, разработчик Linux в ранний период, сказал, что хотя микроядра и будут иметь преимущества, «…Linux уже есть, а GNU ещё нет — и люди работают над Hurd гораздо дольше, чем Линус работал над Linux»[15]. Зная о стремлении GNU создать ядро, Торвальдс заявил: «Если бы ядро GNU было готово прошлой весной, я бы и не подумал начинать свой проект: суть в том, что оно не было готово ни тогда, ни даже сейчас»[16].

4.4BSD-Lite не была доступна в течение двух лет вследствие судебной тяжбы, связанной с интеллектуальной собственностью на UNIX, начатой подразделением AT&T Unix System Laboratories против Berkeley Software Design. Разбирательство затормозило разработку свободных дочерних веток BSD примерно на два года, пока их правовой статус был под вопросом. Поскольку у Linux не было таких юридических противоречий, системы на его основе получили бо́льшую поддержку. Мировое соглашение между двумя компаниями было достигнуто в январе 1994-го, и 4.4BSD вышла в июне. (Хотя окончательный релиз состоялся в 1995 году, было создано несколько свободных версий, основанных на ней, в том числе FreeBSD, OpenBSD и NetBSD.)

Дело Самиздата

23 марта 2004 г. Кеннет Браун, президент института Alexis de Tocqueville Institution, взял у Таненбаума интервью. Оно должно было стать вступлением к готовящемуся изданию книги Брауна под названием «Самиздат и другие вопросы источников открытых исходников». В книге утверждается, что Linux изначально был нелегальной копией MINIX. Таненбаум опубликовал резкое опровержение в защиту Торвальдса[17] и заявил тогда:

Я бы хотел разъяснить и закрыть некоторые ошибочные вопросы и исправить пару ошибок. Во-первых, я ДЕЙСТВИТЕЛЬНО не сержусь на Линуса. ЧЕСТНО. И он также на меня не сердится. Я не «жалкий неудачник», которого затмила слава Линуса. MINIX был чем-то вроде моего хобби. Я профессор. Я преподаю и веду разработки, и пишу книги, и езжу на конференции, и занимаюсь всем, чем занимаются профессоры. Я люблю свою работу, и своих студентов, и свой университет. […] Я написал MINIX, потому что хотел дать студентам самостоятельно поиграть с операционной системой. После того, как AT&T запретила обучение по книге Джона Лайонса [к книге прилагались исходники], я решил написать UNIX-подобную систему, чтоб мои студенты на ней практиковались. […] Я не пытался заменить GNU/HURD или Berkeley UNIX. Видит бог, я уже достаточно это повторил. Я просто хотел показать своим и другим студентам, как можно написать UNIX-подобную систему, используя современные технологии. Множество других людей хотели бесплатную коммерческую UNIX со свистелками и перделками (англ. "With bells and whistles") и хотели сделать это из MINIX. И меня затянуло в этот водоворот, но когда появился Linux, с меня снялось это бремя, и я мог снова профессорствовать. […] Линус, похоже, делает отличную работу и я желаю ему успехов в будущем. Хотя писать MINIX было здорово, я не считаю, что это самое важное моё достижение. Это было скорее развлечение, нежели что-то иное. Самое важное моё достижение — подготовка замечательных студентов, особенно кандидатов наук. Посмотрите на моей домашней странице их список. Они делают замечательные вещи. Я горжусь ими, как наседка. Насколько можно считать Линуса моим студентом, настолько я им тоже горжусь. Профессоры любят, когда их студенты идут дальше и получают бо́льшую славу.[18]

Ссылки

  1. 1 2 3 4 A. S. Tanenbaum (January 29,1992). "LINUX is obsolete". comp.os.minix. (Google Groups). Retrieved on 2006-11-27.
  2. Стоит заметить, что в первоначальной дискуссии были комментарии Кена Томпсона, однако это не тот Кеннет Лейн Томпсон, который знаменит как один из основателей UNIX.
  3. S. Williams GNU/Linux // Free as in Freedom: Richard Stallman's Crusade for Free Software. — O'Reilly Media, 2001. — ISBN 0-596-00287-4
  4. 1 2 L. Torvalds (January 29,1992). "Re: LINUX is obsolete". comp.os.minix. (Google Groups). Retrieved on 2006-11-28.
  5. Tanenbaum, A. S. (May 2006). «Can We Make Operating Systems Reliable and Secure?». IEEE Computer Society 39 (5): 44–51. Проверено 2006-11-26.
  6. Tanenbaum, A. S. Tanenbaum-Torvalds Debate: Part II. Vrije Universiteit Amsterdam (May 2006). Проверено 14 января 2007.
  7. “bariswheel”, “Hemos” & Slashdot contributors Microkernel: The Comeback?. Slashdot (May 2006). Проверено 14 января 2007.
  8. Torvalds, L. Hybrid kernel, not NT. Real World Technologies (May 2006). Проверено 30 ноября 2006.
  9. diegocgteleline.es, ScuttleMonkey & Slashdot contributors Torvalds on the Microkernel Debate. Slashdot (May 10,2006). Проверено 21 мая 2008.
  10. Jonathan Shapiro Debunking Linus's Latest. coyotos.org (May 11,2006). Проверено 21 мая 2008.
  11. 1 2 3 A. S. Tanenbaum (January 30,1992). "LINUX is obsolete". comp.os.minix. (Google Groups). Retrieved on 2006-01-10.
  12. Kevin Brown (January 31,1992). "RE: LINUX is obsolete". comp.os.minix. (Google Groups). Retrieved on 2007-04-07.
  13. L. Torvalds (January 30,1992). "Apologies (was Re: LINUX is obsolete)". comp.os.minix. (Google Groups). Retrieved on 2007-01-10.
  14. 1 2 Chris DiBona The Tanenbaum-Torvalds Debate // Open Sources: Voices from the Open Source Revolution. — O'Reilly Media, 1999. — ISBN 1-56592-582-3
  15. Theodore Y. Ts'o (January 31,1992). "Re: LINUX is obsolete". comp.os.minix. (Google Groups). Retrieved on 2007-05-11.
  16. L. Torvalds (January 29,1992). "Re: LINUX is obsolete". comp.os.minix. (Google Groups). Retrieved on 2006-05-11.
  17. Tanenbaum, Andrew S. Some Notes on the "Who wrote Linux" Kerfuffle, Release 1.5. Проверено 21 мая 2008.
  18. Tanenbaum, Andrew S. Ken Brown's Motivation. Проверено 24 декабря 2007.

Внешние ссылки

Portal:Свободное программное обеспечение
В Википедии есть портал
«Свободное программное обеспечение»

Wikimedia Foundation. 2010.

Игры ⚽ Нужно сделать НИР?

Полезное


Смотреть что такое "Спор Таненбаума — Торвальдса" в других словарях:

  • Спор Таненбаума — Торвальдса состоялся между Эндрю Таненбаумом и Линусом Торвальдсом. Предметом спора было ядро Linux и архитектура ядер в целом. Таненбаум начал спор в 1992 году в ньюсгруппе comp.os.minix сети Usenet[1], заявив, что микроядра вытесняют… …   Википедия

  • Спор об именовании GNU/Linux — Иллюстрация FSF, на которой изображены антилопа пингвин Linux. GNU General Public License (GPL)  это «броня», которую используют антилопа и пингвин Операционные системы, основанные на ядре Linux и системных библиотеках Проекта GNU (а часто и… …   Википедия

  • Линус — Торвальдс Linus Torvalds Род деятельности: программист Дата рождения: 28 декабря …   Википедия

  • Линус Бенедикт Торвалдс — Линус Торвальдс Linus Torvalds Род деятельности: программист Дата рождения: 28 декабря …   Википедия

  • Линус Бенедикт Торвальдс — Линус Торвальдс Linus Torvalds Род деятельности: программист Дата рождения: 28 декабря …   Википедия

  • Линус Торвалдс — Линус Торвальдс Linus Torvalds Род деятельности: программист Дата рождения: 28 декабря …   Википедия

  • Линус Торвальдс — Linus Torvalds Род деятельности: программист Дата рождения: 28 декабря …   Википедия

  • Торвальдс, Линус — В Википедии есть статьи о других людях с такой фамилией, см. Турвальдс. Линус Торвальдс Linus Torvalds …   Википедия

  • Торвальдс — Торвальдс, Линус Линус Торвальдс Linus Torvalds Род деятельности: программист, хакер …   Википедия

  • Таненбаум, Эндрю — В Википедии есть статьи о других людях с такой фамилией, см. Таненбаум. Эндрю Таненбаум Эндрю Стюарт Таненбаум (англ.  …   Википедия


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»