오픈소스 이야기

조회 수 428 추천 수 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 1139
공지 허준회 - 더 나은 세상을 위한 소통 file Kevin 2018.04.22 669
공지 류창우 - 그냥 부담 없이 취미로 2 file Kevin 2018.04.22 558
공지 이희승 - 도전과 점진적 개선, 그리고 변화에 열린 마음 1 file Kevin 2018.04.22 1164
공지 김정균 - 자신을 발전시키는 소중한 공부 file Kevin 2018.04.22 489
공지 허태준 - 가장 의미 있고 즐거운 개발 file Kevin 2018.04.22 2588
공지 오픈소스 이야기 게시판 이용안내 3 file Kevin 2018.04.13 1632
59 그놈(GNOME) 데스크탑의 시작 2 Kevin 2020.08.06 1074
58 오픈소스 이미지 편집 프로그램 김프와 GTK+ 시작 2 Kevin 2020.06.08 1602
57 오픈소스 GUI 툴킷 Qt와 KDE 프로젝트의 시작 1 Kevin 2020.05.21 4389
56 리눅스 배포본과 데비안 프로젝트 Kevin 2020.05.11 1012
55 리눅스 이야기: 네트워킹 Kevin 2019.07.19 2006
54 FreeCAD 한국어 번역 함께 해 보아요 8 세벌 2019.06.26 2893
53 리눅스 이야기: 리눅스 vs. 미닉스 2부 Kevin 2019.05.27 1648
52 리눅스 이야기: 리눅스 vs. 미닉스 1부 Kevin 2019.02.22 1578
51 리눅스 이야기: 진정한 자유 운영체제 1 Kevin 2018.12.27 1433
50 리눅스 이야기: 운영체제를 만들자! 7 Kevin 2018.12.03 1954
49 LibreOffice Korea 2 세벌 2018.11.27 1554
48 김프 2.10.8 나왔습니다. 1 세벌 2018.11.14 1103
47 XFree86과 X.Org Kevin 2018.08.13 1162
46 X11의 탄생 4 Kevin 2018.07.25 1410
45 X-Window 탄생 1 Kevin 2018.06.21 1917
44 오픈소스란 무엇인가요? 1 file Kevin 2018.06.01 11079
43 [TED2016] 리눅스의 기본 철학(한글 자막) 1 file PEACH 2018.05.15 1044
42 ‘리눅스 아버지’처럼 성공하기 위한 11가지 조건 file PEACH 2018.05.15 903
41 깃허브 러닝랩 - 혼자서 아무것도 없이 깃허브 마스터 가능합니다. 2 file PEACH 2018.05.11 1854
40 The C programming language 2nd edition 2 세벌 2018.05.11 2302
Board Pagination Prev 1 2 3 ... 4 Next
/ 4
CLOSE