Tanenbaum-Torvalds tartışması Andrew S. Tanenbaum ve Linus Torvalds arasında genel olarak Linux çekirdeği ve çekirdek mimarisi ile ilgili bir tartışma oldu. Tanenbaum; 1992 yılında Usenet tartışma grubu comp.os.minix konulu tartışmaya başladı, mikro çekirdeğin monolitik çekirdeğe göre daha üstün olduğunu ve dolayısıyla Linux’un 1992’de bile modası geçmiş olduğunu savundu. Tartışmaya Linux çekirdek geliştiricileri Peter MacDonald, David S. Miller ve Theodore Ts’o da katıldı.

Tartışma bazen bir flame savaşı olarak kabul edildi.

Münazara

Tartışma başlangıçta göreceli olarak ılımlı bir şekilde başlamış olsa da her iki taraf da çekirdek tasarımı ile ilgili sadece banal açıklamalarda bulunmakla birlikte her turda giderek daha ayrıntılı ve sofistike bir hâle geldi. Sadece çekirdek tasarımının yanı sıra tartışma, mikroişlemci mimarisinin gelecekte diğerleri üzerinde kazanacağı gibi başka konulara da ayrıldı. Tanenbaum ve Torvalds’ın yanı sıra, ilk Linux çekirdeğini geliştiren ve ilk dağıtımlardan biri olan Softlanding Linux System’in yaratıcısı Peter MacDonald da dâhil olmak üzere birkaç kişi daha tartışmaya katıldı: Linux çekirdeğinin temel geliştiricilerinden David S. Miller ve ilk Kuzey Amerikalı Linux çekirdek geliştiricisi Theodore Ts’o.

Tanenbaum, Linux çekirdeği hakkındaki eleştirisini ilk kez Linux çekirdeği ile ilgili eleştirisini yayımladığında “LINUX is obsolete.” başlıklı bir yazıda Tanenbaum’un Linux çekirdeği hakkındaki eleştirisini comp.os.minix‘e yayımladığı tartışma başladı. Mikro çekirdeğin tasarımının neden daha iyi olduğunu hissettiğini açıklamak için başlangıçta büyük teknik detaylara girmese de Linux çekirdeğinin gelecekteki herhangi bir kullanım için x86 işlemci hattına çok yakından bağlı olduğunu iddia ederek bu mimarinin o zamanlar yerini alacağını söyledi, çoğunlukla taşınabilirlikle ilgili olduğunu öne sürdü. Her şeyi perspektife sokmak için 1991’de monolitik bir çekirdeğin nasıl yazıldığının “1970’lere doğru dev bir adım” olduğunu belirtti.

Eleştiri halka açık bir haber grubunda yayımlandığından Torvalds doğrudan yanıt verebildi. Bunu bir gün sonra MINIX’ın doğal tasarım kusurlarına sahip olduğunu (çoklu kullanım eksikliğini belirli bir örnek olarak adlandırarak) savunarak mikro çekirdek çekirdeği tasarımının “teorik ve estetik açıdan” üstün olduğunu belirlediğini kabul ederek savundu. Ayrıca boş zamanlarında Linux çekirdeğini geliştirdiğinden ve özgür olarak verdiğinden (Tanenbaum’un MINIX’i o zaman özgür değildi) Tanenbaum’un çabalarına itiraz etmemesi gerektiğini de belirtti. Ayrıca kısmen Intel’in 80386’sı için Linux’u nasıl geliştirdiğini çünkü kısmen Torvalds’ın kendisinin bir öğrenme alıştırması olduğunu; bunun çekirdeği MINIX’tan daha az taşınabilir hâle getirdiğini kabul ederken uygulama programlama arayüzünü daha basit ve daha taşınabilir hâle getirdiğinden bunun kabul edilebilir bir tasarım prensibi olduğunu iddia etti. Bu nedenle “linux minix’ten daha taşınabilir.” dedi.

Linus’un cevabını takiben Tanenbaum, MINIX’ın sınırlamalarının profesör olduğunu ve sistemin Intel 8088 tabanlı bir bilgisayar olduğunu, hatta bazen bir sabit disk bile olmadığını, ortalama bir öğrencinin oldukça sınırlı bir donanımında çalışabilmesi için gerekliliğini belirttiğini savundu. Linux o zamanlar özellikle Intel 386 için özel olarak üretilmiş, çok daha güçlü (ve pahalı) bir işlemciydi. Tanenbaum ayrıca “… yaklaşık 1 yıl önce, biri PC için (360K disketler) ve biri 286/386 (1.2M) için iki tane [MINIX] versiyonunu içeriyordu. 286/386 sürüm 2’ye 1.” Linux ücretsiz olmasına rağmen çalıştırmak için gereken pahalı donanımı sağlayamayacağından öğrencileri için uygun bir seçim olmayacağını ve MINIX’ın “normal bir sabit disksiz 4,77 MHz PC”de kullanılabileceğini belirtti. Bunun için Usenet grubunun bir diğer kullanıcısı olan Kevin Brown; Tanenbaum’un Linux’un 386 mimarisiyle olan bağları hakkında şikâyet etmemesi gerektiğini çünkü işletim sistemi tasarımı hakkında bilgi eksikliği bilinçli bir seçimin sonucudur, “Linux’un açık bir tasarım hedefi 386 mimarisinin özel özelliklerinden yararlanmaktı. Peki tam olarak amacınız nedir? Farklı tasarım hedefleri size farklı tasarımlar sunar.” diye belirtti. Ayrıca özellikle ucuz donanım için bir sistem tasarlamanın gelecekte taşınabilirlik problemlerine neden olacağını belirtti. MINIX’ın yeni donanımı tam olarak desteklememesine rağmen Tanenbaum, x86 mimarisinin gelecekteki diğer mimari tasarımlar tarafından aşılacağından bu konuyu ele almaya gerek duymadığını, “Tabii ki bundan 5 yıl sonra farklı olun ancak bundan 5 yıl sonra herkes 200 MIPS, 64M SPARCstation-5’inde özgür GNU’ya sahip olacak.” Linux çekirdeğinin 386 mimariye bu kadar yakından bağlı olmasından dolayı donanım ilerledikçe sonunda stil dışı olacağını söyledi.

Torvalds; bu noktada tartışmaya son vermeye çalıştı, Tanenbaum’un ilk ifadelerine aşırı tepki vermemesi gerektiğini ve özür dilemek için kişisel bir e-posta oluşturduğunu belirtti. Ancak daha sonra tartışmaya devam edecek.

Akıbet

Bu tartışmaya rağmen Torvalds ve Tanenbaum, iyi konuşabiliyorlar; Torvalds, Tanenbaum’a karşı hiçbir düşmanlığı bulunmadığını anlamayı istemektedir ve Tanenbaum; fikirler veya teknik konulardaki anlaşmazlıkların kişisel kavgalar olarak yorumlanmaması gerektiğini vurgulamaktadır.

1990’ların Başında Bakış Açıları

Konu ve ilk başlangıç tartışması 1999’da O’Reilly Media Open Sources: Voices from the Open Source Revolution kitabında yayımlandığında “dünyanın o zaman işletim sistemi tasarımı hakkında düşünme şeklini” örneklediğini belirtti.

Katılımcının Kevin Brown’a göre 386 işlemci en yaygın kullanılan yonga idi, 486 yüksek kaliteli bilgisayarlarda kullanıldı, 286 neredeyse modası geçmiş ve World Wide Web kullanılmadı. Tanenbaum’un Linux hakkındaki argümanlarından biri; hata olarak kabul ettiği x86 mimarisine ve komut setine çok yakın bir şekilde bağlı olmasıdır. Modern Linux şimdi daha taşınabilir bir kod tabanına sahip ve birçok diğer işlemci mimarisine aktarılmıştır.

Tartışmadaki tekrar eden bir başka konu ise GNU (Hurd) ve 4.4BSD gibi Linux ve MINIX’e alternatifler. Tanenbaum, ilk gönderisinde Linux’un aksine “modern bir sistem” olduğunu belirterek ilk yazısında önerdi. İkinci yazısında “… bundan 5 yıl sonra 200 MIPS, 64M SPARCstation-5’inde herkes özgür GNU’ya sahip olacak.”. Bazı tartışmalar, GNUnun uygun bir alternatif olduğunu kabul etmedi. Kevin Brown; tanıtımı yapılmış ancak henüz piyasaya sunulmamış yazılım olarak adlandırdı ve Linux’un yaygın olmaya devam edecek ve genel izleyici kitlesine daha erişilebilir hâle gelecek olan x86 mimarisinden büyük olasılıkla fayda sağlayacağını belirtti. Linux’un ilk başlarında bir katkıda bulunan “Bir mikro çekirdek yaklaşımının faydaları olurken” … Linux burada ve GNU değil — ve insanlar Hurd üzerinde Linus’un Linux üzerinde çalıştığından daha uzun süredir çalışıyorlar.”. GNU’nun bir çekirdek oluşturma çabalarının farkında olan Torvalds “GNU çekirdeği geçen baharda hazır olsaydı, projemi bile başlatmak için uğraşmazdım: Gerçek şu ki öyle değildi ve hâlâ değil.”

4.4BSD-Lite, ATIX’ın iştiraki olan Unix System Laboratories tarafından UNIX ile ilgili fikrî mülkiyet haklarına ait olan Berkeley Software Design’e karşı açılan USL v. BSDi davası nedeniyle iki yıl sonra geçerli olmayacaktır. Dava, yasal statüsü söz konusu olduğunda neredeyse iki yıl boyunca BSD’nin özgür yazılım torunlarının gelişimini yavaşlattı. Linux’un böyle bir yasal belirsizliği olmadığı için ona dayalı sistemler daha büyük destek aldı. USL v. BSDi arasındaki bir anlaşmaya Ocak 1994’te ulaşıldı ve Haziran ayında 4.4BSD piyasaya sürüldü. (Son sürüm 1995’te iken FreeBSD, OpenBSD ve NetBSD dâhil olmak üzere bu sürüme dayanan birkaç özgür sürüm sürdürülmüştür.)

Samizdat Olayı

23 Mart 2004 tarihinde Alexis de Tocqueville Institution başkanı Kenneth Brown, Tanenbaum ile röportaj yaptı. Bu, Brown’un Samizdat: And Other Issues Regarding the ‘Source’ of Open Source Code adlı kitabının beklemede yayımlanmasının bir öncülüydü. Kitap, Linux’un başlangıçta yasa dışı olarak MINIX’tan kopyalandığını iddia ediyor. Tanenbaum; Torvalds’ı savunan ve o sırada şunu belirtti:

Birkaç yanılgıyı temizleyerek ve ayrıca birkaç hatayı düzelterek kapatmak istiyorum. İlk olarak ben gerçekten Linus’a kızmıyorum. DÜRÜST. Bana da kızgın değil. Linus tarafından gölgede bırakıldığını düşünen bir tür “kaybeden” değilim. MINIX benim için sadece bir nevi eğlenceli hobiydi. Ben profesörüm. Araştırma yapıyorum, kitap veriyorum, konferanslara gidiyorum ve profesörlerin yaptığı işleri yapıyorum. İşimi, öğrencilerimi ve üniversitemi seviyorum. … MINIX yazdım çünkü öğrencilerimin bir işletim sistemiyle oynarken pratik deneyim yaşamalarını istedim. AT&T, John Lions kitabından ders vermeyi yasakladıktan sonra öğrencilerimin oynaması için UNIX benzeri bir sistem yazmaya karar verdim. … GNU/HURD veya Berkeley UNIX’ın yerini almaya çalışmıyordum. Cennet biliyor, bunu yeterince kere söyledim. Sadece öğrencilerime ve diğer öğrencilere modern teknolojiyi kullanarak nasıl UNIX benzeri bir sistem yazabileceğinizi göstermek istedim. Birçok kişi; çanlar ve ıslıklarla UNIX’ın özgür yapımını istedi ve MINIX’ı buna dönüştürmek istedi. Maelstrom’da bir süre boyunca sürüklenmiştim ancak Linux geldiğinde profesöre geri dönebildiğim için rahatlamıştım. … Linus mükemmel işler yapıyor gibi görünüyor ve gelecekte de başarılar diliyorum.

MINIX yazarken eğlenceliydim, gerçekten yaptığım en önemli şey olarak görmüyorum. Her şeyden çok bir dikkat dağıtıcıydı. Yaptığım en önemli şey birtakım inanılmaz derecede iyi öğrenciler, özellikle de doktora derecesi öğrenciler üretmek. Liste için ana sayfama bakın. Harika şeyler yaptılar. Anne tavuk kadar gururluyum. Linus’un öğrencim olarak sayılabildiği ölçüde onunla da gurur duyuyorum. Profesörler, öğrencileri daha büyük göreve gittiklerinde beğenirler.

Devamlı Diyalog

Tanenbaum’un “Can We Make Operating Systems Reliable and Secure?” başlıklı Computer dergisi için bir kapak hikâyesi yazmasından sonra bu konu 2006’da tekrar gözden geçirildi. Tanenbaum’un kendisi; çekirdek tasarımı konusundaki tartışmayı yenilemek için makaleyi yazmadığını söylerken makalenin yan yana gelmesi ve Slashdot teknoloji sitesinde 1992 tarihli tartışmanın arşivlenmiş bir kopyası konunun kaybedilmesine neden oldu. Torvalds; Tanenbaum’un tartışmalarına bir çevrim içi tartışma forumu ile yeniden giriş yaptı ve birkaç teknoloji haber sitesi sorunu bildirmeye başladı. Bu; Jonathan Shapiro’nun sahadaki kanıtlanmış güvenilir ve güvenli bilgisayar sistemlerinin çoğunun daha mikro çekirdek benzeri bir yaklaşım kullanmasına yanıt vermesini sağlamıştır.

References