여기에 대해 더 알고 싶다면, Linux와 GNU 프로젝트에 있는、왜 GNU/Linux 인가?와、GNU를 처음 접하는 사람들을위한 문서를 읽어 보세요.
많은 이들이 단순히 “Linux”라 부르는 시스템을 GNU/Linux라고 쓰고 또 권하는 것을 보면 사람들이 이것 저것 많이 질문을 합니다. 많이 묻는 질문과 그에 대한 우리의 답변을 모아 봤습니다.
공평성을 위해, 최소한 우리는 동등하게 언급되어야 합니다.
GNU프로젝트의 역사와 자세한 설명은 Linux와 GNU 시스템과 GNU에 대해 알지 못하는 GNU 사용자를 읽어보세요.
GNU/Linux 시스템이라 부르는 것을 통해 자유 소프트웨어 커뮤니티의 이상주의가 우리 커뮤니티를 만드는 데 한 역할을 깨닫게 할 수 있고 대중들에게 이 이상의 실용적인 중요성에 대해서 인식하도록 도울 수 있습니다.。
Linux와 GNU 시스템을 엮은 사람들은 자기들의 활동이 무엇이 됐는지 알지 못했습니다. 그들은 Linux라는 부분에만 관심을 두고 시스템의 대부분이 GNU임을 깨닫지 못했습니다. 그들은 그 이름이 자기들이 한 일에 맞지 않음에도 그것을 “Linux”라고 부르기 시작했습니다. 몇 년이 지나서야 우리는 이것이 문제임을 알고 사람들에게 Linux라고 부르는 버릇을 고쳐달라고 부탁했습니다. 그 때부터 문제는 커지기 시작했습니다.
“Linux”라고 부르는 사람들은 대부분 왜 그것이 옳지 않은 일인지 전혀 들어보지 못했습니다. 그들은 다른 사람들이 그 이름을 쓰는 것을 보고 그것이 맞는 것이라 추측했습니다. “Linux”라는 이름은 또한 시스템의 기원에 대한 잘못된 그림을 퍼뜨렸습니다. 사람들이 그 시스템의 역사를 그 이름에 맞춰 생각하려 했기 때문입니다. 이를테면 그들은 Linus Torvalds가 1991년에 개발을 시작했다고 믿고는 합니다. 이 잘못된 그림은 “Linux”라고 불러야 한다는 잘못된 생각을 강화하기 쉽습니다.
이 파일에 있는 질문 중에는 사람들이 자기들에게 익숙한 이름을 정당화하려는 의도를 나타낸 것이 많습니다.
사람들이 전체 시스템을 “Linux”라고 부르면 커널과 같은 이름으로 전체 시스템을 부르는 결과를 낳습니다. 이것은 혼동을 일으킵니다. 전문가들만이 그 말이 커널에 대한 것인지 전체 시스템에 대한 것인지 구별할 수 있기 때문입니다. 전체 시스템을 “GNU/Linux”로, 커널을 “Linux”로 부름으로써 모호함을 피할 수 있습니다.
Linus Torvalds는 1990년에 핀란드에서 GNU에 대한 연설에서 일정 부분 영향을 받았습니다. 이 영향이 없었더라도 Linus Torvalds가 유닉스 같은 커널을 짰을 수도 있습니다. 그러나 자유 소프트웨어는 아니었을 것입니다. Linux는 Linus Torvalds가 그것을 GNU GPL로 발표한 1992년 자유로워졌습니다(0.12 판의 발표문을 보세요).
Linus Torvalds가 Linux를 다른 자유 소프트웨어 라이선스로 발표했더라도 자유 커널만으로는 세상에 그다지 변화를 가져오지 못했을 것입니다. Linux의 중요성은 더 큰 프레임워크, 즉 완전한 자유 운영체제인 GNU/Linux에 잘 들어맞았다는 데 있습니다.
하지만 우리가 이렇게 말하는 것을 좋아하지 않는 사람들이 있습니다. 그 사람들은 때때로 우리를 밀어내려 합니다. 종종 그들은 너무 무례해 우리가 침묵하도록 고의로 협박하는 것이 아닌가 하는 생각이 들 때가 있습니다. 그것으로 우리를 침묵하게 할 수 없습니다. 그러나 그 때문에 커뮤니티가 분열됩니다. 따라서 우리는 여러분이 그들이 그러지 못하게 납득을 시켜주기를 바랍니다.
하지만 이것은 커뮤니티 분열의 부차적인 원인입니다. 커뮤니티에서 가장 큰 분열은 자유 소프트웨어를 사회적이고 윤리적인 이슈로 인정하고 독점 소프트웨어를 사회 문제로 여기는 (자유 소프트웨어 운동 지지자) 사람들과 실용적인 혜택만 인용하고 자유 소프트웨어를 효율적인 개발 본보기로만 소개하는 사람들 (오픈 소스 운동) 사이의 분열입니다.
이러한 불일치는 단지 이름 문제가 아니라 기본 가치를 달리하는 문제입니다. 커뮤니티에서 이러한 불일치에 대해 생각해 보는 것은 필수적입니다. “자유 소프트웨어”와 “오픈 소스”라는 이름은 두 가지 태도를 나타내는 표지입니다.왜 자유 소프트웨어가 오픈 소스보다 좋은가?를 보세요.
가치에 대한 불일치는 부분적으로 사람들이 GNU 프로젝트의 커뮤니티 내에서의 역할에 대해 갖는 관심의 크기와 일치합니다. 자유를 중시하는 사람들은 “GNU/Linux”라 부를 것이고 그 시스템이 “GNU/Linux”임을 배운 사람은 자유와 커뮤니티를 위한 우리의 철학적 논의에 더 관심을 기울일 것입니다(이것이 시스템 이름을 고르는 것이 사회에 진정한 변화를 가져다 주는 이유입니다). 하지만 모든 사람이 시스템의 진짜 기원과 적합한 이름을 안다고 해도 불일치는 존재할 것입니다. 이슈는 하나뿐이기 때문입니다. 그 이슈는 자유를 중시하는 우리가 모든 사람을 설득하거나 (쉽지 않을 것입니다) 우리가 완전히 지면(그러지 않기를 바랍니다) 사라질 것입니다.
이런 말을 하는 사람들은 아마도 geek에 대해 생각하는 geek들일 것입니다. Geek들은 GNU에 대해 알기도 합니다. 그러나 GNU가 무엇인지에 대해 완전히 잘못된 개념을 갖고 있는 사람들이 많습니다. 이를 테면, 이를 “도구”모음으로 생각하거나 도구를 개발하는 프로젝트로 생각하는 사람이 많습니다.
이 질문의 말씨는 전형적인데 또 다른 일반적인 오해를 묘사합니다. 무언가를 개발하는 “GNU의 역할”에 대해 말하는 것은 GNU를 사람들의 모임으로 가정하는 것입니다. GNU는 운영체제입니다. 운영체제나 다른 활동에서 GNU 프로젝트의 역할에 대해 이야기하는 것은 말이 되지만 사람들의 모임으로 GNU를 언급하는 것은 말이 안됩니다.
선진국에서는 거의 모든 사람이 “Windows”시스템은 마이크로소프트가 만들었음을 압니다. 그래서 “Microsoft Windows”를 “Windows”로 줄여도 그 시스템의 원래 모습이나 기원에 대해 오해하지 않습니다. “GNU/Linux”를 “Linux”로 줄이는 것은 잘못된 개념을 줍니다.
질문 자체가 오해를 일으킵니다. 왜냐하면 GNU와 Microsoft는 같은 종류의 대상이 아니기 때문입니다. Microsoft는 회사이고 GNU는 운영체제입니다.
GNU 프로젝트는 GNU 운영체제의 이름을 딴 것입니다. GNU 프로젝트는 GNU 운영체제를 만드는 프로젝트입니다.(1983년의 최초 발표문를 보세요.)
우리는 GCC, GNU 이맥스, GAS, GAS, GLIBC, BASH 등과 같은 프로그램을 개발했습니다. GNU 운영체제를 위해 필요했기 때문입니다. GCC, 즉 GNU Compiler Collection은 GNU 운영체제를 위해 개발한 컴파일러입니다. GNU 프로젝트에서 일하는 많은 사람들은 또한 GNU 운영체제를 위해 고스트스크립트, GNUCash, GNU 체스, GNOME 등을 개발했습니다.
커널은 운영체제 프로그램의 하나로 기계 자원을 다른 프로그램에 할당하는 프로그램입니다. 커널은 또한 다른 프로그램을 시작하고 멈추게 합니다.
혼란스럽게도 “커널”이라는 뜻으로 “운영체제”라는 용어를 쓰는 사람들도 있습니다. 이렇게 쓰인 것은 오래 전으로 거슬러 올라갑니다. “커널”이라는 뜻으로 “운영체제”라는 말을 사용한 것이 시스템 설계에 관한 교과서에 나타난 것은 1980년대까지 거슬러 올라갑니다. 같은 시기에 “유닉스 운영체제”는 모든 시스템 프로그램을 포함한 것으로 이해됐고 버클리 유닉스에는 게임까지 들어있었습니다. 우리는 GNU를 유닉스 같은 운영체제로 의도했기 때문에 “운영체제”라는 용어를 같은 방식으로 씁니다.
사람들이 “Linux 운영체제”에 관해 이야기할 때 대부분은 “운영체제”를 우리와 같은 의미로 씁니다. 즉 프로그램의 전체 모음을 의미합니다. 여러분이 이야기하는 것이 우리가 말하는 것과 같다면 “GNU/Linux”라고 불러주세요. 그냥 커널을 의미하는 거라면 “Linux”가 정확한 이름입니다. 그러나 여러분이 의미하는 게 소프트웨어의 어느 부분에 대한 것인지 모호함을 피하기 위해 “커널”이라고 말해주세요.
전체 프로그램 모음으로 “운영체제” 대신 “시스템 배포판” 같은 용어를 쓰는 것을 더 좋아한다면 그것도 좋습니다. 그러면 GNU/Linux 시스템 배포판들이라고 말할 수 있겠네요.
집은 조각난 많고 작은 구성품들이 원 위치에 모아져 만들어집니다. 그것들은 아래에서부터 차례대로 끼워맞춰져야 하죠. 그러므로, 기반이 만들어지지 않았다면 튼튼한 구성품이 만들어질 수 없습니다. 당신이 가진거라곤 흙구덩이 뿐이죠.
반대로, 운영체제는 어떠한 순서에도 상관 없이 개발된 여러 복잡한 component들이 구성된 것입니다.당신이 대부분의 component들을 만들었다면 대부분의 작업은 끝난 것 입니다.이는 집보다는 국제우주항공정거장과 더 비슷하다고 할 수 있습니다.만약 대부분의 우주정거장의 모듈들이 궤도에 있고 다른 기본 모듈들이 만들어지길 기다린다면, 그것이 바로 1992년에 GNU의 모습과 비슷할 것입니다.
우린 패키지화된 GNU 시스템이 설치를 목적으로 출시하길 기대했었지만 이는 한 사건에 의해 이미 진행되었습니다: 1992년 다른이들이 이미 Linux가 포함된 GNU 변종을 패키징한 것입니다. 1993년부터 시작해서 우린 더 좋고 더 자유로운 GNU/Linux 배포판을 만드려는 노력에 지원을 가했습니다. 이는 Debian GNU/Linux라 불려집니다.Debian의 창업자는 이미 이름까지 정했었습니다. 우리는 그에게 그것을 그저 “GNU”라고 부르도록 요구하지 않았습니다. 왜냐하면 그 때 당시 준비가 안됬던 GNU Hurd 커널의 이름이 되었기 때문입니다.
GNU Hurd 커널은 충분히 준비되지 못했었습니다. 우리는 오직 이를 사용하는데 관심을 가졌던 이들에게만 추천을 했습니다. 그래서 우리는 GNU Hurd 커널을 GNU에 패키지하지 않았습니다. 하지만 Debian은 이를 Debian GNU/Hurd로 패키지하였죠.
우리는 지금 Guix라 일컫는 고급 Scheme-based 패키지 매니저와 Guix 시스템 배포판(GuixSD)을 개발중에 있습니다.이는 GNU의 실질적인 부분을 리패키징하는 것을 포함합니다.
우리는 절대 “GNU”의 이름 아래 GNU를 패키징하는 지난 단계를 밟지 않았습니다. 그러나 그것은 GNU가 무엇인지를 변화시키지 않습니다. GNU는 운영체제입니다.
왜냐하면 두 구조(예시)는 비슷하게 사용되기 때문에, “Linux 커널”라는 표현은 쉽게 “Linux의 커널”라는 의미로 오해될 수 있습니다. Linux가 커널보다 더 상위의 개념이라는 것을 암시할 수 도 있습니다. 당신은 “커널, Linux” 혹은 “Linux, 커널”고 말하거나 글로 써서 발생하는 오해의 가능성을 피해야 합니다.
이 시스템을 위한 가장 짧고 합리적인 이름은 “GNU”이지만, 다음과 같은 이유로 “GNU/Linux”라 부릅니다.
“GNU”라 부르거나 입력하는데 몇 초 걸리지 않습니다. 만약 당신이 우리가 만든 시스템에 감사하게 느낀다면, 그냥 몇 초 더 써서 우리의 결과물을 인정해주면 안되나요?
사실 “GNU/Linux” 4음절 밖에 되지 않습니다. “Unfortunately”는 5음절뿐이죠. 그런데 사람들은 이 단어를 사용하는데 전혀 불편을 느끼지 않습니다.
따라서 “Linux”라고 부르는 것에 대한 비용을 내지 않으려고 그냥 “GNU”라 부르고 싶다면 우리는 비난하지 않을 것입니다.
마땅히 받아야 할 사람이 그 기여를 인정받아야 한다고 생각한다면 부차적인 기여들도 시스템 이름에 넣고 싶을지도 모릅니다. 그렇다면 우리와 논쟁할 필요가 없습니다. X11이 시스템 이름에 들어갈 만한다고 생각하고 GNU/X11/Linux라고 부르고 싶다면 그렇게 하세요. Perl이 꼭 언급될 필요가 있고 GNU/Linux/Perl이라고 쓰고 싶다면 그렇게 하세요.
GNU/X11/Apache/Linux/TeX/Perl/Python/freeciv 같은 긴 이름은 우스꽝스러워지기 때문에 어느 지점에 이르면 한계를 정하고 부차적인 기여의 이름을 뺄 것입니다. 한계를 정할 적절한 곳이 없으므로 어떻게 정하든 우리는 반박하지 않을 것입니다.
한계 수준이 서로 다르면 시스템 이름을 고르는 것도 달라집니다. 형평성을 잃어버린 이름의 한 예가 바로 “Linux”입니다. 주요 기여(GNU)를 빼고 부차적인 기여(Linux)만 인정하는 것은 공평하지 않습니다.
GNU는 다릅니다. 기여된 프로그램 이상이자, 기여된 프로그램 모음 이상이기 때문입니다. GNU는 시스템이 만들어진 뼈대입니다.
현재 GNU는 시스템의 작은 부분입니다. 그리고 Linux는 더 작은 부분이죠. 그러나 그들은 시스템의 핵심입니다; 시스템은 두 가지의 결합으로 만들어졌습니다. 그러므로 “GNU/Linux” 이름이 적합하게 남은 것입니다.
GNU는 RedHat이나 Novell과 비교할 수 없습니다. GNU는 회사나 조직, 활동이 아닙니다. GNU는 운영체제입니다(GNU 프로젝트에 대해 이야기할 때 그것은 GNU 운영체제를 개발하는 프로젝트를 가리킵니다). GNU/Linux 운영체제는 GNU에 바탕을 두고 있고 GNU가 그 이름에 나타나야 하는 것은 그 때문입니다.
그 회사들이 GNU/Linux에 하는 기여 중 상당수가 GCC와 GNOME 등의 다양한 GNU 패키지에 기여한 코드에 집중되어 있습니다. GNU/Linux라고 말해야 나머지 GNU 개발자들과 함께 그 회사들의 기여를 인정하는 것이 됩니다.
Linux는 GNU 패키지가 아닙니다. 즉 Linux는 GNU 프로젝트의 주도로 개발되거나 GNU 프로젝트에 특별히 기증되지 않았습니다. Linus Torvalds는 그의 개인 프로젝트로 Linux를 독립적으로 만들었습니다. 그래서 “Linux는 GNU 패키지”라는 뜻은 맞지 않습니다.
우리는 Linux 커널의 구별된 GNU 판에 대해 이야기하는 것이 아닙니다. GNU 프로젝트는 별도의 Linux 판본을 갖고 있지 않습니다. GNU/Linux 시스템은 다른 Linux 판본을 사용하지 않습니다. Linux의 주된 용도는 이런 시스템들에 포함되는 것이고, Linux 표준판이 이런 시스템들을 위해 개발되었습니다. 그래서 “Linux의 GNU 판” 역시 맞지 않습니다.
우리는 Linux를 커널로 쓰는 GNU 운영체제에 대해 이야기하고 있습니다. 사선이 이 상황에 맞습니다. 사선은 “결합”을 의미하기 때문입니다. (“입력/출력”을 생각해 보세요) 이 시스템은 GNU와 Linux의 결합입니다. 그러므로 “GNU/Linux”입니다.
“결합”을 표현하는 다른 방법도 있습니다. 더하기 기호가 더 명확하다고 생각한다면 더하기 기호를 쓰세요. 프랑스어에서는 대시를 써 “GNU-Linux”라고 하는 것이 명확합니다. 스페인어에서는 “GNU con Linux”라고 말하기도 합니다.
그런데 “Linux/GNU”라고 부르고 싶다면, 사람들이 일반적으로 GNU를 떼어 버리고 전체 시스템을 Linux만으로 부르는 것보다는 훨씬 낫습니다.
만약 그들이 GNU/Linux를 “Foobar BSD”라고 부른다면 당신은 그것을 실수라 할 것 입니다. “이 시스템은 BSD가 아니다” 당신은 그들에게 말하겠죠.그렇다면, Linux도 똑같이 아닙니다. (똑같이 아니라 생각할 수 있습니다.)
이는 “Foobar Linux” 배포판을 만든 사람들이 흔한 실수를 되풀이하고 있음을 의미합니다.우리는 Debian, Dragora, Musix, Trisquel 그리고 Venenux 같은 배포판들이 그들의 공식 이름상에서 GNU/Linux를 채택하는 것에 대해 감사함을 느낍니다. 그리고 우리는 만약 당신이 다른 배포판에 가담하고 있다면, 당신이 당신의 배포판을 앞 예와 같은 맥락에서 GNU/Linux를 여기길 바라고 있습니다.
만약 그들에게 “GNU”을 “Foobar Linux” 바꾸는 것을 허용한다면 이는 당신에게 “Foobar GNU/Linux”라고 바꾸도록 하는 것입니다. 이것이 당신이 그들의 오류를 피하기 위해 해야할 일입니다.
우리는 그 회사들을 바꿀 수 없지만 길이 어렵다고 포기하지 않습니다. 여러분은 IBM이나 RedHat같은 회사에 비해서 영향력이 적을 것입니다. 그러나 여러분은 여전히 도울 수 있습니다. 회사들이 “GNU/Linux”라 불러야 수익을 더 많이 얻을 수 있는 데까지 상황을 함께 바꿔 나갈 수 있습니다.
문제는 이를 어떻게 바꾸냐 하는 것입니다.
GNU와 Linux를 이미 사용하는 커뮤니티들은 그 것이 무엇인지 이미 깨닫지 못하며, 자신들은 진정한 GNU가 아니라고 말하면서 사용자들에게 자유의 가치를 더 이상 가르치려 하지 않습니다. 그들은 의도된 메시지를 들으려 하지 않습니다. 그들은 이 시스템들이 처음에는 GNU였던 것을 전혀 생각하려 하지 않습니다.
이런 사용자들이 자유와의 관계를 보도록 이끄는 방법은 정확히 그 반대입니다. 이 모든 시스템들이 GNU 판본이고 그것들이 특히 사용자의 자유를 위해 존재하는 시스템에 바탕을 두고 있다는 것을 알리는 것입니다. 이를 이해해야 비자유 소프트웨어를 포함한 배포판을 적당한 “Linux 판본”이 아니라 GNU를 이상하고 변질시킨 판본이라는 것을 인식할 수 있습니다.
GNU/Linux라 부르고 GNU 프로젝트의 이상을 받아들이는 것을 활동의 기초로 삼는 GNU/Linux 사용자 모임을 시작하는 것은 매우 유용합니다. 지역 Linux 사용자 모임에 위에서 말한 문제가 있다면 모임 내에서 모임의 방침(과 이름)을 바꾸거나 새 모임을 시작하는 운동을 할 것을 권합니다. 더욱 표면적인 목적에 초점을 맞추는 사람들은 자신들의 관점을 갖을 권리가 있지만, 그들이 여러분을 이끌도록 하지 마세요.
GNU/Linux 배포판을 개발하는 것에 관해서라면 Debian GNU/Linux 초기 개발비를 투자한 적이 있습니다. 그 일을 다시 하는 것은 유용해 보이지 않습니다. 해야 할 일이 많습니다. 그리고 새 배포판이 기존의 다른 배포판에 비해 실질적이고 실용적이 이점이 더 많지 않는 한 목적을 충족시킬 것 같지 않습니다.
대신에 우리는 100% 무료 GNU/Linux 배포판의 개발자들을 도울 것입니다. 예를들어, gNewSense 그리고 Ututo가 있죠.
우리가 기존 GNU/Linux 판본을 가져다 “GNU”라고 다시 이름을 붙이려 하지 않는 또 다른 이유가 있습니다. 그 것은 GNU 시스템을 가져다가 “Linux”라고 이름 붙이는 것과 닮았습니다. 그것은 옳지 않습니다. 그리고 그렇게 하고 싶지도 않습니다.
변경 작업을 한 사람들은 우리와 협력하는 데 별 관심을 보이지 않았습니다. 그들 중 어떤 사람은 GNU 프로젝트와 함께 일하는 것에 대해 관심이 없다고 말하기도 했습니다. 그는 “Linux 사용자”였기 때문입니다. 그것은 충격으로 다가왔습니다. 왜냐하면 GNU 패키지를 다른 시스템에 이식했던 사람들은 일반적으로 자신들의 변경작업이 반영되도록 하기 위해 우리와 함께 일하기를 원했기 때문입니다. GNU에 주된 바탕을 둔 시스템을 개발한 이 사람들은 우리와 함께 일하려 하지 않은 첫 번째(그리고 여전히 실제로 유일한) 그룹이었습니다.
이 경험을 통해 사람들이 GNU 시스템을 “Linux”라 부르고 이 혼동이 우리 일에 장애물이 됨을 처음으로 알았습니다. “GNU/Linux”라 불러달라고 부탁하는 것은 그 문제와 “Linux”라는 틀린 이름 때문에 생긴 다른 문제에 대한 우리의 반응입니다.
실제로는 기다리지 않았습니다. 1994년에 우리는 개발자와 배포판 회사들에게 사적으로 이에 대해 이야기했습니다. 그리고 1996년에 좀더 공개적인 운동을 시작했습니다. 필요하다면 이 운동을 앞으로도 계속 할 것입니다.
GNU 운영체제는 여러 가지 프로그램으로 만들어졌습니다. 어떤 프로그램들은 GNU 프로젝트의 일부분으로 만들어졌거나 GNU 프로젝트에 특별히 기증됐습니다. 이것들이 GNU 패키지이고 그 이름에 “GNU”를 종종 사용합니다.
프로그램을 기증하고 GNU 패키지로 만들기로 결정하는 것은 프로그램 개발자에게 달려 있습니다. 여러분이 프로그램을 개발해 그것을 GNU 패키지로 만들고 싶다면 <gnu@gnu.org>로 전자 우편을 보내세요. FSF에서 그것을 평가하고 우리에게 필요한지 결정할 것입니다.
GPL로 발표된 개별 프로그램에 전부 GNU라는 이름을 넣는 것은 올바르지 않습니다. 여러분이 프로그램을 짜 GPL로 발표하는 게 GNU 프로젝트가 그 프로그램을 짰거나 여러분이 우리를 위해 그것을 만들었음을 의미하지는 않습니다. 이를테면 Linux 커널은 GNU GPL로 발표됐지만 Linus Torvalds는 GNU 프로젝트의 일부로 Linux를 만들지 않았습니다. 그는 독립적으로 그 일을 했습니다. 어떤 프로그램이 GNU 패키지가 아니라면 GNU 프로젝트는 그 공을 차지할 수 없고 그 이름에 “GNU”라는 이름을 넣는 것은 부적절합니다.
반대로 우리는 GNU 운영체제에 들어있는 모든 각각의 프로그램에 대해서는 아니더라도 전체로서 GNU 운영체제에 대한 전반적인 기여를 인정받을 만합니다. Linux가 시작되기 몇년 전인 1984년부터 시작한 우리의 결단과 끈기로 말미암아 시스템은 시스템으로 존재합니다.
Linux를 포함한 운영체제가 인기있게 된 것은 GNU 운영체제와 기본적으로 같기 때문이었습니다. 커널이 다르기 때문에 완전히 같지는 않았지만 대부분 같은 시스템이었습니다. 그것은 GNU의 변종, GNU/Linux 시스템입니다.
Linux는 그 시스템의 파생물, 즉 GNU/Linux 시스템의 현재 판본으로 계속 쓰일 것입니다. 이 시스템들에 정체성을 주는 것은 Linux만이 아니라 그 중심에 있는 GNU와 Linux입니다.
GNU에 있는 어떤 코드도 유닉스에서 오지 않았습니다. 그러나 GNU는 유닉스와 호환되는 시스템입니다. 그래서 GNU의 많은 아이디어와 명세는 유닉스에서 온 것입니다. “GNU”라는 이름은 1970년대에 시작된 재귀 약어라는 해커 전통에 따라, 유닉스에 경의를 표하는 익살스러운 방법입니다.
이러한 재귀어의 처음은 TINT,“TINT Is Not TECO”였습니다. TINT라는 이름을 지은 사람은 이미 다양한 시스템에 구현되어 있는 TECO를 달리 구현하고서 “무언가 다른 TECO”라는 시시한 이름으로 부르기 보다는 멋있고 재미있는 이름을 지었습니다. (이것이 바로 해킹이 의미하는 바, 재치있는 기발함입니다.)
다른 해커들이 그 이름을 즐기자 우리도 이와 같은 방식을 흉내냈습니다. 이후, 기존 프로그램과 비슷한 프로그램을 처음부터 다시 짤 때 전통이 됐습니다. (그 이름이 “Klever”라고 합시다) 그 프로그램 이름을 재귀 약어인 “MINK”, 즉 “MINK Is Not Klever”로 지을 수 있습니다. 이와 같은 정신으로 우리는 우리의 유닉스 대체품을 “GNU's Not Unix”라고 불렀습니다.
역사적으로 유닉스를 개발한 AT&T는 비슷한 시스템의 이름에 “유닉스”를 사용해서 크레딧을 주고 싶지 않았습니다. AT&T는 유닉스 코드를 99% 사용하는 경우에도 그러길 원치 않았습니다. AT&T는 그런 크레딧을 너무나 싫어해서 그런 방식으로 AT&T에 크레딧을 주려 한다면 상표권 침해로 소송을 걸 것입니다. 이 때문에 다양한 컴퓨터 회사에서 만든 다양한 유닉스 수정판들이(모두 유닉스처럼 독점적이었습니다) 전부 이름이 서로 달랐습니다.
BSD 시스템은 UC 버클리에서 비자유 소프트웨어로 1980년대에 개발됐고 1990년대 초반에 자유롭게 됐습니다. 오늘날 존재하는 자유 운영체제는 거의 대부분 GNU 시스템의 변형이거나 BSD 시스템의 일종입니다.
사람들이 GNU/Linux처럼 BSD도 GNU의 변형인지 물어볼 때가 종종 있습니다. 아닙니다. BSD 개발자들이 GNU 프로젝트 예를 보고 BSD 코드를 자유 소프트웨어로 만들기로 마음 먹었고 GNU 활동가들이 BSD 개발자들이 그 일을 시작할 확신이 들도록 분명히 호소하기는 했지만 BSD 코드는 GNU와 거의 겹치지 않습니다.
GNU 시스템과 그 변형이 BSD 프로그램들을 쓰는 것처럼 BSD 시스템은 오늘날 GNU 패키지들을 사용합니다. 하지만 전체적으로는 두 가지 서로 다른 시스템으로 별도로 발전해왔습니다. BSD 개발자들은 커널을 개발하지 않았고 커널을 GNU 시스템에 추가했습니다. 따라서 GNU/BSD 같은 이름은 상황에 맞지 않습니다.
GNU/Linux와 GNU의 관계가 더 가깝습니다. 그래서 “GNU/Linux”라는 이름이 더 적절한 것입니다.
NetBSD 커널을 사용하는 GNU 판본이 있습니다. 그 개발자들은 그것을 “ Debian GNU/NetBSD”라고 부르지만 “GNU/kernelofNetBSD”가 더 정확합니다. NetBSD는 전체 시스템이지 커널이 아니기 때문입니다. 이것은 BSD 시스템이 아닙니다. 시스템 대부분이 GNU/Linux 시스템과 같이 때문입니다.
Android는 GNU/Linux와 매우 다른 것입니다. 두 개체는 공통된 코드를 거의 가지지 않습니다. 사실 이 둘이 가지는 공통 사항은 Linux를 사용한다는 것입니다.
만약 당신이 전체 GNU/Linux 시스템을 “Linux”라 부른다면, 당신은 “Android는 Linux를 포함하지만 Linux는 아니다. 왜냐하면 이는 Linux [sic] Library들과 유틸리티들[GNU 시스템을 뜻함]을 가지고 있지 않기 때문이다.”라고 말해야할 필요를 느낄 것입니다.
Android는 GNU/Linux가 Linux를 포함하는 만큼 Linux를 담고 있습니다. 이것이 가지고 있지 않은 것은 GNU 시스템일 뿐입니다. Android는 이를 꽤 다르게 동작하는 Google 소프트웨어로 대체하였습니다. Android가 GNU/Linux로부터 가지는 차이점은 GNU가 존재하지 않는 것입니다.
GNU는 커뮤니티에 의해 유지되는 운영체제입니다. 이것은 단순히 GNU 소프트웨어 패키지(우리가 구체적인 리스트를 가지고 있는)보다 더 많은 것을 포함합니다. 그리고 사람들은 계속해서 패키지를 추가합니다. 이러한 변화에도 불구하고, GNU 시스템은 남아있으며 Linux를 추가하는 것은 GNU/Linux를 지탱하게 합니다. 만약 당신이 GNU의 한 부분을 사용하고 있고 그 부분을 생략한다면, “얼마나”사용하냐 라는 말은 의미 자체가 없습니다.
만약 우리가 패키지의 레벨을 본다면 Linux는 GNU/Linux에 중요한 패키지가 됩니다. 중요한 GNU 패키지의 포함은 우리가 요구한 부분을 동등한 언급으로 정당화하기에 충분합니다.
Linus Torvalds는 자유 소프트웨어 운동의 이상에 동의하지 않는다고 공개적으로 말했습니다. 그는 수년 동안 직장에서 비자유 소프트웨어를 개발했습니다(그리고 “Linux”월드 쇼에 온 수많은 청중에게 그렇게 말했습니다). 그리고 Linux 커널의 동료 개발자들이 그와 함께 일하는데 있어서 비자유 소프트웨어를 사용하도록 했습니다. 그는 더 나아가 기술자와 과학자가 기술적 작업의 사회적 결과를 고려해야 한다고 제안하는 사람들을 비난하고 원자 폭탄 개발에서 사회가 배운 교훈을 거부했습니다.
배움과 즐거움이라는 동기로 자유 프로그램을 짜는 것에 잘못된 것은 없습니다. Linus Torvalds가 이러한 이유 때문에 만든 커널은 자유 소프트웨어 커뮤니티에 중요한 기여였습니다. 그러나 그러한 동기는 완전한 자유 시스템인 GNU/Linux가 존재하는 이유가 아니고 장차 우리의 자유를 지켜주지 못할 것입니다. 대중은 이 사실을 알아야 합니다. Linus Torvalds는 그의 관점을 알릴 권리가 있습니다. 하지만 사람들은 문제의 운영체제는 그의 관점이 아니라 자유의 이상에서 비롯된 것임을 알아야 합니다.
리누스 토발즈는 처음에는 이를 인식했습니다. 첫 Linux 발표문을 보면 “Linux에 쓰인 대부분의 도구는 GNU 소프트웨어이고 GNU 저작권 아래 있습니다. 이 도구들은 배포판에 들어있지 않습니다. 더 자세한 정보는 저(나 GNU)에 문의하세요.”라고 적혀있습니다.
Linux와 충분히 경쟁할 만한 GND Hurd를 만드는 작업은 큰 일이 될 것이나 이것이 명확히 필요하지는 않습니다. Linux를 커널로 봤을 때 윤리적으로 옳지 못한 단 한 가지는 펌웨어 “blobs”의 포함입니다. 이 문제를 해결하는 가장 좋은 방안은 무료 대체물인 blobs을 개발하는 것입니다.
그 방식은 비효과적입니다. 잘 이해되지도 않고 확실이 전해지지도 않을 것이기 때문입니다. 몇몇 사람이 여러분의 설명을 관심 있게 듣고 시스템의 기원에 대한 바른 그림을 알 수 있을지도 모릅니다. 그러나 그들이 그 시스템에 대해 이야기할 때 같은 설명을 다른 사람에게 되풀이하지는 않을 것입니다. 그들은 그냥 “Linux”라 부를 것입니다. 특별히 의도하지 않는 한 그들은 잘못된 그림이 퍼지는 것을 돕는 셈입니다.
많은 시간이 걸리기 때문에 그 방식은 비효율적입니다. “GNU/Linux”라고 말하고 쓰는 데 하루에 몇 분, 아니 몇 초밖에 걸리지 않습니다. 따라서 그 방법으로 더 많은 사람에게 다가갈 수 있습니다. 쓰고 말할 때 Linux와 GNU/Linux를 구별하는 것은 GNU 프로젝트를 효과적으로 돕는 지금까지 알려진 가장 쉬운 방법입니다.
사람들이 때때로 우리를 비웃게 할 요청을 하는 위험을 왜 무릅쓸까요? 그것이 GNU 프로젝트를 돕는 유익한 결과를 가져올 때가 종종 있기 때문입니다. 우리는 우리의 목적을 달성하기 위해서라면 잘못된 오용도 감수할 것입니다.
여러분이 이런 아이러니한 불공평한 상황을 만나게 된다면, 그냥 지나치지 마세요. 웃는 사람들에게 진짜 역사를 가르쳐 주세요. 요청이 왜 정당한지 그들이 알면 지각 있는 사람이라면 웃음을 멈출 것입니다.
이미 협조적이지 않은 사람과 멀어지는 상황을 걱정하는 것은 말이 되지 않습니다. 그리고 이것은 그 문제를 영구화 시키려는 사람들에게 화를 내지않을까 우려하여 그 큰 문제를 정정하는 것을 단념하게하여 자기 패배적입니다. 그러므로, 우리는 계속해서 오칭을 정정하려 노력할 것입니다.
두 개의 다른 BSD 라이센스가 있습니다.명확함을 위해, “BSD 라이센스”르 어떤 한 부분을 제외하고 그 용어를 사용하지 마십시오.
우리는 여러분이 그 전제에 우리처럼 동의하지 않기를 바랍니다.
처음에 많은 사람들이 지닌 믿음, 즉 독점 소프트웨어가 적당하고 받아들일 만하다는 믿음을 부인하지 않고서는 자유 운영체제를 개발하지 못했을 것입니다.
우리는 여러분이 옳고 그름을 중시하는 사람 중 한 명이기를 바랍니다.