콤퓨우터/Linux

Linux와 GNU/Linux 템플릿 밈

파란화면 2024. 7. 20. 22:37
반응형

리눅스 배포판들을 "GNU/Linux"라고 불러야 하나, "Linux"라고 불러도 상관없냐, 라는 논쟁은 거의 30년은 된 퀘퀘묵은 떡밥입니다. 오늘날 대부분의 배포판들은 그냥 Linux라는 이름을 사용하지만, 데비안(Debian GNU/Linux) 처럼 GNU/Linux 표기를 쓰는 유명 배포판도 남아 있지요.

영어권 리눅스 커뮤니티에서는 이런 논쟁에 으레 등장하는 오래된 copypasta(템플릿 밈)이 있습니다. (흔히 맨 처음 부분을 따서 I'd just like to interject for a moment라고 부릅니다) 아래에 해당 밈의 원문과 번역을 같이 싣었습니다.

잠시 좀 끼어들겠습니다. 여러분이 Linux라고 부르는 것은 사실 GNU/Linux 내지는 GNU 플러스 Linux(최근에 제가 사용하기 시작한 명칭입니다)입니다. Linux는 그 자체로는 운영 체제가 아닙니다. Linux는 GNU의 corelibs・셸 유틸리티・중요 시스템 컴포넌트의 힘으로 사용성을 얻고, POSIX에 정의된 바에 따라 완전한 OS를 구성하는 GNU 시스템에 있어, 또 하나의 자유 컴포넌트에 지나지 않습니다.

I'd just like to interject for a moment. What you're referring to as Linux, is in fact, GNU/Linux, or as I've recently taken to calling it, GNU plus Linux. Linux is not an operating system unto itself, but rather another free component of a fully functioning GNU system made useful by the GNU corelibs, shell utilities and vital system components comprising a full OS as defined by POSIX.


많은 컴퓨터 사용자들이 그 사실을 알지도 못한 채로 GNU 시스템의 수정된 판본을 매일 구동하고 있습니다. 해괴한 일들이 여럿 일어난 탓에 세간에서 오늘날 널리 사용되는 그 GNU 시스템의 판본을 "Linux"라고 부르는 일이 많으며, 사용자들 중 다수가 이것이 GNU 프로젝트에서 개발한 GNU 시스템이라는 사실을 인지하지 못하고 있습니다.

Many computer users run a modified version of the GNU system every day, without realizing it. Through a peculiar turn of events, the version of GNU which is widely used today is often called “Linux,” and many of its users are not aware that it is basically the GNU system, developed by the GNU Project. There really is a Linux, and these people are using it, but it is just a part of the system they use.


Linux라는 것은 존재하며, 아까 말한 그 사람들은 실제로 Linux를 사용하는 것이 맞기는 합니다. 하지만 그건 그들이 이용하는 시스템의 한 부품에 불과합니다. Linux는 커널입니다: 시스템의 자원을 여러분이 구동하는 다른 프로그램에게 할당하는 시스템 내부의 프로그램 말입니다. 커널은 운영체제에 있어 중요한 부품이지만, 그 자체로는 쓸모가 없습니다. 커널은 오직 완전한 운영체제라는 배경에서만 기능할 수 있습니다. Linux는 일반적으로 GNU 운영체제와 결합되어 사용되며, 따라서 그 전체 시스템은 근본적으로 GNU에 Linux가 더해진 것이며, 혹은 GNU/Linux라고도 하겠습니다. 소위 "Linux" 배포판이라는 것들은 실제로는 모두 GNU/Linux 배포판입니다.

Linux is the kernel: the program in the system that allocates the machine's resources to the other programs that you run. The kernel is an essential part of an operating system, but useless by itself; it can only function in the context of a complete operating system. Linux is normally used in combination with the GNU operating system: the whole system is basically GNU with Linux added, or GNU/Linux. All the so-called “Linux” distributions are really distributions of GNU/Linux.

 

외국의 리눅스 커뮤니티에서는 굉장히 유명한 밈입니다. 어느 정도냐면 이 글을 리처드 스톨먼이 썼다는 소문이 돌자, 리처드 스톨먼이 직접 자기가 쓴 글이 아니라고 부정했을 정도로 유명합니다.

 

또 위 copypasta에 대한 반론을 담고 있는 copypasta도 있습니다. 보통 누가 위의 copypasta를 달면 으레 아래의 copypasta를 들고옵니다.

아니에요, 리처드. "Linux"지 "GNU/Linux"가 아니랍니다. FSF(자유 소프트웨어 재단)이 Linux에 대해 만든 가장 중요한 기여를 꼽으라면 GPL과 GCC 컴파일러를 꼽을 수 있습니다. 이들은 잘 만들어졌고 훌륭한 제품들입니다. GCC는 그야말로 기념비적인 업적이라고 할 수 있으며 당신 RMS(리처드 매튜 스톨먼)와 자유 소프트웨어 재단이 무수한 찬사와 감사를 받게 했습니다.

No, Richard, it's 'Linux', not 'GNU/Linux'. The most important contributions that the FSF made to Linux were the creation of the GPL and the GCC compiler. Those are fine and inspired products. GCC is a monumental achievement and has earned you, RMS, and the Free Software Foundation countless kudos and much appreciation.


다음은 당신의 FAQ에서 답변한 내용을 일부 포함해서, 당신이 생각해 봐야 할 이유 몇 가지입니다.
Following are some reasons for you to mull over, including some already answered in your FAQ.


리누스 토르발스라는 사람이 운영체제(그래요, 리눅스는 OS가 맞습니다. 자세한 건 이 뒤에 설명)를 만들기 위해 GCC를 사용했습니다. 그의 친구들의 도움을 조금 받아 이를 'Linux'라고 이름붙였지요. 왜 그가 이 운영체제를 GNU/Linux라고 부르지 않냐고요? 그가 당신이 아니라 그의 친구들의 도움을 더 많이 받아 이걸 만들었으니까요. 당신은 당신이 만든 거에 이름을 붙이고, 나는 내가 만든 거(GCC를 이용해 작성한 소프트웨어를 포함해서)에 이름을 붙이고, 리누스는 리누스가 만든 거에 이름을 붙이는 겁니다. 리누스 토르발즈가 리눅스가 맞다고 했으니 올바른 이름은 그게 맞습니다. 리누스가 그렇게 말했습니다. 그의 권위를 인정하세요. 그렇지 않으면 떼쟁이(nag)가 되는 겁니다. 세상에 떼쟁이로 소문나고 싶지는 않겠지요?

One guy, Linus Torvalds, used GCC to make his operating system (yes, Linux is an OS -- more on this later). He named it 'Linux' with a little help from his friends. Why doesn't he call it GNU/Linux? Because he wrote it, with more help from his friends, not you. You named your stuff, I named my stuff -- including the software I wrote using GCC -- and Linus named his stuff. The proper name is Linux because Linus Torvalds says so. Linus has spoken. Accept his authority. To do otherwise is to become a nag. You don't want to be known as a nag, do you?


(운영체제) != (배포판)입니다. Linux는 운영체제입니다. 나는 운영체제를 소프트웨어에 컴퓨터의 하드웨어 자원에 대한 접근을 제공하고 또 제한하는 소프트웨어로써 정의합니다. 이 정의는 Linux가 사용되는 어디에서든 적용됩니다. 하지만, Linux는 일반적으로 이를 데스크톱 시스템이나 서버, 개발용 도구, 그래픽 워크스테이션 내지는 사용자가 필요로 하는 용도에 맞춰 쉽게 구성할 수 있도록 여러 유틸리티와 애플리케이션과 함께 배포됩니다. 이러한 구성을 우리는 리눅스 (기반) 배포판이라고 합니다. 당신이 우기는 이름 'GNU/Linux'에 대한 가장 큰 논거가 바로 이것일 것입니다 (번들된 소프트웨어 중 많은 수를 FSF에서 만들었기 때문에). 그럼 배포판 제작사에 그렇게 말하세요. Red Hat, Mandrake, Slackware에 가서 그렇게 말하세요. 최소한 그쪽에서는 논쟁의 여지라도 있을 겁니다. Linux는 아무 GNU 소프트웨어 없이도 그 자체만으로도 다양한 사용 용도에 적용할 수 있는 운영체제입니다. 임베디드 환경이 대표적인 예입니다.

(An operating system) != (a distribution). Linux is an operating system. By my definition, an operating system is that software which provides and limits access to hardware resources on a computer. That definition applies whereever you see Linux in use. However, Linux is usually distributed with a collection of utilities and applications to make it easily configurable as a desktop system, a server, a development box, or a graphics workstation, or whatever the user needs. In such a configuration, we have a Linux (based) distribution. Therein lies your strongest argument for the unwieldy title 'GNU/Linux' (when said bundled software is largely from the FSF). Go bug the distribution makers on that one. Take your beef to Red Hat, Mandrake, and Slackware. At least there you have an argument. Linux alone is an operating system that can be used in various applications without any GNU software whatsoever. Embedded applications come to mind as an obvious example.


다음으로, GNU/Linux라는 이름을 GNU 기반 리눅스 배포판에 한정짓는다고 해도, 또 다른 명백한 문제에 부닥치게 될 것입니다. 특정한 Linux 환경에서는 모든 GNU 기여분을 합쳐도 XFree86이 더 중요할 수도 있습니다. 그럼 이 배포판은 XFree86/Linux라고 불러야 맞을까요? 아니면, 최소한 XFree86/GNU/Linux라고 할까요? 다른 좋은 기여분들을 이름에 올릴지 말지의 선을 긋는 것은 물론 굉장히 자의적인 것입니다. 그래요, 아마 이 얘기를 전에도 들어봤을 거란 걸 압니다. 익숙해지시길 바라요. 여기에 완벽히 반박할 수 있게 되기 전까지는 계속 듣게 될 겁니다.

Next, even if we limit the GNU/Linux title to the GNU-based Linux distributions, we run into another obvious problem. XFree86 may well be more important to a particular Linux installation than the sum of all the GNU contributions. More properly, shouldn't the distribution be called XFree86/Linux? Or, at a minimum, XFree86/GNU/Linux? Of course, it would be rather arbitrary to draw the line there when many other fine contributions go unlisted. Yes, I know you've heard this one before. Get used to it. You'll keep hearing it until you can cleanly counter it.


당신은 코드 줄 수(Line-of-code, LoC) 지표를 좋아하는 것 같습니다. 일반적인 Linux 배포판에는 GNU 코드 라인 수가 많이 들어 있습니다. 당신은 (더 많은 LoC) == (더 중요함)이라고 생각하는 것 같더군요. 하지만, 나는 LoC의 수가 중요성과 직접적으로 연관되지 않는다는 의견을 개진하고자 합니다. 나는 해당 코드에서 소모되는 클럭 사이클이 더 나은 지표라는 것을 제안하고자 합니다. 예를 들어, 만약 내 시스템이 실행 시간의 90%를 XFree86 코드 실행에 쓰고 있다면, 내 시스템에서 가장 중요한 코드 뭉치는 XFree86이 될 것입니다. 만약 내가 열 배 더 많은 라인 수의 코드로 구성된, 아무 쓸모없는 블로트웨어를 시스템에다가 설치한 뒤 그 블로트웨어를 한 번도 실행하지 않는다고 한다면, 분명히 그 블로트웨어보다 XFree86의 중요성이 높을 것입니다. 물론 이 지표도 완벽하지 않지만, LoC는 진짜, 진짜 구립니다. 무슨 주장을 하든 간에 다시는 LoC 지표를 쓰지 말 것을 권해드리는 바입니다.

You seem to like the lines-of-code metric. There are many lines of GNU code in a typical Linux distribution. You seem to suggest that (more LOC) == (more important). However, I submit to you that raw LOC numbers do not directly correlate with importance. I would suggest that clock cycles spent on code is a better metric. For example, if my system spends 90% of its time executing XFree86 code, XFree86 is probably the single most important collection of code on my system. Even if I loaded ten times as many lines of useless bloatware on my system and I never excuted that bloatware, it certainly isn't more important code than XFree86. Obviously, this metric isn't perfect either, but LOC really, really sucks. Please refrain from using it ever again in supporting any argument.


마지막으로 우리 Linux와 GNU 사용자들은 다른 사람들의 소프트웨어에 이름짓는 것 가지고 서로 싸워서는 안 된다는 점을 지적하고 싶습니다. 하지만 알 게 뭐람, 나는 지금 기분이 매우 안 좋습니다. GCC가 그렇게 유명해진 이유는, 이를 유용하게 사용할 수 있는 Linux가 개발되었기 때문이라는 얘기를 해고 싶을 정도로 불쾌합니다. 적절한 존중과 감사의 의미를 담아 당신과 다른 사람들 모두 GCC를 '리눅스 컴파일러'라고 불러야 하지 않을까요? 아니면 최소한 'Linux GCC'라든가요? 아니 정말로, Linux가 없었으면 당신의 그 걸작은 어디 갔겠습니까? 뭐 HURD 가지고 삽질하는데?

Last, I'd like to point out that we Linux and GNU users shouldn't be fighting among ourselves over naming other people's software. But what the heck, I'm in a bad mood now. I think I'm feeling sufficiently obnoxious to make the point that GCC is so very famous and, yes, so very useful only because Linux was developed. In a show of proper respect and gratitude, shouldn't you and everyone refer to GCC as 'the Linux compiler'? Or at least, 'Linux GCC'? Seriously, where would your masterpiece be without Linux? Languishing with the HURD?


이 폭언 뒤에 숨겨져 있는 교훈이 있다고 한다면, 아마 이런 내용일 겁니다.
자신의 능력과 자신의 엄청난 성공, 자신의 상당한 명성에 감사하십시오. 그 성공과 명성을 지금처럼 좋은 일에 쓰고, 나쁜 일에 쓰지 마십시오. 특히, 그 성공에 있어 Linux의 큰 기여가 있었다는 것에 감사하십시오. 당신 RMS와 자유 소프트웨어 재단, GNU 소프트웨어가 지금의 높은 명성을 얻을 수 있었던 것의 상당 부분은 Linux가 뒷받침하고 있었기 때문입니다. 당신은 세상을 바꿨습니다. 이제 떼는 그만 쓰고, 이만 가세요. 경청해 주신 데에 감사합니다.

If there is a moral buried in this rant, maybe it is this:
Be grateful for your abilities and your incredible success and your considerable fame. Continue to use that success and fame for good, not evil. Also, be especially grateful for Linux' huge contribution to that success. You, RMS, the Free Software Foundation, and GNU software have reached their current high profiles largely on the back of Linux. You have changed the world. Now, go forth and don't be a nag. Thanks for listening.

 

이것도 얼마나 오랫동안 인터넷의 구천을 떠돌아다닌 글인지는 알 수 없습니다. 다만 맨드레이크 리눅스나 XFree86같은 고대 유물들이 언급되는 것을 봐서 대략 1999년 ~ 00년대 초쯤에 작성된 글으로 보이기는 합니다.

  • XFree86은 90년대 초에 개발이 시작되어 2000년대 초까지 널리 사용되었던 오픈소스 X11 구현체입니다. 하지만 2004년에 라이선스를 GPL과 호환되지 않는 독자 라이선스로 바꾸면서 대부분의 배포판이 떨어져나갔고, 2008년에 개발이 중단됩니다.
  • 맨드레이크 리눅스는 1998년 11월 처음 출시되었습니다. 2005년에는 상표권 분쟁에서 져서 맨드리바 리눅스로 이름을 바꿨고 2011년에 단종되었습니다.
  • 원시 고대 리눅스 배포판 중에는 실제로 "Linux/GNU/X"라는 표현을 쓰는 배포판이 있었습니다(Yggdrasil Linux/GNU/X).
반응형