Суперечка Таненбаума - Торвальдса відбулася між Ендрю Таненбаумом і Лінусом Торвальдсом. Предметом суперчки було ядро Linux та архітектура ядер в цілому. Таненбаум розпочав суперечку 1992 року в ньюзгрупі comp.os.minix [Архівовано 23 липня 2013 у Wayback Machine.] мережі Usenet, заявляючи, що мікроядра витісняють монолітні ядра, тому Linux потрібно вважати застарілим. До дискусії приєднались також інші відомі хакери, зокрема Девід Міллер та Теодор Цьо.
Через категоричність тону повідомлень у ньюзгрупі, суперечка набула характеру флейму, навмисне ворожого обміну повідомленнями між двома ворогуючими таборами (Linux та MINIX, інакше кажучи, між прихильниками монолітних ядер та мікроядер) і був висвітлений в різних публікаціях.
Сам Торвальдс також визнавав, що розпалювання суперечки було навмисне, про що заявив в своєму першому повідомленні в ньюзгрупі:
Я був би радий "не проковтнути наживку", але... Настав час серйозно пофлеймити![1]
Проте до теми повернулись в 2006 році, коли Таненбаум написав статтю-огляд для журналу Computer під назвою "Чи можна зробити операційні системи надійними та захищеними?". І хоча Таненбаум особисто сказав, що написав статтю не з метою відновити дискусії про архітектури ядер, ретельне порівняння статті з архівною копією суперечки 1992 року на присвяченому технологіям сайті Slashdot знову розпалило дискусію. Торвальдс на онлайн-форумі спростував аргументи Таненбаума, в свою чергу декілька сайтів з комп'ютерними новинами розповсюдили цю інформацію. Це спонукало Джонатан Шапіро відповісти, що в більшості комп'ютерних систем, що на практиці довели свою надійність та захищеність ширше використовується мікроядерно-орієнтована схема.
Зміст суперечки
Хоча спершу дискусія починалась досить м'яко, і обидві сторони висували лише загальні твердження стосовно архітектури ядер, дискусія все більше поглиблювалася і ускладнювалася з кожною серією постів. Крім архітектури ядер, суперечка також торкнулась декількох інших тем, наприклад, яка архітектура мікропроцесорів витіснить всі інші в майбутньому. Крім Таненбаума і Торвальдса, в обговорення включилися й інші люди, в тому числі Пітер Макдональд, розробник ядра Linux на ранньому етапі і творець одного з перших дистрибутивів - Softlanding Linux System, Девід Міллер, один з головних розробників ядра Linux, і Теодор Цьо, перший американський розробник ядра Linux.
«Linux застарів»
Ця тема піднялась 29 січня 1992 року, коли Таненбаум вперше опублікував свою критику ядра Linux в comp.os.minix, відмітивши, що монолітна архітектура є згубною для власних можливостей, в повідомленні під назвою «Linux застарів». Спочатку він не обґрунтовував свою думку, що архітектура мікроядра значно краще, жодними технічними подробицями, лише вказав на те, що у Linux є проблеми з переносом на інші архітектури, адже він прив'язаний до процесорів на х86 архітектурі. Підсумувавши всі свої роздуми тим, що «створення в 1991 році монолітного ядра було гігантським кроком назад в 70-ті.»
Оскільки критика була виказана в публічній ньюзгрупі, Торвальдс безпосередньо відреагував на неї, заявивши, що при створенні MINIX були допущені помилки в проектуванні (як аргумент навів приклад відсутності багатозадачності), але визнав, що мікроядерна архітектура краще «з теоретичної та естетичної точки зору». Також він підкреслив, що зважаючи на те, що він розробляв ядро Linux у вільний час і роздавав його безкоштовно (в той час як MINIX був платним), то Таненбаум не повинен заважати його зусиллям. Також Лінус виправдав себе тим, що розробляв Linux спеціально для Intel 80386 аби краще вивчити цю архітектуру, але це не зробило перенос Linux на іншу архітектуру неможливим, навпаки, інтерфейс програмування додатків став більш простим і переносним, і, як він стверджував: «лінукс краще портовний ніж мінікс.»
У відповідь на це Таненбаум написав, що обмеження MINIX пов'язані з його викладацькою діяльністю, оскільки необхідно, щоб система могла виконуватись на слабому комп'ютері студента, зазвичай на базі процесора Intel 8088, і навіть без жорсткого диску. В той же час Linux збирався для Intel 80386 - значно потужнішого і дорожчого процесора.
Примітки