29. 리눅스 이야기: 진정한 자유 운영체제

“솔직히 리차드 스톨만의 연설을 들으며 내가 어떤 ‘빛’을 본 것은 아니었다. 하지만, 추측컨대 그의 연설을 듣는 가운데 무엇인가가 내 마음속을 파고들었던 것 같다. 훗날 내가 리눅스에 GPL을 적용한 걸 보면 말이다.” – 리눅스 그냥 재미로(2001) / 리누스 토발즈

리눅스의 초기 라이선스는 간단했는데, 리눅스를 다른 사람에게 판매하지 않고, 코드를 향상 시키면 모든 사람이 볼 수 있도록 코드를 공개하는 조건이 전부였다.

리누스: 리눅스를 설치해본 사람들이 점점 늘고 있어.
친구: 와~ 그거 돈주고 팔면 부자가 되겠는데.

리누스: 돈 대신 엽서만 받기로 했어.
친구: 뭐라고?

“나도 다른 과학자들 처럼 내 업적을 사람들과 나누고 싶어. 사실, 우리 할아버지가 공산주의자라서.. 하하, 하여간, 난 리눅스를 팔고 싶지는 않고 다른 사용자들도 나와 생각이 같으면 좋겠어.”

“돈 대신 엽서를 받기로 했지만.. 와우!”

하지만, 일부 사람들은 돈을 받고 리눅스 디스켓을 복사해주기도 했다.

“리눅스를 돈주고 팔다니.. 저작권 위반이야.”

결국, 어떤 사람이 배포용 디스켓을 만들어 기본적인 비용만 받고 팔아도 되냐고 물어왔다.

소스 코드를 공개하고 다른 사람의 참여를 유도하는 것은 좋았지만, 누군가 리눅스 코드를 가져다가 자신들의 이름으로 커널을 상용화할 수도 있었다. 그렇다고 복사하는데 드는 비용만 받고 리눅스를 판매하는 것을 막는 것도 좋은 생각이 아니였다.

리차드 스톨만: 프로그램이 자유 소프트웨어가 되기 위해서는 사용자는 4가지 자유를 가져야만 합니다. 첫번째로, 어떤 목적이든 원하는대로 프로그램을 실행시킬 수 있는 자유를 가져야 합니다. 두 번째로, 프로그램이 어떻게 동작하는 이해하기 위하여 소스 코드를 공부하고 고칠수 있는 자유가 있어야 합니다. 세번째로, 여러분 이웃에게 프로그램을 복사해줄 수 있는 자유가 있어야합니다. 마지막으로, 공동체 전체가 개선된 이익을 나눌 수 있게, 수정한 프로그램을 배포할 수 있는 자유가 있어야 합니다.

“내가 사용한 GCC 컴파일러 처럼 GPL라이선스를 적용하며 모든 문제가 해결될 것 같네…”

“그래 리눅스에 GPL라이선스를 적용하자. 누군가 리눅스 코드를 가져다가 마음대로 상용화를 한다면 리눅스 해커들이 가만히 있지는 않을거야” 나야 돈버는데는 관심이 없지만 내 코드를 훔쳐가는 것은 반대니까..”

이제 누구나 GPL 라이선스만 지키면 누구나 리눅스를 상업적으로 판매할 수 있게 되었다. 대신 수정한 코드는 반드시 공개를 해야만 했다.

1992년 1월 첫주, 드디어 GPL 라이선스가 적용된 리눅스 0.12 릴리스 한다. 특히, 이 때 부터 미닉스에 없는 페이징 기능이 추가되었는데, 이는 미닉스와의 경쟁이 시작되었다는 신호탄이였다. 인터넷을 통해 리눅스는 빠르게 퍼져나갔고 사람들은 자신들이 소유한 인텔386 PC에 직접 리눅스를 설치해서 사용하기 시작했다.

드디어, 개인용 유닉스 호환 운영체제의 시대가 열리게 된 것이다.

이제 유닉스 사용자 모임에서 리눅스를 서로 복사하는 일은 흔한 일이 되었다

하지만, 그러던 어느날, 미닉스를 만든 앤드류 타넨바움이 미닉스 메일링 리스트에 리눅스에 관한 글을 올리게 된다.

다음에 계속…

더 읽을 글

  • 리눅스 그냥 재미로, 한겨레 신문사 , 2001
  • Rebel Code, Glyn Moody, 2002
  • https://www.gnu.org/philosophy/nit-india.html

참고로, 등장 인물 간 대화도 자료를 바탕으로 만들어졌습니다.

만화에서 고치거나 추가할 내용이 있으면 만화 원고에 직접 의견 주시고, 만화에 대한 후기는 블로그에 바로 답글로 남겨주세요. 다음 이야기는 리눅스 vs. 미닉스입니다.

21. 자유 소프트웨어 재단

자유 소프트웨어 재단
리차드 스톨만(이하 RMS)이 GNU 이맥스 편집기를 공개한 후, GNU 프로젝트에 참여하는 사람들이 생겨났다.

이후 자유 소프트웨어를 개발과 이용을 장려하기 위해 1985년 자유 소프트웨어 재단(FSF: Free Software Foundation)을 설립한다.

FSF는 이맥스 편집기 배포 사업과 메뉴얼 판매등 여러 사업을 진행했고 기부금도 받기 시작했다.

“이번에 기부금으로 유닉스 시스템을 보냈어요. ”
“AT&T 유닉스는 독점 소프트웨어인데, 우리가 유닉스에서 자유 소프트웨어를 만들어야 할까?”

“유닉스에서 구현하면 우리가 만든 자유 소프트웨어를 유닉스에서 사용할 수 있잖아요”
“하지만, 자유 소프트웨어를 독점 소프트웨어인 유닉스에서 만드는 것은 윤리적인 문제가 있어…”

“그래, 우리가 폭력에 대해 자기방어가 필요하듯이, 독점 소프트웨어를 막을 대체물을 개발해야한다면 독점 소프트웨어 사용도 정당화할 수 있지. 자, 기증 받은 유닉스 컴퓨터도 개발에 사용합시다.”

GCC 출시
FSF는 기부금과 여러 수익을 바탕으로 개발자를 고용했는데, 이들은 여러 종류의 GNU 소프트웨어 패키지를 만들고 관리했다. GNU 컴파일러 모음(GCC)개발도 다시 진행할 수 있었고, 1987년 3월 첫번째 버전을 출시한다.

GNU C 라이브러리와 배시 쉘 개발

1998년 당시 15세였던 롤런드 맥 그래스(Roland McGrath)도 FSF에 채용되어 glibc개발을 시작하고[3], 같은해에 첫번째 버전을 릴리스한다.

브라이언 폭스는 AT&T 유닉스에서 사용되고 있는 본 셸을 대치하기 위해 배시 셸(Bash shell)을 개발했는데, 이렇게 만들어진 GNU C 라이브러리와 배시 셸은 리눅스에서 사용되었다. 이후, GNU 프로젝트는 GNU tar, GDB, GNU Make를 개발했다. gzip의 경우 LZW의 특허 문제를 피하기 위해 새롭게 개발한 압축 프로그램이였다,

“LZW 특허 때문에 자유 소프트웨어 진영에 압축 프로그램이 없다니… 자 gzip을 만들자!”

이처럼 RMS는 FSF지원 아래 부족한 자유 소프트웨어를 하나 하나 개발하기 시작하였고, 1990년 마침내 꿈에 그리던 OS 커널 개발에 착수한다.

“이제 커널을 개발할 때가 온 것 같다.”

Qt의 자유 소프트웨어 전환
데스크탑 진영에도 자유 소프트웨어 바람이 불었는데, 당시 독점 소프트웨어였던 CDE 데스크탑과 이를 구현한 모티프를 대체할 툴킷을 찾기 시작했다. 그 결과, 1996년 KDE 공동체가 생겨났고, Qt GUI 툴킷을 이용하여 KDE 데스크탑을 개발하기 시작했다. Qt는 소스코드가 공개되어 있었지만 2차 저작을 허용하지 않아 자유 소프트웨어 진영으로 부터 비판을 받았다.

“소스코드가 공개되었다고 모두 자유 소프트웨어는 아니지. 그놈(GNOME) 공동체와 함께 Qt의 자유 소프트웨어 버전을 만들어야겠다.”

Qt 사용을 반대해온 사람들이 그놈 공동체를 만들었고 FSF와 함께 하모니라는 Qt의 자유 소프트웨어 버전을 만들기 시작한다.

Qt를 만든 Haavard Nord와 Eirik Chambe-Eng

“그 이야기 들었어? FSF와 GNOME이 하모니라는 Qt 호환 GUI 툴킷을 만든다는 소식”
“이런 RMS가 라이선스 문제로 계속 뭐라하더니만”

결국, 2000년 Qt도 GPL 라이선스를 지원하기로 결정한다.

이처럼 RMS는 FSF지원 아래 부족한 자유 소프트웨어를 하나 하나 개발하기 시작하고, 회사들을 압박해서 독점 소프트웨어를 자유 소프트웨어로 만들었다.

참고

  1. 리차드 스톨만, GNU 운영체제와 자유 소프트웨어 운동, 오픈소스 혁명의 목소리, 한빛출판사, 2013
  2. History of free and open-source software, Wikipedia
  3. Roland McGrath steps down as glibc maintainer after 30 years

참고로, 등장 인물 간 대화는 자료를 바탕으로 재구성되었습니다.

만화 중 잘못된 부분이나 추가할 내용이 있으면 만화 원고에 직접 의견을 남겨주시면 고맙겠습니다. 그 외 전반적인 만화 후기는 블로그에 바로 답글로 남겨주세요.