소프트웨어 제작에서 ‘나쁠수록 낫다’라는 개념이 어떻게 생겨나고 퍼졌는지, 그리고 저자가 그에 대해 어떤 갈등과 재고를 거쳤는지를 회고한다.
URL: https://www.dreamsongs.com/WorseIsBetter.html
Title: Worse Is Better
“나쁠수록 낫다(worse is better)”로 알려진 개념은 소프트웨어를 만들 때(그리고 어쩌면 다른 영역에서도) 최소한의 창조물로 시작한 뒤 필요에 따라 키워 가는 편이 더 낫다는 주장이다. 크리스토퍼 알렉산더(Christopher Alexander)는 이를 “점진적 성장(piecemeal growth)”이라 불렀을지도 모른다. 이것은 그 개념이 어떻게 진화했는지에 대한 이야기다.
이 에세이의 핵심은 여기 있다: 나쁠수록 낫다의 부상(The Rise of Worse is Better).
1984년부터 1994년까지 나는 “Lucid, Inc.”라는 리스프(Lisp) 회사를 운영했다. 1989년 무렵에는 리스프 사업이 잘되지 않는다는 것이 분명했는데, 그 이유는 부분적으로 AI 회사들이 휘청거리고 있었기 때문이기도 하고, 또 부분적으로는 그 AI 회사들이 AI의 실패를 리스프와 리스프 구현체 탓으로 돌리기 시작했기 때문이기도 했다. 1989년 봄 어느 날, 나는 루시드의 현관(포치)에서 몇몇 해커들과 앉아 있었는데, 누군가 내게 왜 사람들이 C와 유닉스(Unix)가 리스프보다 낫다고 믿는다고 생각하느냐고 물었다. 나는 농담으로 “글쎄, 나쁠수록 낫잖아”라고 대답했다. 우리는 한동안 그 말에 웃었고, 나는 분명히 형편없는 것이 어떻게 좋은 것이 될 수 있는지에 대한 논리를 즉흥적으로 만들어 보려 애썼다.
몇 달 뒤인 1989년 여름, EuroPAL(유럽 리스프 실용 응용 컨퍼런스, European Conference on the Practical Applications of Lisp)이라는 작은 리스프 컨퍼런스에서 나에게 기조연설을 요청했다. 아마도 루시드가 가장 대표적인 리스프 회사였기 때문일 것이다. 나는 수락했고, 무엇을 이야기할지 고민하던 끝에 우리가 농담으로 주고받던 ‘나쁠수록 낫다’ 아이디어를 리스프에 적용해 상세히 설명하는 쪽으로 기울었다. 루시드에서는 우리가 보는 사업 현실 속에서 살아남기 위해 리스프를 어떻게 다시 해나가야 할지에 대해 많은 것을 알고 있었다. 그렇게 해서 결과물은 “Lisp: Good News, Bad News, How to Win Big”라는 제목이 되었다. [html](약간 축약된 버전) [pdf](Treeshaker와 리스프 애플리케이션 딜리버리에 대한 더 많은 세부사항이 있음).
나는 1990년 3월 케임브리지 대학교에서 그 강연을 했다. 케임브리지(또는 옥스퍼드)에 가본 적이 없었고, 뉴턴의 학교에서 말한다는 사실이 꽤 긴장됐다. 강당에는 500~800명 정도가 있었고, 내 발표 전에 음향 시스템으로 Notting Hillbillies를 틀었다. 나는 그 그룹을 이전에 들어본 적이 없었고, 실제로 그 앨범은 아직 미국에서 발매되지도 않았었다. 나는 강연에서 아주 구어체적인 미국식 글쓰기를 쓰기로 했는데, Notting Hillbillies는 영국 밴드였음에도 전통 미국 음악의 영향을 강하게 받은 스타일의 음악을 연주했기 때문에 그 음악이 어울린다고 느꼈다. 방은 입석까지 꽉 찬 상태였고, 나는 약간 두려운 마음으로 발표했다. 발표가 끝나자 긴 침묵이 흘렀다. 가장 먼저 입을 연 사람은 Gerry Sussman이었는데, 그는 대체로 내 발표를 조롱했다. 이어 Carl Hewitt도 마찬가지로 그리 친절하지 않았다. 나는 30분 동안 내 연설을 정당화하려 애썼지만, 청중은 그런 비판을 들으려는 분위기가 전혀 아니었다. 아마 그들은 응원단 같은 연설을 기대했을지도 모른다.
물론 나는 살아남았고 캘리포니아 집으로 돌아왔다. 그때는 인터넷이 막 시작되던 시기라, 그 강연과 그 처참한 반응이 널리 알려지지 않을 거라 기대하는 게 합리적이었다. 하지만 언론이 그 강연에 와 있었고 영국에서 그것을 광범위하게 보도했다. 컴퓨터 잡지들의 헤드라인은 “리스프는 죽었다, 가브리엘이 말하다(Lisp Dead, Gabriel States)”라고 외쳤다. 어떤 기사에는 브루스 스프링스틴(Bruce Springsteen) 사진과 함께 “뉴저지 스타일(New Jersey Style)”이라는 캡션이 달려 있었는데, 이는 내가 디자인 접근법인 ‘나쁠수록 낫다’에 붙였던 유머러스한 이름을 가리키는 것이었다. 그럼에도 나는 그 강연을 숨겨두었고, 곧 아무 일도 일어나지 않을 것이라고 확신하게 되었다.
약 1년 뒤 우리는 피츠버그 출신의 젊은 친구 Jamie Zawinski를 채용했다. 그는 20대 초반 정도였고 Scott Fahlman의 강력한 추천을 받았다. 우리는 그를 “The Kid(꼬마)”라고 불렀다. 함께 있으면 무척 재미있었다. 나쁘지 않은 해커였고, 루시드에 거의 없던 인구통계학적 집단에 속해 있기도 했다. 그는 회사 사람들, 특히 나에 대해 알아보고 싶어 했다. 내가 그에게 위험을 걸었고, 서부 해안으로 이주까지 시켰기 때문이다. 그가 알아보는 방식은 내 컴퓨터 디렉터리를 뒤지는 것이었다. 그 어떤 것도 보호되어 있지 않았다. 그는 EuroPAL 원고를 찾아냈고 그 안의 ‘나쁠수록 낫다’ 부분을 발견했다. 그는 그 아이디어를 리처드 스톨먼(Richard Stallman)의 생각과 연결지었는데, 나는 수년간 League for Programming Freedom의 대변인 역할을 했기 때문에 스톨먼을 꽤 잘 알고 있었다. JWZ는 ‘나쁠수록 낫다’ 부분을 발췌해 CMU에 있는 친구들에게 보냈고, 그 친구들은 Bell Labs의 친구들에게 보냈으며, 그 친구들은 또 모든 곳의 친구들에게 보냈다.
곧 나는 그 글을 요청하는 이메일을 하루에 10통 정도 받기 시작했다. 여러 대기업의 부서들이 1990년대 소프트웨어 전략을 세우는 사고 과정의 일부로 이 글을 사용해도 되는지 허락을 요청했다. 내가 기억하는 회사는 DEC, HP, IBM이었다. 1991년 6월, 잡지 AI Expert는 미국에서 더 넓은 독자를 확보하기 위해 그 글을 재출판했다.
하지만 세상이 보여준 겉보기의 열광에도 불구하고, 나는 ‘나쁠수록 낫다’라는 개념, 특히 그 개념과 내가 연관되는 것에 대해 불안했다. 1990년대 초, 나는 잡지와 저널에 에세이와 칼럼을 정말 많이 썼고, 그 중 일부는 필명까지 사용했다. 그 이름은 Nickieben Bourbaki였다. 그 이름에 대한 원래 아이디어는 루시드의 내 직원들이 글쓰기를 도와주고, 하나의 필명이 집단을 대표하도록 하자는 것이었다. 마치 1930년대 프랑스 수학자들이 수학의 기초를 자신들의 관점에서 다시 쓰면서 “Nicolas Bourbaki”라는 집단 이름을 사용했던 것처럼 말이다. 하지만 그 이름으로 실제로 글을 쓴 사람은 나뿐이었다.
1991~1992년 겨울, 나는 “Nickieben Bourbaki”라는 이름으로 “Worse Is Better Is Worse(‘나쁠수록 낫다’는 더 나쁘다)”라는 에세이를 썼다. 이 글은 ‘나쁠수록 낫다’를 공격했다. 여기에서 Nickieben은 리처드 P. 가브리엘의 어린 시절 친구이자 동료였고, 친구로서 또 리처드를 위해서 Nickieben이 리처드의 믿음을 바로잡는다는 허구가 만들어졌다.
1992년 가을, Journal of Object-Oriented Programming(JOOP)은 내가 “Worse Is Better Is Worse”에 대해 쓴 “반박” 사설 “Is Worse Really Better?(정말로 나쁠수록 더 나은가?)”을 게재했다. 루시드 사람들은 조금 걱정하기 시작했다. 왜냐하면 내가 (내 이름으로) ‘나쁠수록 낫다’를 옹호하는 글의 리뷰 초안을 가져왔다가, 나중에는 (Nickieben이라는 이름으로) 나 자신에게 반박하는 글을 가져오곤 했기 때문이다. 어떤 동료는 내가 정신병이 있는 게 아닐까 진지하게 불안해했다.
1990년대 중반, 나는 (대략) 경영 컨설턴트로 일하고 있었고, ‘나쁠수록 낫다’가 왜 실제로 작동할 수 있는지에 관심을 갖게 되었다. 그래서 경제 시스템에서 진화가 어떻게 일어나는지 이해하기 위해 경제학과 생물학 책들을 읽었다. 내가 배운 것의 대부분은 당시 보통 기조연설로 하곤 했던 “Models of Software Acceptance: How Winners Win(소프트웨어 수용 모델: 승자는 어떻게 이기는가)”라는 발표, 그리고 내 에세이 모음집 “Patterns of Software: Tales from the Software Community(소프트웨어의 패턴: 소프트웨어 커뮤니티의 이야기)”에 실린 “Money Through Innovation Reconsidered(혁신을 통한 돈벌이, 재고)”라는 장에 담겼다.
2000년이 되면 ‘나쁠수록 낫다’에 대해 내가 어떻게 생각하는지 정리되었으리라 생각할지도 모른다. 10년 넘게 그 주제를 생각하고 이야기했고, 맑아지는 시기도, 혼탁한 시기도 있었으며, 쟁점들에 대해 여러 마음이 공존하는 시기도 거쳤으니까. 하지만 OOPSLA 2000에서 나는 “Back to the Future: Is Worse (Still) Better?(백 투 더 퓨처: ‘나쁠수록 낫다’는 (여전히) 더 나은가?)”라는 제목의 패널에 참여하기로 되어 있었다. 이 패널을 준비하며 주최자인 Martine Devos가 내게 입장문을 써달라고 요청했고, 나는 “Back to the Future: Is Worse (Still) Better?”라는 글을 썼다. 이 짧은 글에서 나는 ‘나쁠수록 낫다’에 반대 입장을 밝혔다. 그런데 한 달쯤 뒤 나는 두 번째 글 “Back to the Future: Worse (Still) is Better!(백 투 더 퓨처: ‘나쁠수록 낫다’는 (여전히) 더 낫다!)”를 썼고, 이번에는 찬성 입장이었다. 나는 아직도 결정을 못 내린다. Martine은 두 글을 합쳐 패널을 위한 단일 입장문으로 만들었고, 물고기어항(fishbowl) 방식으로 진행된 패널에서 참가자들은 찬성 테이블 쪽에서 반대 테이블 쪽으로, 또 그 반대로 수시로 자리를 옮겼다. 나는 그날 아침 Mob Software 강연을 하느라 목이 쉬어 청중석에 앉아 있었는데, 그 강연에서 나는 이렇게 말했다. “위험을 감수하려는 태도와 새로운 가능성을 보기 위해 눈을 뜨려는 의지, 그리고 ‘나쁠수록 낫다’의 거부는 탁월함이 가능한 환경을 만든다. 크세니아(xenia)는 두엔데(duende)를 초대하며, 이는 매일 싸워야 하는데, 기술적인 의미에서뿐 아니라 미학적인 의미에서 실패의 가능성이 존재하기 때문이다.”
여러분이 직접 판단하라.
‘나쁠수록 낫다’에 대한 고전 에세이는 오해받고 있거나, 아니면 틀렸다.
Jim Waldo