Linux가 공식 GNU 커널로 채택되지 않은 이유는 무엇입니까?


128

나는 꽤 오랫동안 허드 의 존재 와 공식 GNU 운영 체제 커널이라는 사명을 알고 있었지만 , 리눅스가 훨씬 더 나은 상태에 있다고 생각하면서 몇 년 동안 리눅스가 공식 GNU 커널로 어떻게 수용되지 않는지 궁금했습니다. 허드보다?

리눅스는 지금까지 20 년 이상이 역할을 수행해 왔지만, GNU 프로젝트가 Linux와 관련하여 거리를 유지하고 있음을 알 수 있습니다. 왜 이런 일이 발생합니까? Hurd가 (향후 어느 시점에서) 생산 품질 수준에있을 것이라는 꿈 때문입니까? GNU 프로젝트가 Linux에서 원하는만큼 미션을 반영하지 않기 때문입니까? 다른 정치적 이유 때문입니까?


20
여기서 "불법적 인"질문이 있지만 흥미 롭습니다. 약간의 행운으로 그것은 충분히 충분한 답변이 주어지면 "역사적 중요성"으로 보호됩니다 ... ;-)
Hauke ​​Laging

2
@HaukeLaging 감사합니다. 나도 이것이 좋은 질문이라고 생각하고 흥미로운 답변을 얻을 수 있으며 누군가가 왜 가까운 투표를했는지 이해할 수 없습니다. 나는 이것이 많은 사람들이 알고 싶어하는 것이라고 확신한다.
NlightNFotis

1
오, 그건 간단합니다. 누군가 FAQ를 지적하고 "주제를 벗어난"과 "너무 넓은"을
외치면됩니다

5
@HaukeLaging 당신은 너무 사실이며, 사람들이 더 실용적이고 자주 FAQ를 가리 키거나 소리 치는 대신에 어떤 가치를 가진 질문을 인식 할 수 있기를 바랍니다. SO에서 가장 흥미로운 질문을 쉽게 볼 수 있으며 궁금 할뿐입니다.
NlightNFotis

4
방금 FAQ를 다시 읽었습니다. IMHO 이것은 여기에 주제에 있습니다. 메타 질문이지만, 질문 자체는 Linux / Unix와 관련이 있으며 매우 분명합니다.
Nils

답변:


151

개발자가 모든 공식 GNU 프로젝트를 구속하는 특정 규정에 동의하지 않는 한 GNU는 프로젝트로 무언가를 채택하지 않습니다.

현재 Linux 커널은 이러한 제한에 맞지 않으며 Linus Torvalds (kernel.org 등)에는 적용되지 않습니다. 위에서 언급 한 구속력있는 계약과 커널이 현재 GNU 프로젝트이므로 대부분 부정적인 영향을 미칠 것이라는 대중의 인식은 GNU 우산 아래에서 자신을 얻는 것입니다. GNU의 부모 조직인 자유 소프트웨어 재단 (FSF)은 정치 조직이며 토발즈는이 조직에 대해 여러 가지 대중적인 비판과 GNU와 FSF의 다소 논란의 여지가없는 평생 지도자 / 설립자 인 Richard M. Stallman을 설립했습니다.

또한 Linux 커널에는 GNU 사용자 공간이 Linux 커널을 필요로하는 것 이상으로 GNU 사용자 공간이 필요하지 않습니다. 이 독립성은 소프트웨어 엔지니어링의 기본 원칙에 의해 좋은 것으로 간주되어야합니다. 이는 소프트웨어 모듈 링의 반대와는 반대로 모듈 성과 느슨한 결합을 선호합니다.

이 아이디어에 반대하는 또 다른 요점은 HURD가 Linux만큼 많은 사람들에게 관심이 없지만 HURD의 개발자와 사용자는 인기 콘테스트에서 효과적으로 프로젝트를 쓰레기 수거하는 것에 반대 할 수 있다는 것입니다. 그리고 그들에게 좋습니다. 이런 종류의 "경쟁"은 긍정적 인 것이지만 독점에 굴복하는 것은 아닙니다. 당신 은 모 놀리 식 / Meglomaniacal 통제가되기 쉽기 때문에 창의력을 부분적으로 저해하는 방대한 개체로 끝납니다 . Linux Foundation은 이미 독립적 인 조직이므로 그대로 유지 될 수 있습니다.


13
환상적인 답변을 주셔서 감사합니다. +1과 2 개의 메모 : 1) 나를 오해하지 마십시오 : 나는 허드에 대해 높은 의견을 가지고 있습니다. 나는 허드 개발자입니다. 그러나 나는 리눅스가 더 나은 상태 라고 주장 할 수 없다. 2) 왜 리눅스가 GNU와 결합하기를 원하지 않는지 알 수 있지만, 내가 볼 수있는 것에서 이것에 대한 가장 큰 반대를 보여주는 GNU 프로젝트입니다. 이것에 대해 자세히 설명해 주시겠습니까?
NlightNFotis

14
@NlightNFotis : 대부분 GNU 이의 제기입니까? 이것을 읽는 것 : torvalds-family.blogspot.ca/2008/11/black-and-white.html . 나에게 관련된 관계는 공식적인 관계없이 훨씬 더 행복해 보인다.
goldilocks

이 블로그 게시물에 감사드립니다. 이제 더 의미가 있습니다. 나는 사람들이 더 환상적인 답변을 정교하게 만들 수 있는지 잠시 동안 질문을 열어두고, 그렇지 않은 경우 귀하의 질문이이 질문에 대한 "답변"으로 선정 될 것입니다. 마지막 "반복"이 하나 더 있습니다. "HURD에 대해 높은 의견을 가지고 있지 않을 수도 있습니다."라고 말하면 기분이 나빠질 수 있습니다.
NlightNFotis

4
허드의 아이디어가 정말 마음에 듭니다. 방금 가상화에 대한 지속적인 추세는 허드가 현실 세계의 적어도 일부를 보는 데 큰 도움이 될 수 있습니다. 다른 사람이 사용하기 위해 완전한 OS가 필요하지 않습니다. Hurd에서 실행하면 확실한 이점이있는 몇 가지 응용 프로그램이 있으면 단순히 Hurd VM에 넣을 수 있습니다. chrooting, lxc 또는 기타와 유사합니다.
Hauke ​​Laging

2
@NlightNFotis는 :) 고쳐
금발 미녀

77

인터넷에는 이것에 대한 많은 문서와 토론이 있습니다.

GNU 프로젝트와 Linux 커널 프로젝트 사이에 통일이 불가능한 이데올로기 적 차이가 있다는 짧은 대답.

GNU 프로젝트의 조직인 FSF의 초점은 자유 소프트웨어의 아이디어와 관련하여 이데올로기 적 순도에 있습니다. 이는 FSF / GNU 창립자 인 Richard Stallman의 견해에서 비롯된 것입니다. 또한, goldilocks가 언급했듯이, FSF는 현재 대부분 정치적 옹호 단체입니다. 오랫동안 FSF는 지원 인프라를 제공하지만 GNU 프로젝트에 많은 리소스를 투입하지 않았습니다.

리눅스 커널 프로젝트는 창립자 Linus Torvalds에서 비롯된 소프트웨어의 자유에 대해 훨씬 더 실용적인 입장을 취하고 있습니다. Linux 커널 프로젝트는 주로 무료 소프트웨어 프로젝트이며 커널 / OS 개발을 전문으로하는 소프트웨어 개발자로 구성되며 정치적지지 단체는 아닙니다.

이러한 이데올로기가 실제로 어떻게 실행되는지에 대한 구체적인 예로,

1) Stallman은 데비안 프로젝트가 소프트웨어 아카이브의 자유롭지 않은 부분을 유지함으로써 자유롭지 않은 소프트웨어를 "광고"한다는 사실을 받아 들일 수없는 것으로 간주합니다. 데비안 프로젝트는 FSF와 상당히 유사한 소프트웨어 자유에 중점을 두지 만 이데올로기 적으로 엄격하지는 않기 때문에 이것은 역설적입니다.

2) Linux 커널은 (무료가 아닌) 바이너리 커널 모듈을 커널과 함께 사용할 수 있도록합니다. 커널 개발자는 이것에 대해 열정적이지는 않지만 견딜 수는 있지만 FSF가 그렇게 생각하는 것은 어렵습니다.

GNU / 리눅스가 FSF와 리눅스 커널 커뮤니티 사이의 관계를 개선하지 않았기 때문에 Stallman의 Linux 커널 기반 운영 체제 이름 지정 시도는 주목할 가치가 있습니다.

goldilocks가 언급했듯이 FSF에는 GNU 프로젝트가 준수 해야하는 다양한 규칙이 있습니다. 여기에는 FSF에 대한 모든 코드의 저작권 할당이 포함됩니다. Linus Torvalds는 그러한 저작권 양도를 요구하지 않았기 때문에 이것은 모두 그 자체로 거래 차단기가 될 것입니다. 따라서 Linux 커널이 GNU 프로젝트의 일부가 되려면 Linux 커널에 대한 모든 중요한 기여는 FSF에 저작권이 할당되어야합니다. 프로젝트의 나이와 규모, 기여자 수를 고려할 때 이것은 기본적으로 불가능합니다. 훨씬 더 작고 젊은 프로젝트 (예 : Mercurial)는 어려운 작업을하는 소프트웨어의 라이센스를 발견했습니다.

이 답변은 FSF 나 Linux 커널 개발자에 대한 비판을 의도하지 않습니다. 양쪽에는 고유 한 관점이 있습니다. 그러나 상황의 현실은 어느 정도는 양립 할 수없는 관점이라는 것입니다.


4
+1이 답변이 마음에 듭니다. 문제에 대한 확실한 정보. 귀하의 의견에 감사드립니다.
NlightNFotis

1
유럽의 많은 국가에서 '저작권 할당'은 법적으로 불가능하다는 점은 주목할 가치가 있습니다. 다른 가능성 (기여자 계약)이있을 수 있지만 기술적으로뿐만 아니라 법적으로도 저작권을 양도 할 수 없습니다.
Maciej Piechotka

1
@FaheemMitha 아니라 GNU의 정의에 의해 이진 모양이 가장 확실하기 때문에 있는 커널의 일부; 그것들은 커널 소스 코드로 배포되며 커널 바이너리에 내장되어 있으며 기능을 수행하는 데 필요합니다.
psusi

8
아, 독점 드라이버는 GNU가 반대하는 또 다른 것입니다. 이것이 GPLv3의 이유 중 하나였습니다. 런타임에 독점 모듈이 무료 코드에 연결되지 않도록 금지하고 Linux가 GPLv2를 유지하기로 선택한 이유.
psusi

1
@vonbrand, 당신이 동의하는지 여부는 관계가 없습니다. 그것은 FSF의 입장이며, 그 때문에 리눅스는 결코 GNU 프로젝트가 될 수 없습니다.
psusi

35

나는에 의해 코멘트를 인용하고 리차드 스톨만 (Richard Stallman)를 , 허드가 아니라 리눅스와 롤 결정에 관한.

사람들은 때때로``FSF가 Linux를 사용하는 대신 새로운 무료 커널을 개발 한 이유는 무엇입니까?``라고 묻습니다. 대답은 간단히 말해서 우리가 직면 한 문제가 아니라는 것입니다.

1990 년에 허드를 개발하기 시작했을 때,``GNU 시스템을위한 무료 커널을 어떻게 구할 수 있습니까? '' 하나. 우리가 무료 커널을 가질 것으로 예상 할 수있는 유일한 방법은 직접 커널을 작성하는 것입니다. 그래서 시작했습니다.

우리는 리눅스가 출시 된 후 들었다. 당시 우리가 직면 한 질문은``Hhurd 프로젝트를 취소하고 대신 Linux를 사용해야합니까? ''였습니다.

우리는 리눅스가 전혀 이식성이 없다고 들었습니다 (오늘은 사실이 아닐 수도 있지만 그때 우리가 들었던 것입니다). 그리고 우리는 리눅스가 건축 적으로 유닉스 커널과 동등하다고 들었습니다. 우리의 일은 훨씬 더 강력한 무언가로 이끌었습니다.

우리가 이미 허드에 넣은 수년간의 작업을 감안할 때, 우리는 그것을 버리지 않고 마무리하기로 결정했습니다.

사람들이 묻는 질문에 직면했다면 (리눅스를 이미 사용할 수 있고 다른 커널을 시작할지 여부를 고려하고 있다면) 그렇게하지 않을 것입니다. 대신 기존의 자유 소프트웨어로는 할 수없는 일을 수행 할 다른 프로젝트를 선택할 것입니다.

그러나 우리는 허드 (Hurd)를 시작했고 그 당시에는 작동했습니다. 우리는 뛰어난 아키텍처가 무료 운영 체제를 더욱 강력하게 만들길 희망합니다.


7
이 질문에 대한 환상적인 답변에도 불구하고이 답변을 정식 답변으로 선택하겠습니다. GNU 프로젝트의 작성자 인 Richard Stallman이 허드를 고수하기로 선택한 이유에 대한 근거를 보여주기 때문입니다.
NlightNFotis

9
"이것이 오늘날에는 사실이 아닐 수도있다"-Linux에 대한 RMS의 의견은 지식이 아니라 의견에 근거한 것으로 보인다.
Martin Schröder

19
@Martin : (늦은 답장, 그러나 :) Torvalds가 처음 Linux를 발표했을 때 x86 전용으로 이식 가능하게 만들 계획은 없었습니다. 에서 intial 스레드 리누스 플랫 아웃 "나는 그 이식이 불가능하다라고 말하고 싶지만"고 말했다. 따라서, rms는 원래 Linux가 오늘날의 것으로 성장할 것이라고 생각할 이유가 없었습니다. 프로젝트 리더의 입에서 나온 증거는 거의 들리지 않습니다.
케빈 카스 카트

@KevinCathcart : RMS / FSF는 다른 사람들에 의존하지 않고 코드를 스스로 연구해야했습니다 ( "우리는 들었습니다").
Martin Schröder

21
@ MartinSchröder : 프로젝트 리더가 코드를 이식 할 수 없다고 명시했을 때 왜 코드를 연구해야합니까? 어쨌든 Linux는 1991 년에 발표되었습니다. Linux가 아키텍처 포트 용 폴더를 추가하기까지 1994 년 4 월 (릴리스 1.1.45)까지 소요되었습니다. 포트가 실용되기까지 시간이 더 걸릴 것입니다. FSF가 1992 년 또는 1993 년에 허드를 계속하기로 결정했다면, 코드를 살펴보면 코드를 이식 할 수 없다는 사실 만 강화했을 것입니다.
Kevin Cathcart

4

나는 여기에 2 센트를 추가하고 있습니다.이 시점에서 논의 된 것은 많은 의미가 있다고 생각하지만 실제로 GNU 기초를 양극화 할 수 있다고 생각하는 한 가지 중요한 측면이 있으며 Linux가 점점 더 커지고 있다는 사실입니다. 더 많은 대기업이 실제 돈과 시간을 투자하는 곳, 리눅스가 일종의 집에서 만든 프로젝트 라는 생각은 사실이 아닙니다. 아마도 조금은 아닙니다. 패치하지만, 대부분의 리눅스에서는 기업의 직업입니다.


1
FSF가 소프트웨어 프로젝트에 대한 기업 지원에 문제가 있다고 생각하지 않습니다. 그들의 주요 초점은 자유 소프트웨어의 원칙에 있습니다.
Faheem Mitha

기업 지배력은 GNU GPL이 해결하려는 큰 관심사였습니다. 허가 된 라이센스가 부여 된 소프트웨어는 실제로 MIT와 버클리에서 정상적인 절차 였지만 일단 코드가 상용화되면 즉시 폐쇄되었습니다. 예를 들어, 오늘 Linux 소스를 체크 아웃 할 수 있으며 상업적으로 개발 된 모든 개선 사항이 잠재적 인 프로젝트에 도움이됩니다. 또는 내 다음 소규모 개인 프로젝트는 단지 몇 블록을 사용할 수 있습니다. 요점은 릴리스 된 개선 사항이 다음 코드로 작업하는 사람에게 이익이된다는 것입니다.
JM Becker

1

gnu.orgFAQ 에 또 다른 설명 이 있습니다 .

GNU Hurd가 Linux와 경쟁하기에 충분하게 작동하도록 만드는 것은 큰 일이 될 것이므로 분명히 필요하지는 않습니다. 커널로서 Linux에서 윤리적으로 잘못된 것은 펌웨어“blobs”를 포함하는 것입니다. 이 문제를 해결하는 가장 좋은 방법은 blob을 무료로 대체하는 것 입니다.


-6

Linux 가 Posix를 준수하지 않기 때문에 Linux는 Unix 일 수 없습니다 .

따라서 정치적 번거 로움없이 Linux는 Hurd의 디자인 목표를 달성 할 수 없습니다.

인용 : "Hudd는 널리 사용되는 운영 체제 커널 인 UNIX를 대체하는 GNU 프로젝트입니다."

놀랍게도 Debian / Hurd-Projekt가 있습니다. 그러나 그것은 아마도 다른 이야기 일 것입니다 ...

BTW : Windows (NT / XP 이후)도 MACH- 커널을 기반으로 합니다.


8
리눅스가 POSIX 규격이 아니라고 주장한다면, 약간 백업해야한다. FSF가 말한 곳을 포함하여 100 % POSIX 호환 커널이 필요합니다. 그건 그렇고, 유닉스는 POSIX가 아닙니다. 유닉스 (등록 상표)는 특정 독점 OS이므로 다른 OS가 해당 OS 일 수 는 없습니다 .
psusi

6
MACH 기반 Windows 커널 인용? Wikipedia는 디자인 선택을 공유한다고 말합니다. 그러나 MACH는 프로토 타입 마이크로 커널이지만 대부분의 Windows OS 서비스는 사용자 영역이 아닌 커널에서 실행됩니다. 내가 알고있는 Windows 커널의 유일한 주요 OSS 구성 요소는 BSD 구현을 기반으로 한 네트워크 스택이었습니다. 그러나 여러 버전의 OS 이전 버전 (XP 또는 2k의 IIRC)과 더 잘 인터페이스 된 인터페이스로 교체 및 교체되었습니다.
Dan Neely

14
그러나 GNU도 유닉스가 아닙니다.
Simon

6
@Nils, 당신이 연결 한 질문 은 그것을지지하기보다는 당신의 입장 과 모순 됩니다.
psusi

8
@ Nils, Mach의 말도 안되는 것은 대중적인 오해의 또 다른 부분입니다. NT는 mach와 공통점이 없습니다. "서브 시스템 서버"는 마이크로 커널을 만들지 않는 유닉스 데몬과 다르지 않습니다. 원래 gui는 사용자 모드로 구현되었으며, 이것은 마이크로 커널 시스템과 유사하지만 (Xwindows도 마찬가지이므로 Linux를 마이크로 커널로 만들지는 않음) NT4에서 폐기되어 커널로 옮겨졌습니다.
psusi
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.