오픈소스 이야기

조회 수 429 추천 수 0 댓글 1
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

오픈소스에 대한 이해를 만화로 쉽게 할 수 있는 블로그가 있어서 원작자 님의 허락을 얻고 공유합니다. 공유를 허락해주신 원작자님에게 감사 드립니다.
원작자 : https://joone.net/

GNU Project를 시작하기로 결심한 리차드 스톨만(이하 RMS)은 1984년 1월 MIT AI Lab.을 그만두기로 결심한다.

“리차드, 정말 AI Lab. 그만두는거야?”
“응, 진정한 자유 운영체제를 만들어보려고.”

“프로젝트 이름이라도 있어?
“이름은 ‘GNU’s Not Unix;에서 따왔지.”

하지만, 난 이 운영체제를 UNIX 호환으로 만들 생각이야, 그래야 기존 유닉스 사용자가 쉽게 끌어올 수 있지. 어떤가 해커스럽지 않은가?

“커널 뿐만 아니라 어셈블러, 컴파일러, 인터프리터, 디버거, 텍스 편집기, 메일 프로그램 등 만들게 아주 많아. 어때, 프로젝트에 참여하겠나?”

“소장님, AI Lab.을 이제 떠납니다. 그동안 고마웠습니다.”
“이거 너무 아쉽네. 자네 같은 똑똑한 친구들이 많아야 인공지능 분야가 발전할텐데..”

“제가 뜻이 있어서.. 지금이 아니면, 다시 시작하기 어려울 것 같습니다.”

“내 익히 들어서 알고 있네. 자네가 원한다면 연구소 장비는 계속 사용하게나. 좋은 뜻으로 일을 그만둔다고하니 내가 도와야지.”

용기있게 AI Lab.을 나왔지만, 사실 운영체제 개발을 위해 준비된 것은 거의 없었다.

우선 소스 코드가 공개된 컴파일러를 확보하기 위해 VUCK(Free University Compiler Kit)를 개발한 앤드루 타넨바움 교수에게 메일을 보내 GNU Project에서 사용할 수 있는지 여부를 문의했다.

.

“대학은 무료지만, 컴파일러는 그렇지 못하네요. 미안하게도 제 컴파일러는 GNU Project에서 사용할 수는 없습니다.”

RMS는 GNU Project의 첫번째 프로젝트로 컴파일러를 만들기도 결심한다. 하지만, 컴파일러를 밑바닥 부터 만드는 것은 쉽지 않았고, 외부에서 컴파일러 소스코드를 입수한다.

“로렌스 리버모어 연구소가 만든 파스칼 컴파일러 소스 코드구나… 이 코드를 기반으로 C언어 프론트 엔드를 개발하자.”

RMS는 이 컴파일러에 C 언어 프론트 엔드를 추가해서 Motorola 68000 컴퓨터에 이식하기 시작했다.

“허걱 무슨 컴파일러가 파일에 있는 모든 코드를 한번에 파싱해서 명령어로 변환하지..”
“68000은 스택으로 64KB 메모리만 사용할 수 있는데…”

“안되겠다. 역시 바닥부터 컴파일러는 만들어겠다. 이름은 GCC(GNU C Compiler). 이미 C언어 프론트 엔드를 만들었으니, 이걸 재사용하면 되겠네… 하지만, 우선 에디터를 먼저 만들자.”

RMS는 1984년 9월 부터 MIT AI Lab.에서 사용되던 이맥스(Emacs) 편집기의 GNU 버전을 개발하기 시작한다.

“아니 왜 따로 에디터를 만들어? 이미 유닉스에는 vi나 ed가 있잖아?”
“난 유닉스용 텍스트 편집기에는 관심이 없거든.”

RMS는 개발한 이맥스 편집기를 ftp사이트에 올려 놓았고 $150에 이맥스 테이프를 배송하는 사업을 시작했다. 당시 수입이 없었던 RMS는 자유소프트웨어 판매를 통해 수입을 얻게 된 것이다.

“큰 돈은 아니지만, 그럭저럭 이맥스 개발은 계속할 수 있겠군.”

참고

  1. 리차드 스톨만, GNU 운영체제와 자유소프트웨어 운동, 오픈소스 혁명의 목소리, 한빛출판사, 2013

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

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

  • ?
    krhamoni 2018.04.20 19:52

    천재와 성실을 모두 갖춘 인물이라니, 조물주는 날 만들 때 무슨 생각을 했길래...


List of Articles
번호 제목 글쓴이 날짜 조회 수
공지 최준호 - 프로그래밍의 깊은 세계로 들어가는 길 file Kevin 2018.04.22 1157
공지 허준회 - 더 나은 세상을 위한 소통 file Kevin 2018.04.22 677
공지 류창우 - 그냥 부담 없이 취미로 2 file Kevin 2018.04.22 566
공지 이희승 - 도전과 점진적 개선, 그리고 변화에 열린 마음 1 file Kevin 2018.04.22 1179
공지 김정균 - 자신을 발전시키는 소중한 공부 file Kevin 2018.04.22 499
공지 허태준 - 가장 의미 있고 즐거운 개발 file Kevin 2018.04.22 2604
공지 오픈소스 이야기 게시판 이용안내 3 file Kevin 2018.04.13 1640
19 유닉스 철학 - 함께 동작할 수 있는 프로그램을 만들 것 3 Kevin 2018.04.13 753
18 해커문화의 탄생 1 Kevin 2018.04.13 476
17 BSD 유닉스 6화 – 자유로의 투쟁 2 Kevin 2018.04.13 480
16 BSD 유닉스 5화 – TCP/IP 개발 1 Kevin 2018.04.13 471
15 BSD 유닉스 4화 – CSRG(Computer Systems Research Group) 결성 1 Kevin 2018.04.13 333
14 BSD 유닉스 3화 – BSD 유닉스 시작 1 Kevin 2018.04.13 431
13 BSD 유닉스 2화 – vi 에디터의 탄생 1 Kevin 2018.04.13 949
12 BSD 유닉스 1화 – UC 버클리로 간 유닉스 코드 1 Kevin 2018.04.13 509
11 라이온스 교수의 유닉스 해설서 1 Kevin 2018.04.13 429
10 리차드 스톨만과 자유소프트웨어 이야기 1 Kevin 2018.04.13 526
» GNU Project - ‘GNU’s Not Unix 1 Kevin 2018.04.13 429
8 자유 소프트웨어 재단을 아시나요? 1 Kevin 2018.04.13 394
7 리눅스 생존 가이드 (리눅스 데스크탑 적응기) 2 file 행복한펭귄 2017.01.25 7201
6 리누스 토발즈 강연 The mind behind linux 행복한펭귄 2017.01.19 5394
5 왜 굳이 리눅스를 써야하나? 행복한펭귄 2016.08.31 5614
4 꾸준히, 자유롭게, 즐겁게 : 한국 오픈 소스 개발자들 이야기 2 행복한펭귄 2016.08.24 5415
3 리누스 토르발즈 기조연설 (리눅스 25년을 말하다) 2 행복한펭귄 2016.05.13 6919
2 깃허브, 오픈소스 소식 알리는 팟캐스트 ‘온에어’ 행복한펭귄 2016.03.23 5722
1 2015년 주목받은 신인 오픈소스 SW 11선 행복한펭귄 2016.03.23 5812
Board Pagination Prev 1 ... 2 3 4 Next
/ 4
CLOSE