에릭 올먼

에릭 올먼: 전자 메일의 배관공

지구상에서 전송되는 거의 모든 전자 메일이 버클리(Berkeley)의 한 대학원생이 작성한 프로그램을 통과하던 약 20년의 기간이 있었습니다. 에릭 올먼 (Eric Allman)은 전자 메일을 설계하지 않았으며, 그렇게 주장한 적도 없습니다. 그는 그 이면에 숨겨진 더 지루하고 어려운 문제를 해결했습니다. 서로 대화한 적 없는 사람들이 만든 호환되지 않는 메일 시스템들이 데이터를 잃지 않고 메시지를 주고받게 만든 것입니다. 컴퓨터 학회(ACM)가 2025년 회원으로 그를 선출했을 때, 그 인용구는 단 네 단어였습니다. 전자 메일 개발을 위하여.

버클리의 어린 시절

에릭 폴 올먼 (Eric Paul Allman)은 1955년 9월 2일, 그의 삶을 결정짓게 될 대학에서 베이 (Bay)를 따라 몇 마일 떨어진 캘리포니아주 엘 세리토 (El Cerrito)에서 태어났습니다. 그는 일찍이 고등학교 메인프레임에 접근하는 방법을 터득했고, 그곳에서 UC 버클리의 컴퓨터 센터로 나아갔습니다. 그는 1973년, Unix가 미국 컴퓨터 과학 학과들에 퍼져나가던 시기에 버클리에 입학했으며, 1977년 학사 학위, 1980년 석사 학위를 받았습니다.

그는 그 궤도를 결코 떠나지 않았습니다. 올먼은 여전히 버클리에 살고 있으며, 그의 가장 오래 지속되는 작업은 그가 자란 곳에서 몇 블록 떨어진 곳에서 이루어졌습니다.

아무도 원하지 않았던 문제

1970년대 후반까지 전자 메일은 존재했지만 단일한 형태는 아니었습니다. 그것은 여러 개의 호환되지 않는 것들로 동시에 존재했습니다. ARPANET에는 자체 규칙이 있었고, 지역 Unix 네트워크에는 다른 규칙이 있었으며, 주소 작성 방식, 헤더 내용, 메시지 전달 프로토콜에 대해 서로 다른 시스템들의 의견이 일치하지 않았습니다. 한 네트워크의 사용자가 다른 네트워크 사용자에게 메일을 쓰려는 경우, 사실상 방법이 없었습니다.

올먼의 첫 번째 해답은 delivermail이었습니다. 1981년까지 도달한 그의 두 번째 해답은 sendmail이었으며, 그 둘의 차이가 그의 모든 기여를 보여줍니다. Sendmail은 메일 시스템이 아니었습니다. 그것은 메일 시스템 사이에서 메시지를 어떤 형식으로든 받아 목적지를 계산하고, 다음 홉(hop)이 요구하는 형식으로 주소와 헤더를 다시 쓰는 라우터이자 번역기인 메일 전송 에이전트(Mail Transfer Agent)였습니다. 그것은 SMTP, 나중에 ESMTP와 DECnet의 Mail-11을 지원했습니다.

무료 테스트
당신은 얼마일까요?

스무 문제, 8분 제한 시간, 그리고 응시자 전체와 비교한 백분위. 가입 없음.

IQ 테스트 하기 →

핵심적인 설계 결정은 이러한 번역 중 어느 것도 하드코딩되지 않았다는 점입니다. Sendmail의 동작은 재작성 규칙(rewriting rules)에 의해 구동되었습니다. 이는 구성 파일에 포함된 작고 밀도 높은 패턴 매칭 언어로, 한 형태의 주소를 다른 형태로 변환하는 방법을 설명했습니다. 올먼은 정책이 아닌 메커니즘을 구축했습니다. 전자 메일이 40년 동안 끊임없이 변화했을 때, sendmail은 재작성될 필요가 없었으며, 단지 규칙만 수정하면 되었습니다.

이것이 sendmail이 버클리 소프트웨어 배포판(BSD)의 일부가 된 이유이자, 본질적으로 모든 Unix 시스템의 기본 메일 전송 에이전트가 된 이유이며, 또한 그의 구성 파일이 시스템 관리자들 사이에서 전설적인 이유이기도 합니다. 심지어 이 소프트웨어에 대한 건조한 설명조차 다소 복잡한 구성 구문을 인정합니다. 힘과 고통은 정확히 같은 곳에서 왔습니다.

Syslog

sendmail 내부에는 첫 번째 발명보다 더 넓은 영역을 정복한 두 번째 발명이 숨겨져 있었습니다. 올먼은 프로그램이 무엇을 수행하고 있는지 기록할 일관된 방법이 필요했기에 syslog라는 로깅 기능을 작성했습니다. 원래는 sendmail 전용이었으나, 현재는 인터넷 명예의 전당의 표현대로 거의 모든 오픈 시스템과 주변 기기에서 사용되는 사실상의 표준 로깅 메커니즘이 되었습니다. 즉, 서버, 라우터, 프린터에서 발생하는 모든 일을 기록하는 도구입니다. 이 기능은 2001년 RFC 3164로 문서화되고 이후 RFC 5424로 대체되기 전까지 20년 동안 비공식적으로 표준화되었습니다.

올먼의 두 가지 작은 조각도 일상생활에서 살아남았습니다. 때때로 BSD 스타일이라고 불리는 올먼 들여쓰기 스타일(Allman indent style)은 C 프로그래머가 중괄호를 배치하는 두 가지 방법 중 하나입니다. 그리고 여전히 리눅스의 bsdgames 패키지에 포함된 BSD Trek은 그의 포트란(Fortran) Star Trek 게임의 C 언어 이식 버전입니다.

회사

올먼은 데이터베이스 회사인 Britton Lee(나중에 Sharebase)와 국제 컴퓨터 과학 연구소에서 일했습니다. 1998년 그와 그렉 올슨 (Greg Olson)은 캘리포니아주 에머리빌 (Emeryville)에 Sendmail, Inc.를 설립하여 오픈 소스 버전과 함께 상용 소프트웨어를 개발했습니다. 이 회사는 결국 Proofpoint에 인수되었습니다. 그가 그 기간에 추가한 아키텍처인 milter는 타사가 메일 경로에 필터를 연결할 수 있게 했으며, 이를 통해 스팸 및 바이러스 필터링이 나중에 전 세계 메일 서버에 이식되었습니다. 올먼은 향후 전자 메일의 진화 대부분이 전송 에이전트 자체가 아닌 milter 내에서 일어날 것으로 예상한다고 말한 바 있습니다.

그는 또한 실무자가 읽지 않는 학술지나 광고주가 만든 무역 잡지 사이의 틈새에 의도적으로 자리 잡은 ACM Queue 창간을 도왔으며, 초기 USENIX에서의 지도적 역할을 마친 후 편집 위원회와 ACM 이사회에서 활동했습니다. 그는 브라이언 코스타레스 (Bryan Costales)와 함께 오라일리(O'Reilly)의 Sendmail 책을 공동 집필하고, 오픈 소스 애플리케이션의 아키텍처(The Architecture of Open Source Applications)에 기여했으며, 나중에 버클리의 Swarm Lab에서 분산 컴퓨팅 및 사물 인터넷 플랫폼을 연구했습니다.

에릭이 천재라 불리는 이유

그가 보여준 자질은 이론적인 탁월함이 아니며, 올먼은 그 반대라고 주장한 적도 없습니다. 그것은 불확실성 속에서의 설계 판단력입니다. 호환되지 않는 시스템들의 난장판을 들여다보고 무엇이 계속 변하고 무엇이 변하지 않을지를 정확히 식별한 다음, 변하는 부분은 구성으로, 안정적인 부분은 코드로 구축하는 능력입니다. Sendmail의 재작성 규칙은 전자 메일의 주소 지정 규칙이 수십 년 동안 불안정한 상태로 남을 것이라는 내기였습니다. 그 내기는 옳았고, 이것이 1981년에 대학원생이 작성한 프로그램이 30년 후에도 전 세계 메일의 상당 부분을 처리하고 있는 이유입니다. 이것은 보기 드문 공학적 선견지명이며, 그에 대한 인정이 이를 반영합니다. 인터넷 명예의 전당은 2014년에 그를 혁신가로 헌액했고, ACM은 2009년에 그를 우수 엔지니어로, 2025년에 회원으로 임명했으며, 버클리는 2013년에 그를 컴퓨터 과학 분야의 저명한 동문으로 선정했습니다.

반론 또한 공정하며 분명히 언급할 가치가 있습니다. 올먼은 어떤 알고리즘도 발명하지 않았고, 어떤 정리도 증명하지 않았으며, 어떤 프로토콜도 창안하지 않았습니다. 전자 메일, SMTP, ARPANET은 다른 사람들의 작업이었습니다. 그의 천재성이란, 만약 그 단어가 적용된다면, 숙련도입니다. 모든 사람과 접촉하며 살아남아야 하는 인프라를 구축하는 사람의 실용적인 지능 말입니다. 그리고 그 숙련도에는 실질적인 대가가 따랐습니다. Sendmail의 구성 언어는 악명 높을 정도로 가혹하며, 이는 여러 세대의 관리자들이 불평해 온 장벽이자 그 이후 작성된 경쟁 메일 전송 에이전트들의 동기가 되었습니다. 전문가만이 안전하게 조작할 수 있는 도구는 아무리 내구성이 뛰어나더라도 타협된 설계입니다. 프로그래머들에 대한 올먼 자신의 조언은 특유의 소박함을 담고 있습니다. 자신의 성격에 맞는 프로젝트를 선택하고, 깨끗하고 잘 문서화된 코드를 작성하십시오. 왜냐하면 당신의 평판이 걸려 있기 때문입니다.

유산

올먼은 동성애자이며, 30년 넘게 함께한 BSD Unix의 주요 개발자인 마샬 커크 맥큐직 (Marshall Kirk McKusick)과 2013년 10월 결혼했습니다. 그들은 대학원에서 만났으며, Unix를 인터넷의 운영 체제로 만든 소프트웨어의 놀라운 비율을 책임지고 있습니다. 그의 수상 경력으로는 2006년 텔루라이드 테크 페스티벌 기술상(Telluride Tech Festival Award of Technology)이 있습니다. 그러나 그의 작업을 측정하는 가장 좋은 척도는 그것이 보이지 않는다는 것입니다. 아무도 메일 전송 에이전트에 대해 생각하지 않으며, 무언가가 고장 나기 전까지는 syslog 라인을 읽는 사람도 없습니다. 이것이 바로 인프라가 달성해야 하는 정확한 조건입니다.

위인과 비교

Max Planck vs Werner HeisenbergAdam Smith vs Thomas AquinasBlaise Pascal vs Steve JobsGottfried Wilhelm Leibniz vs John Von Neumann
순위 보기 →모든 비교 →

신동

Umi GarrettUmi GarrettWent viral playing Liszt on Ellen at eight, then won a Chopin…Maddie ZieglerMaddie ZieglerSia's 'Chandelier' Music Video at Age 11 — Two Billion YouTube…Daniel TammetDaniel TammetRecited pi from memory to 22,514 digits in just over five hoursShirley TempleShirley TempleHollywood's number-one box-office star as a child, later a U.S.…
신동 →

플레이하고 내일 또 오세요

매일 천재 챌린지 · Brain teaser
A farmer has 17 sheep. All but 9 run away. How many are left?
답을 탭하세요 ↓
나는 어떤 천재일까? 무료 IQ 테스트