오늘:
2,378
어제:
3,587
전체:
3,310,393

오픈소스 이야기

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

단축키

Prev이전 문서

Next다음 문서

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

단축키

Prev이전 문서

Next다음 문서

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

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


1975년 켄 톰슨은 모교인 버클리 대학에서 방문 교수로 안식년을 보내면서 최신 기기인 PDP-11/70에 유닉스 버전6를 포팅하고 있었다.

빌 조이: 앗, 저분이 유닉스를 만든 켄 톰슨이야. 우리가 뭔가 도울 일이 있을거야.
켄 톰슨: 저 친구들은 뭐지? 며칠 전부터 내 뒤를 졸졸 따라다니네.

PDP-11/70 기계실

빌조이: 저 교수님 저희가 도울일이 있을까요?
켄 톰슨: 드디어 나를 만나러 왔군요.

켄 톰슨: 하하, 할 일은 아주 많아요.

켄 톰슨: 내가 지금 파스칼 인터프리터를 좀 고치고 있는데, 도와줄 수 있겠나요?

빌 조이와 척 핼리: 물론이죠!

이후, 이들이 확장하고 개선한 파스칼은 컴파일 시간을 줄여주고 프로그램을 빠르게 실행시켜서 학생들에게 인기가 많았다.

VI 에디터의 탄생

당시 유닉스는 ed라는 에디터를 제공하고 있었다. 이는 1969년, 켄 톰슨이 유닉스를 개발할 때 추가한 최초의 에디터였다.

빌 조이: ed 에디터 사용하기 불편하지 않으세요?
켄 톰슨: 하하, 그게 텔레타입 터미널 쓰던 시절에 만든거라.. 난 아직 쓸만한데…

여기서 잠깐, ed 에디터로는 어떻게 문서를 편집할 수 있지?

다음은 ed 세션의 예제이다. 사용자가 입력한 명령어와 텍스트는 보통 글씨체로 되어있고, ed의 출력은 굵은 글씨로 표시되어 있다.

$ ed
A
ed is the standard Unix text editor.
This is line number one.
.
,2
This is line number one.
2s/one/two/
,2
This is line number two.
w text
62
Q
$ cat text
ed is the standard Unix text editor.
This is line number two.

a명령어는 ed 에디터를 입력 상태로 만들어준다. 위 문서 편집에서는 두 줄을 입력한 후, 새로운 줄에서 마침표를 입력하면 입력 상태가 종료된다. 입력한 글을 보려면 쉼표(,) 명령과 줄 번호를 입력하면 원하는 줄을 볼 수 있다. 두번째 줄에 one을 two로 바꾸려면, vi처럼 커서를 이동해서 바꾸는 것이 아니라, 치환 명령어인 s를 이용해서 위와 같이 잘못된 글자를 원하는 글자로 변경할 있다. w명령어를 입력한 내용을 파일로 저정한 후, Q명령어로 ed 에디터를 종료할 수 있다.

최종 결과는 다음의 문자를 포함하는 텍스트 파일이다:
ed is the standard Unix text editor.
This is line number two.

대표적인 텔레 프린터인 텔레타입 모델 33

ed에디터가 이렇게 만들어진 것은 1960년대 컴퓨터 메모리가 귀했고, 당시에는 지금과 같은 모니터가 아니라 종이에 출력을 프린트하는 텔레 프린터를 사용했기 때문이다. 모뎀 속도 역시 느렸다. 하지만, 1970년대 CRT 모니터가 달린 터미널이 보급된 이후에도 유닉스에서는 ed에디터가 계속 사용되고 있었다.

빌 조이: 모니터에서는 이렇게 편집할 필요가 없지.

어느 날,

척 핼리: 이봐 빌! 퀸 매리 대학에서 조지 쿨루리스 교수가 방문 중인데, 그 분이 만든 em편집기가 비디오 터미널을 지원해서 커맨드 라인 입력하듯이 입력 중인 줄은 바로 고칠 수 있다는데?
빌 조이: 그래, 바로 내가 원하는 기능이야.

조지 쿨루리스 교수: 학생이 찾던 em에디터 소스코드가 담긴 테이프입니다. 비디오 터미널을 어떻게 지원하는지 알 수 있을겁니다.
빌 조이: 고맙습니다. 교수님.

빌 조이: em에서 구현한 편집 코드를 ed에 붙여서 내가 원하던 전체 화면 비주얼 편집 모드를 만들어보자. 이름은 ex 에디터!

1977년 10월, 마침내 현재 우리가 사용하는 전체 화면 비주얼 편집 모드가 ex 에디터에서 구현되었다.

빌 조이: 비주얼 모드에서는 정말 코딩할 맛이 나네.

이후 BSD 유닉스 사용자들이 비주얼 편집 모드를 선호하게 되어 결국, vi라는 이름으로 비주얼 편집 모드가 바로 실행되도록 하였다. 참고로, 아직까지 vi에디터에는 ex모드를 지원하고 있다.

서해안 유닉스 사용자 그룹

켄 톰슨: 다들 유닉스 소스코드는 출력해왔지요?

켄 톰슨은 또한 유닉스를 가르치는 일에도 앞장섰다. 서해안 유닉스 사용자 그룹이라는 모임을 만들어서 밤마다 유닉스 커널 소스코드를 한줄 한줄 설명하였다. 이처럼 소스 코드를 공유하고 지식을 나누는 정신이 BSD 유닉스를 거쳐 훗날 자유/오픈소스 소프트웨어 운동에 영향을 주게 된다.

켄 톰슨: 이제 벨 연구소로 돌아갑니다. “Happy hacking!”
빌 조이: 교수님, 안녕히가세요~

2화 끝. 

참고 문헌

  • ?
    krhamoni 2018.04.20 20:20

    지금은 당연한 것들이 과거의 피와 땀이라니 숙연 해집니다.


    독점과 공유, 여러가지를 생각하게 만드는 화두입니다.


List of Articles
번호 제목 글쓴이 날짜 조회 수
공지 오픈소스 이야기 게시판 이용안내 3 file Kevin 2018.04.13 1817
42 ‘리눅스 아버지’처럼 성공하기 위한 11가지 조건 1 file PEACH 2018.05.15 1010
41 깃허브 러닝랩 - 혼자서 아무것도 없이 깃허브 마스터 가능합니다. 2 file PEACH 2018.05.11 1963
40 The C programming language 2nd edition 2 세벌 2018.05.11 2402
39 Contributor Covenant: 컨트리뷰터/기여자들의 행동 강령 규약 1 file PEACH 2018.05.08 1190
38 사내에서 눈치를 안 보고 오픈소스 프로젝트 하기 1 file PEACH 2018.05.07 2184
37 김용욱 - 오픈소스로 해외취업하기 1 PEACH 2018.05.02 1055
36 겁먹지 말고 오픈소스에 기여해 봅시다! 4 PEACH 2018.05.02 1436
35 다양한 오픈소스 프로젝트 랭킹을 매월 확인할 수 있는 곳이 있습니다. 4 PEACH 2018.04.24 614
34 리눅스재단에서 'LF 딥러닝재단'을 설립했습니다. 3 file PEACH 2018.04.24 638
33 오픈소스 라이선스 선정이 어렵다면 깃허브에게 직접 도움 받으세요 1 file PEACH 2018.04.23 560
32 내 리눅스가 이렇게 쉬울 리 없어! 3 PEACH 2018.04.23 657
31 오픈소스는 어떻게 대세가 되었을까? 1 PEACH 2018.04.23 390
30 최준호 - 프로그래밍의 깊은 세계로 들어가는 길 file Kevin 2018.04.22 1277
29 허준회 - 더 나은 세상을 위한 소통 file Kevin 2018.04.22 752
28 류창우 - 그냥 부담 없이 취미로 2 file Kevin 2018.04.22 681
27 이희승 - 도전과 점진적 개선, 그리고 변화에 열린 마음 1 file Kevin 2018.04.22 1279
26 김정균 - 자신을 발전시키는 소중한 공부 file Kevin 2018.04.22 617
25 허태준 - 가장 의미 있고 즐거운 개발 file Kevin 2018.04.22 2905
24 + 인가요? More 인가요? 1 세벌 2018.04.20 279
23 깃허브가 직접 깃허브에 오픈한 오픈소스 가이드 4 file PEACH 2018.04.19 362
Board Pagination Prev 1 ... 2 3 4 ... 5 Next
/ 5
CLOSE