Exim은 꾸준히 인기가 상승하고 있는 오픈 소스 메일 전송 에이전트(MTA)이다. Exim은 데비안과 같은 리눅스 시스템에 디폴트 메일 전송 에이전트로 설치되며 호스트와 최종 사용자의 메일 소프트웨어를 어떻게 조합하든지 간에 모든 TCP/IP 네트워크에 적합하다. 확장성이 있으며 풍부한 특징을 자랑한다. 그러나 무엇보다도 큰 특징은 설정이 쉽다는 것이다.
Exim의 창시자인 필립 해이즐(Philip Hazel)은 요즈음 Exim과 관련된 프로젝트를 하면서 대부분의 시간을 보낸다. Exim의 새로운 버전과 Exim을 지원하는 메일링 리스트를 만들고 이것과 관련된 책인
『Exim』까지 저술하였다. 필립을 만나 그가 참여한 오픈 소스 프로젝트의 성공과 Exim의 미래에 대해 이야기를 나누었다.
스튜어트: 『Exim』을 저술한 동기는 무엇입니까?
해이즐: 저는 소프트웨어 개발자입니다. 제가 하는 일은 프로그램 저작이죠. 지금 사용하는 메일 전송 에이전트(Smail 3)도 좋아하지만 뭔가가 부족하다는 생각도 들었고 또 너무 오랫동안 사용해왔다는 생각도 들더군요. 이럴 때 프로그래머가 비슷한 방식으로 작동되는 대체품을 만드는 것은 당연한 일이지 않겠습니까?
스튜어트: 그렇다면 기존 메일 전송 에이전트에서 부족한 점은 무엇입니까?
해이즐: 1995년으로 되돌아가 생각해보면 그 당시 인터넷은 지금의 인터넷과 아주 달랐습니다. 훨씬 더 협력적이었죠. 예를 들어 대부분의 메일 전송 에이전트는 오늘날의 관점으로는 도저히 믿기 어려운 "오픈 릴레이" 형태로 운영되어졌습니다. 또한 가상 도메인과 같은 개념도 그 당시에 막 소개되기 시작했죠. 나는 메일 전송 에이전트가 메일을 수령하고 배달하는 방식에서 모두 유연해질 필요가 있다고 생각했습니다.
반면에 1995년까지 인터넷이 미래를 장악하고 인터넷 메일 프로토콜이 중심으로 자리잡을 것이라는 생각은 확실했습니다. 그러나 그 당시 메일 전송 에이전트는 코딩과 환경 설정을 복잡하게 만드는 UUCP와 같은 오래된 기술을 대부분 지원했습니다. 그래서 저는 인터넷(RFC 822) 이메일 주소만을 지원하는 Exim을 개발하기로 결심했습니다.
스튜어트: 지금까지 Exim이 이룩한 성공에 대해 어떻게 생각하십니까? 놀라셨나요?
헤이즐: 네, 정말 놀랐습니다. 저는 원래 제가 만든 Exim이 그저 영국 내 몇몇 학구적인 사이트에서만이라도 사용되어지길 바랬습니다. 그런데 여러 상업 사이트에서도 Exim을 운영하고 다른 나라로까지 확산되어 간다는 사실에 매우 놀랐었죠.
시스템 네트워크 관리 기술에 대한 한빛 및 오라일리 서적에 대해 궁금하신 분들은 여기
http://sysadmin.hanbitbook.co.kr/를 클릭해 주세요.
스튜어트: 기존의 메일 전송 에이전트가 상업적인 운영에 더 적합해지기 위해 지닌 특징이 있습니까? 비학구적인 기관에서도 Exim에 관심이 있다는 사실을 알고 난 후 상업적 사이트에 적합한 새로운 특징들을 추가하셨습니까?
해이즐: 어떤 특정 환경, 예를 들어 호스트가 항상 온라인 상태가 아닌 경우와 같은 환경에서 도움이 될만한 몇 가지 특징들을 추가했습니다. 상업적인 사이트로부터 받은 피드백으로 그러한 특징들을 추가했지만 전반적으로 상업적 기관과 비상업적 기관 간의 필요한 환경 조건에는 큰 차이가 없다고 생각합니다.
스튜어트: 요즈음 얼마나 많은 시간을 Exim에 할애하고 계십니까? 하루종일 매달리시나요?
해이즐: 현재로서는 하루종일 매달릴 수 밖에 없죠. 확장성에 대한 수요가 떨어지기를 바라고 있지만 현재까지는 떨어질 기미가 전혀 보이질 않네요. 지금 저는 Exim 4의 출시를 앞두고 그 일로 매우 바쁩니다.
스튜어트: Exim 4에서 기대할 수 있는 새로운 특징이나 확장성에 관련된 부분에 대해 말씀해 주시겠습니까?
해이즐: 글쎄요. 그 부분을 완벽히 이해하려면 Exim 작동 방식에 대해 조금이라도 알고있어야 하지만 간략히 말씀드리면 크게 두 가지가 완전히 개정되었다고 할 수 있습니다. 첫째로 독립적인 옵션의 거대한 컬렉션은 Exim 3에서 메일을 받아 들이는 것을 통제하는 역할을 했었는데 Exim 4에서는 접근 통제 리스트(ACLs, Access Control Lists)를 사용하는 것으로 대체되었습니다. 둘째로 "로컬 도메인"과 "리모트 도메인"을 완전히 분리된 도메인으로 다루는 것이 아니라 Exim 4는 모든 도메인을 같은 방식으로 다루죠. 따라서 Exim 4는 좀더 유연한 방법으로 메일 배달을 설정할 수 있게 해줍니다.
이 외에도 작은 변화가 많이 있었고 쓸모 없는 옵션을 없애버리거나 비슷한 일을 하는 옵션은 합쳐버리는 것과 같은 정리작업이 있었습니다. 오라클 데이터베이스와 Radius 인증으로 접속하는 것과 같이 완전히 새로운 기능이 추가되기도 했습니다. 변화폭이 크다고 할 수 있겠죠.
스튜어트: 초창기 인터넷 시대와 비교해봤을 때 메일 전송 에이전트의 역할이 많이 변했습니까?
해이즐: 저는 인터넷 초창기 때에는 이 프로젝트에 참가하지 않았었습니다. 그리고 1990년 경까지 제가 있었던 영국의 학구적인 커뮤니티에서는 다른 종류의 네트워크를 운영했었습니다. 하지만 특히 지난 5~6년 사이에 매일 전송 에이전트의 역할에 있어서 많은 변화가 있었다는 것은 확실합니다. 초창기에는 기술이 잘 작동하는데 주안점을 두었었지만 지금은 기술이 잘 작동한다는 것을 알기 때문에 정확히 어떻게 기술이 사용되는가를 통제하는데 더 큰 관심을 쏟고 있습니다.
스튜어트: 스팸 메일 금지법 대해 어떻게 생각하십니까? 법령으로 적합한 주제라고 생각하십니까 아니면 기술적 방법으로 다루어져야 할 주제라고 생각하십니까?
해이즐: 그 문제는 제가 전문적 지식이 없는 분야이군요. 스팸은 확실히 귀찮은 존재이고 거대한 양의 자원을 낭비하는 것임에는 틀림없지만 스팸에 대한 가장 좋은 조치를 취하는 방법에 대해서는 특별한 의견을 갖고 있지는 않습니다.
스튜어트: Exim에서는 안티 스팸에 대해 어떤 종류의 특징을 제공합니까?
해이즐: Exim은 원래의 호스트, 보내는 사람의 주소 등을 나타내는 표준의 숫자에 따라 어떤 메시지를 호스트로 받아들일지 통제합니다. 그리고 메일 릴레이로서 호스트의 사용을 완전히 통제할 수 있도록 해줍니다. 일단 메시지가 받아들여지면 "시스템 필터"는 배달 전에 메시지 내용을 검사할 수 있게 해줍니다. 이 단계에서 메시지는 폐기 처분되거나 보내는 사람한테 반송되거나 부가적 해더 라인과 함께 스펨일 수 있다고 주석을 달아주기도 합니다. 또 사용자가 검사하기 전까지 배달되지 않고 남아 있을 수도 있죠.
스튜어트: 매일 전송 에이전트에서 속도가 중요합니까? 그렇다면 다른 인기있는 메일 전송 에이전트에 비해 Exim은 얼마나 효율적입니까?
해이즐: 내가 정말 놀랐던 점 중에 하나는 Exim이 정말 다양한 사이트에서 사용된다는 점입니다. 하루에 수십 개의 메시지를 다루는 작은 사이트에서 속도는 중요하지 않습니다. 그러나 Exim은 하루에도 수십만 개의 메시지를 처리하는 즉 속도가 생명인 사이트에서 사용됩니다.
제가 Exim을 저작할 때 중점을 둔 부분은 속도가 아니라 바쁜 사이트의 수요까지도 잘 견뎌낼 수 있는 유연성이었습니다. 속도를 측정하는 것은 약간은 교활한 방법이라고 볼 수 있죠. 왜냐하면 속도는 정확한 설정과 로드에 좌우되는 것이기 때문입니다. Exim이 가장 빠르지는 않더라도 다른 매일 전송 에이전트와 동등한 속도를 가지고 있다고 생각합니다.
스튜어트: 확장성은 어떻습니까? Exim을 성공적으로 사용하고 있는 시스템은 얼마나 큰 시스템이죠?
해이즐: 자유 소프트웨어를 저작함에 있어 발생하는 사소한 문제 중 하나는 저작한 소프트웨어가 어디에서 사용되는지 모두 알 수 없다는 것입니다. 제가 알고있는 한도 내에서 가장 큰 시스템은 ISP freeserve.co.uk로 고객이 수백만 명이나 되고 하루 처리하는 메시지만도 수천만 건이나 됩니다.
스튜어트: 애플리케이션 저작만으로는 충분하지 않으셨나 봅니다. 결국 저술까지 하셨으니까요. 온라인 문서로도 Exim에 대한 자료를 볼 수 있는데 굳이 책으로 출판해 내신 이유를 여쭤봐도 될까요?
해이즐: 저는 출판의 필요성을 전혀 느끼지 않았습니다만 사용자들이 요구하더군요.
온라인 문서는 튜토리얼에 대한 부분은 거의 없기 때문에 참고용 매뉴얼이라는 편이 어울리겠군요. 제가 Exim 저술을 처음으로 시작했을 때 저는 이메일에 대한 기술적인 지식정도는 갖춘 숙련된 유닉스 시스템 관리자를 주 독자층으로 생각하고 저술하기 시작했습니다. 그러나 Exim이 점점 더 널리 사용됨에 따라 초보자나 비숙련자도 Exim을 운영하기 시작했습니다. 제 생각에 데비안이 표준 메일 전송 에이전트로 Exim을 탑재하기 시작하면서 이와 같은 현상이 일어났다고 생각합니다. 따라서 Exim 소개에 대한 정보 및 튜토리얼에 대한 수요가 증가하기 시작했죠.
처음에 저는 다른 사람이 책을 써주었으면 하고 생각했었습니다. 사실 그런 시도도 있었지만 저자가 집필할 시간이 없다고 해서 결국 실현되지는 않았죠. 만약 저술이 얼마나 어려운 작업인지 미리 알았더라면 절대로 집필에 착수하지 않았을 것입니다.
스튜어트: Exim 라이센스에 대해 말씀해 주시겠습니까? 어떻게 이와 같은 결론에 도달하게 되셨죠?
해이즐: Exim 라이센스는 GNU 일반 공용 라이센스(GPL, GNU Public License)입니다. Exim을 자유 소프트웨어로 만들겠다는 결심은 어렵지 않았습니다. 이미 유닉스에서 무료료 이용할 수 있는 메일 전송 에이전트가 있는데 누가 유료 메일 전송 에이전트를 사용하겠습니까? 그리고 제 자신 또한 모든 종류의 무료 소프트웨어 사용을 확산시키기 위한 학구적인 환경에서 일해왔기 때문에 그러한 결정은 우리 모두를 위한 공헌을 한다는 점에서도 아주 합리적으로 생각되었습니다.
스튜어트: 자유 소프트웨어 커뮤니티가 Exim을 개발하는데 큰 공헌을 했습니까? 만약 그렇다면 전 세계로부터 오는 코드들을 어떻게 조합하셨습니까?
해이즐: Exim에 조합될 수 있는 코트 조각과 패치들을 엄청나게 많이 받았지만 그 당시에도 여전히 모든 코드를 통제할 수 있었기 때문에 일이 훨씬 쉬웠습니다. 그 패치를 공급된 것으로 삽입할지 아니면 부분적 변형으로 삽입할지 결정하기 전에 제안된 개개의 패치를 프로그램의 전반적인 내용에 비추어 평가해 보았습니다. 사람들이 소스에 대해 직접적으로 작업하는 상태로 이동하는 것은 완전히 새로운 작업장으로 이동하는 것이며 부가적인 배위 시간을 요구하게 됩니다.
필립 해이즐(Philip Hazel)은 남아프리카 공화국에서 성장했다. 응용 수학 박사이며 영국 캠브리지 대학교에서 전산 서비스를 위한 일반용 소프트웨어를 저작하는 일을 30년 동안 하였다. 그가 참여한 중요 프로젝트로는 IBM 메인 프래임 시스템 사용을 위한 텍스트 에디터와 텍스트 포맷터에 관련된 것이다. 1990년 메인 프래임을 유닉스로 전환함에 따라 전자 메일에 관심이 증대되었다. 1995년부터 Exim 개발을 시작해서 2년 후에는 PCRE 정규표현식 라이브러리를 개발하기 시작했다. 캠브리지 사람답지 않게 합창 가수와 뒤늦게 배운 비올라 연주자로서 클래식 음악을 좋아하고 음악 감상, 아마추어 극단 분장사, 산책하기 좋은 장소를 찾아다는 것 등이 그의 취미이다. 결혼했으며 장성한 세 명의 아들이 있다.