Neden Linux resmi GNU çekirdeği olarak benimsenmiyor?


128

Bir süredir Hurd'un varlığını ve resmi GNU İşletim Sistemi çekirdeği olarak görevini bildiğim halde, Linux'un yıllar içinde resmi GNU çekirdeği olarak nasıl kucaklandığını merak ediyordum, daha iyi bir durumda olduğunu görerek Hurd'dan mı?

Linux, şu ana kadar 20 yıldan fazla bir süredir bu role hizmet etmekte, ancak GNU Projesi'nin Linux söz konusu olduğunda mesafesini koruduğunu görebiliyoruz. Bu neden oluyor? Hurd'un (gelecekte bir noktada) üretim kalitesi düzeyinde olacağı bir rüya yüzünden mi? GNU projesinin misyonunun Linux'ta istediği kadar yansıdığını görmemesi mi? Diğer politik nedenlerden dolayı mı?


20
Buradaki "yasadışı" bir soru ama ilginç. Biraz şansla, "tarihsel önem" için korunuyor, yeteri kadar mükemmel cevaplar veriliyor ... ;-)
Hauke ​​Laging

2
@HaukeLaging Thanx arkadaşı. Bunun iyi bir soru olduğunu ve ilginç cevaplar üretebileceğini ve birinin neden yakın oy kullanacağını gerçekten anlayamadığımı düşünüyorum. Bunun bir çok insanın bilmek isteyeceği bir şey olduğuna eminim.
NlightNFotis,

1
Oh, bu basit: Birisi sadece SSS'ye işaret etmek ve "konu dışı" VE "çok geniş" diye bağırmak zorunda
kalacak

5
@HaukeLaging Çok doğrusunuz ve keşke insanların daha pragmatik olması ve sadece SSS'ye işaret etmek ve bağırmak yerine, değeri olan bir soruyu tanımasını diliyorum. Biri
SO'da

4
Sadece SSS bölümünü tekrar okudum. IMHO bu konuda burada. Her ne kadar bir meta soru olsa da, aslında soru Linux / Unix ile ilgilidir ve oldukça açıktır.
Nils,

Yanıtlar:


151

GNU, geliştiriciler tüm resmi GNU projelerini bağlayan belirli hükümleri kabul etmediği sürece, bir proje olarak bir şey kabul etmeyecektir.

Şu anda Linux çekirdeği muhtemelen bu kısıtlamalara uymuyor ve Linus Torvalds, kernel.org, et al. Kendilerini GNU şemsiyesi altına yerleştirmekten ve kaybedecek çok şeyden söz etmek - yukarıda sözü edilen bağlayıcı anlaşma ve halkın çekirdeğin şu anda çoğunlukla olumsuz bir etkiye sahip olacak bir GNU projesi olduğu algısı. GNU’nun ana kuruluşu olan Özgür Yazılım Vakfı (FSF) politik bir örgüt ve Torvalds, GNU’nun ve FSF’nin kurucu ortağı Richard İge

Ayrıca, Linux çekirdeği GNU kullanıcı alanını GNU kullanıcı alanından daha fazla gerektirmez ve Linux çekirdeğini gerektirir. Bu bağımsızlık, yazılım mühendisliğinin temel prensipleri tarafından iyi bir şey olarak düşünülmelidir, bunun tersi modülerlik ve daha gevşek kaplin lehinedir (sıkı kaplinli monolitik şeyler).

Bu düşünceye karşı bir diğer nokta, HURD'nin Linux kadar çok insanın ilgisini çekmemesine rağmen, HURD geliştiricileri ve kullanıcılarının projelerinin popülerlik yarışmasında etkili bir şekilde tozlanmasına karşı çıkmalarına karşı çıkabileceği yönünde. Ve onlar için iyi; tekelleşme boyun eğerek değil oysa bu tür "rekabet", olumlu bir şey - Eğer kısmen yaratıcılığı engelleme masif kuruluşlar ile bitirmek çünkü onlar monolitik / meglomaniacal kontrol yatkındır. Linux Vakfı zaten bağımsız bir organizasyondur, öyle de kalabilir.


13
Harika cevap için teşekkürler. Benden +1 ve 2 not: 1) Beni yanlış anlama: Hurd hakkında yüksek bir fikrim var. Ben kendimi engelli bir geliştiriciyim. Ancak (inanıyorum ki) Linux'un daha iyi bir devlet olduğu tartışılmaz. 2) Linux'un neden GNU ile birleştirmek istemediğini anlayabiliyorum, ancak görebildiğim kadarıyla buna en büyük itirazları gösteren GNU Projesi. Bu konuda ayrıntılı misiniz?
NlightNFotis,

14
@NlightNFotis: Bunun çoğunlukla bir GNU itirazı olduğundan emin misiniz? Sadece şunu okudum: torvalds-family.blogspot.ca/2008/11/black-and-white.html . Bana göre katılan herkes resmi bir ilişki olmadan çok daha mutlu görünüyor.
goldilocks

Bu blog yazısı için teşekkürler. Şimdi daha mantıklı. İnsanların daha fantastik cevaplarla çalışıp çalışmadığını görmek için soruyu bir süre açık tutacağım, eğer değilse, sizinkiler bu sorunun cevabı olarak seçilecektir. Sadece bir tane daha son "dilekçe". "HURD hakkında yüksek bir fikre sahip olmayabilirsin" diyebilirsem, tekrar söyler misin? Beni rahatsız ediyor ve kendimi kötü hissettiriyor.
NlightNFotis,

4
Hurd'un arkasındaki fikirleri gerçekten seviyorum. Aklıma ne geldi: Sanallaştırmaya yönelik devam eden eğilim, Hurd'un gerçek dünyanın en azından bir bölümünü görmesi için büyük bir yardım olabilir. Birini kullanmak için eksiksiz bir işletim sistemine ihtiyacınız yok. Hurd'un altında çalışmanın net avantajları olan birkaç uygulamanız varsa, bunları basitçe bir Hurd VM'ye yerleştirebilirsiniz. Chrooting'e benzer, lxc veya her neyse.
Hauke ​​Lager

2
@NlightNFotis rephrased :)
goldilocks

77

İnternette çok fazla dokümantasyon ve tartışma var.

Kısa cevap, GNU projesi ile Linux çekirdeği projeleri arasında olası bir birleşme yoluna girecek derin ideolojik farklılıklar olduğu yanıtı.

GNU Projesi'nin arkasındaki organizasyon olan FSF'in odak noktası, özgür yazılım fikrine ilişkin ideolojik saflıktır. Bu, büyük ölçüde FSF / GNU kurucusu Richard Stallman'ın görüşünden yola çıkıyor. Ek olarak, gollock'ların belirttiği gibi, FSF şimdi çoğunlukla politik bir savunuculuk örgütüdür. Uzun süredir, FSF, destek altyapısını sağlamasına rağmen, GNU Projesine önemli kaynaklar koymadı.

Linux çekirdeği projesi, yine de büyük ölçüde kurucusu Linus Torvalds'dan kaynaklanan yazılım özgürlüğü konusunda daha pratik bir duruş sergiliyor. Linux çekirdeği projesi temel olarak çekirdek / işletim sistemi geliştirmede uzmanlaşmış yazılım geliştiricilerden oluşan ve hiçbir şekilde politik bir savunuculuk örgütü olan ücretsiz bir yazılım projesidir.

Bu ideolojilerin pratikte nasıl oynadığının spesifik örnekleri olarak,

1) Stallman, Debian projesinin, yazılım arşivinin özgür olmayan bölümünü koruyarak, özgür olmayan yazılımı "tanıtması" gerçeğini kabul edilemez buluyor. Bu ironik, çünkü Debian projesi ideolojik olarak katı olmasa da, FSF'ye oldukça benzer bir yazılım özgürlüğüne odaklandı.

2) Linux çekirdeğinin (serbest olmayan) ikili çekirdek modüllerinin çekirdekle birlikte kullanılmasına izin vermesi. Çekirdek geliştiricileri bu konuda hevesli olmasa da, buna katlanabiliyorlar ama FSF'nin bunu hayal etmesi zor.

Bu konuda Stallman'ın Linux çekirdeği tabanlı işletim sistemlerini GNU / Linux olarak adlandırma girişiminin, FSF ile Linux çekirdeği topluluğu arasındaki ilişkileri geliştirmemiş olmasına dikkat etmem gerekiyor.

Goldilocks'un da belirttiği gibi, FSF'nin bir GNU projesinin uyması gereken çeşitli kuralları vardır. Bu, tüm kodun FSF'ye telif hakkı atamasını içerir. Linus Torvalds hiçbir zaman bu tür bir telif hakkı tahsisine ihtiyaç duymadığından, bu tek başına bir anlaşma kırıcı olurdu. Bu nedenle eğer Linux çekirdeği GNU projesinin bir parçası olacaksa, Linux çekirdeğine yapılan tüm önemli katkıların telif haklarının FSF'ye atanması gerekir. Projenin yaşı ve büyüklüğü ve katkıda bulunanların sayısı göz önüne alındığında, bu temelde imkansızdır. Çok daha küçük ve daha küçük projeler (örneğin Mercurial) göz korkutucu bir görevi yerine getiren bir yazılım buldu.

Lütfen bu cevabın hiçbir şekilde FSF veya Linux çekirdeği geliştiricilerini eleştirme amaçlı olmadığını unutmayın. Her iki tarafın da kendi geçerli bakış açıları vardır. Bununla birlikte, durumun gerçeği, onların bir ölçüde uyumsuz bakış açıları olmalarıdır.


4
+1 Bu cevabı beğendim. Bu konuda sağlam bilgi. Girişinizi takdir ediyorum.
NlightNFotis,

1
Avrupa’daki birçok ülkede “telif hakkı atamasının” yasal olarak mümkün olmadığını belirtmekte fayda var. Başka olanaklar da var (katılımcılar sözleşmesi) ancak telif hakkı tahsisi yasal olarak mümkün olmayabilir - sadece teknik olarak.
Maciej Piechotka

1
@FaheemMitha değil GNU tanım gereği ikili lekeler kesinlikle çünkü olan çekirdeğin bir parçası; çekirdek kaynak kodunda dağıtılırlar ve çekirdek ikili dosyalarına yerleştirilirler ve çalışması için gereklidirler.
psusi

8
Ahh, tescilli sürücüler GNU'nun itiraz ettiği bir başka şey. Bu GPLv3'ün sebeplerinden biriydi; tescilli modüllerin çalışma zamanında bile ücretsiz koda bağlanmalarını ve Linux'un neden GPLv2 ile kalmayı seçtiklerini engellemek için.
psusi

1
@ vonbrand, hemfikir olup olmadığınız konu dışı; FSF'nin pozisyonudur ve bu nedenle, Linux hiçbir zaman bir GNU projesi olamaz.
psusi

35

Ben tarafından bir yorum quoting Richard Stallman , Hurd yerine Linux ile yuvarlanmaya karara ilişkin.

İnsanlar bazen “` FSF neden Linux kullanmak yerine yeni bir özgür çekirdek geliştirdi? ”Diye soruyor. Bu mantıklı bir soru. Cevap, kısaca, karşılaştığımız soru bu değil.

1990'da Hurd'u geliştirmeye başladığımızda, karşımıza çıkan soru şuydu: “GNU sistemi için nasıl ücretsiz bir çekirdek alabiliriz?” bir. Özgür bir çekirdeğe sahip olmayı beklememizin tek yolu, onu kendimiz yazmaktı. Bu yüzden başladık.

Piyasaya sürüldükten sonra Linux'u duyduk. O sırada, karşımıza çıkan soru '' Hurd projesini iptal edip Linux kullanmalı mıyız? ''

Linux'un hiç taşınabilir olmadığını duyduk (bugün bu doğru olmayabilir, ama o zaman duyduğumuz şey buydu). Ve Linux'un mimari olarak Unix çekirdeğiyle aynı olduğunu duyduk; Çalışmalarımız çok daha güçlü bir şeye öncülük ediyordu.

Hurd'a daha önce koyduğumuz yıllar boyunca, onları atmak yerine bitirmeye karar verdik.

İnsanların sorduğu soru ile yüzleşirsek --- eğer Linux zaten müsaitse ve başka bir çekirdek yazmaya başlayıp başlamayacağımızı düşünüyorduk --- bunu yapmazdık. Bunun yerine başka bir proje seçecektik, mevcut hiçbir özgür yazılımın yapamayacağı bir işi yapacak bir şey.

Ama o zaman Hurd'u başlattık, ve şimdi çalışmasını sağladık. Üstün mimarisinin ücretsiz işletim sistemlerini daha güçlü hale getireceğini umuyoruz.


7
Zaten soruya verilen fantastik cevaplara rağmen, bu cevabı kanonik olarak seçeceğim, çünkü doğrudan GNU Projesi'nin yaratıcısı Richard Stallman'dan Hurd'a yapışmanın arkasındaki mantığı gösteriyor.
NlightNFotis,

9
"Bugün bu doğru olmayabilir" - RMS'nin Linux hakkındaki düşüncesi bilgiye değil, deneylere dayanıyor gibi görünmektedir.
Martin Schröder

19
@Martin: (Late Reply, ama :) Torvalds Linux'u ilk kez ilan ettiğinde, x86'ya özgüdür, sıfır yapmak için taşınabilir hale getirilirdi. Gelen İntial iplik Linus düz dışarı "Ben Taşıma işlemi imkansız olduğunu söyleyebilirim" dedi. Bu nedenle, rms'nin aslında Linux'un bugünkü haline geleceğine inanması için hiçbir neden yoktu. Proje liderinin ağzından çıkan kanıtlar neredeyse hiç işitmiyor.
Kevin Cathcart

@KevinCathcart: RMS / FSF, kodu başkalarına güvenmek yerine kendileri üzerinde çalışmalıydı ("duyduk").
Martin Schröder

21
@ MartinSchröder: Proje Lideri açıkça taşınabilir olmayacağını söylediğinde neden kodu inceleyin? Her neyse, Linux 1991'de ilan edildi. Linux'un mimarlık limanları için klasörleri eklemesinden önce 1994'in Nisan ayına (1.1.45 sürümüne) kadar sürdü. Herhangi bir bağlantı noktasının pratik olması daha uzun zaman alacaktı. Eğer FSF 1992 veya 1993'te Hurd'a devam etme kararını vermişse, koda bakmak yalnızca kodun taşınabilir olmadığını güçlendirirdi.
Kevin Cathcart

4

Buraya sadece 2 kuruşumu ekliyorum, bu noktada tartışılanların çok anlamlı olduğunu düşünüyorum, ancak GNU vakfını gerçekten kutuplaştırabileceğimi düşündüğümün büyük bir yönü var ve bu Linux’un daha fazla hale geldiği ve daha çok büyük şirketlerin gerçek para ve zaman harcadıkları bir yer, linux'un ev yapımı bir proje olduğu fikri doğru değil, hatta biraz değil, belki de sahneye dikkat çekmeye çalışan rastgele bir adam var. yama, ama büyük kısmı linux için bu şirketler için bir iş.


1
FSF'nin yazılım projelerinin kurumsal desteğiyle bir sorunu olduğunu sanmıyorum. Ana odağı özgür yazılım ilkeleridir.
Faheem Mitha

Kurumsal baskınlık, GNU GPL'nin ele alması amaçlanan büyük bir kaygıydı. İzin verilen lisanslı yazılım, hem MIT hem de Berkeley'de normal prosedürdü, ancak bir kez kod ticarileşince derhal kapatıldı. Örneğin, bugün Linux kaynağını kontrol edebilirim ve ticari olarak geliştirilen tüm gelişmeler potansiyel projeme fayda sağlayacaktır. Ya da bir sonraki küçük kişisel projem sadece birkaç blok kullanabilir, bunun anlamı, herhangi bir serbest bırakma işleminin sonraki kodla çalışan kişi için fayda sağlamasıdır.
JM Becker,


-6

Linux, Posix'e uygun olmadığı için Unix olamaz .

Bu yüzden, politik bir sıkıntı olmadan bile Linux, Hurd'un tasarım hedefine ulaşamıyor.

Cite : "The Hurd, GNU projesinin popüler bir işletim sistemi çekirdeği olan UNIX'in yerine geçmesidir."

Şaşırtıcı, bir Debian / Hurd-Projekt olması . Ama bu muhtemelen farklı bir hikaye ...

BTW: Windows (NT / XP'den beri) de MACH çekirdeğini temel alıyor .


8
Linux'un POSIX'e uygun olmadığını iddia edecekseniz, biraz yedeklemeniz gerekecek. FSF'nin% 100 POSIX uyumlu bir çekirdeğe ihtiyaç duyduklarını söylediği yerler dahil. Bu arada, Unix POSIX değildir. Unix (tescilli) özel bir tescilli işletim sistemidir, bu nedenle başka hiçbir işletim sisteminin bu işletim sistemi olamayacağını söylemeye gerek yoktur .
psusi

6
Windows çekirdeği için yapılan alıntı MACH'a mı dayanıyor? Wikipedia bazı tasarım seçimlerini paylaştıklarını söylüyor; ancak MACH prototipik mikro çekirdeği olmakla birlikte, Windows işletim sistemi hizmetlerinin çoğu çekirdeği kullanıcı ülkesinde değil, çekirdeği çalıştırmaktadır. Windows çekirdeğindeki, bildiğim tek büyük OSS bileşeni, eskiden BSD uygulamasına dayanan ağ yığınıydı; ancak birkaç sürüm önce os tasarımının geri kalanıyla daha iyi etkileşime giren biri ile sökülmüş ve değiştirilmiştir (XP veya 2k'de IIRC).
Dan Neely,

14
Fakat GNU'nun Unix'i de değil.
Simon

6
Bağladığınız soru @Nils, desteklemekten ziyade konumunuzla çelişiyor .
psusi

8
@Nils, Mach saçmalık popüler yanılgısı başka bir parçasıdır. NT'nin mach ile hiçbir ortak yanı yoktur. Onun "alt sistem sunucuları", bir mikro çekirdek yapmayan unix daemon'larından farklı değildir. Başlangıçta gui kullanıcı kipinde uygulandı ve bunun sadece mikro çekirdekli bir sisteme benzeyen bir benzerliği vardı (yine de Linux'u mikro çekirdeğe dönüştürmeyen Xwindows), ancak bu NT4'te hurdaya çekildi ve çekirdeğe taşındı.
psusi
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.