Linux가 공식 GNU 커널로 채택되지 않은 이유는 무엇입니까? 체제 커널이라는 사명을 알고 있었지만 ,

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

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



답변

개발자가 모든 공식 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은 이미 독립적 인 조직이므로 그대로 유지 될 수 있습니다.


답변

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

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 커널 개발자에 대한 비판을 의도하지 않습니다. 양쪽에는 고유 한 관점이 있습니다. 그러나 상황의 현실은 어느 정도는 양립 할 수없는 관점이라는 것입니다.


답변

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

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

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

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

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

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

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

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


답변

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


답변

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

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


답변

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

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

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

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

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


답변