홈으로 돌아가기

Brett Cannon: 핵심 Python으로 가는 길

Brett Cannon이 Guido van Rossum에게 2000년 Python 발견, strptime 기여, python-dev를 통한 코어 진입에 대해 이야기합니다. 초기 커뮤니티, PyCon 2003, PSF 직원 개발자로의 진화를 다룹니다.

학생에서 핵심 Python까지: Brett Cannon의 이야기
Advertisement 728x90

브렛 캐논이 코어 파이썬 개발자가 된 여정: 학생에서 핵심 기여자까지

파이썬의 가장 영향력 있는 코어 개발자 중 한 명인 브렛 캐논은 귀도 반 로섬과의 인터뷰에서, 처음 언어를 접한 순간부터 핵심 기여자로 성장하기까지의 여정을 솔직하게 공유했다. 2000년 가을, 그는 컴퓨터공학 입문 시험(CS 61A)을 앞두고 객체지향 프로그래밍(OOP)을 배울 수 있는 도구를 찾고 있었다. 당시 그는 C 언어만 다뤄봤던 터라, 파이썬의 간결함과 대화형 REPL(Read-Eval-Print Loop)이 특히 인상 깊었다.

파이썬 첫걸음

캐논은 철학 전공 학부 과정을 밟으면서도 독학으로 컴퓨터공학을 탐색했다. C는 어느 정도 익숙했지만, 파스칼은 컴파일러 오류로 자주 좌절했다. CS 61A 준비를 위해 OOP 개념을 확실히 익혀야 했고, 알타비스타 같은 초기 검색 엔진에서 “파이썬은 초보자에게 최고의 첫 언어다”라는 추천을 보고 바로 도전했다.

공식 문서와 마크 루츠의 『Learning Python』을 정독했고, 비록 시험 범위에 OOP가 포함되지 않았지만, 파이썬은 그의 주요 도구로 자리 잡았다. 대학 과제와 스크립트 작성에 적극 활용했으며, C에서 파이썬으로 전환하면서 대화형 REPL의 강력함을 실감했다—즉각적인 실험과 피드백이 가능해 학습 속도가 크게 빨라졌다.

Google AdInline article slot

파이썬 이전 주요 언어:

  • C (주력)
  • 파스칼 (기초 수준)

레시피를 통한 커뮤니티 진입

2001년, 액티브스테이트(ActiveState)가 협업형 코드 조리법 집합체인 『파이썬 쿡북(Python Cookbook)』을 출시했다. 캐논은 당시 표준 라이브러리에 누락되어 있던 Windows 호환 strptime 함수를 깔끔하게 구현해 기여했다. 이 레시피는 알렉스 마르텔리가 『오라일리 파이썬 쿡북』 1판에 실었고, 큰 주목을 받았다.

처음엔 지역 설정(locale)에 의존하던 구현이었으나, 캐논은 이를 대폭 단순화했다. 2002년 5월, 파이썬 2.3 출시 직후 그는 마르텔리에게 이 레시피를 표준 라이브러리에 포함시키는 것을 제안했다. 마르텔리는 그를 코어 개발자들의 공식 메일링 리스트인 python-dev로 안내했다.

Google AdInline article slot

프랑수아 피나르드가 패치를 정교하게 다듬어 주었고, 캐논은 6월에 공식 제안을 보냈다. 7월에는 time.strptime이 공식 저장소에 커밋되었다. 이후 그는 python-dev를 꾸준히 구독하며 활발히 참여했다.

python-dev 리뷰와 첫 커밋 성공

2002년 8월, 캐논은 앤드루 쿠클링이 맡았던 역할을 이어받아 매주 python-dev 메일링 리스트 요약본을 작성하기 시작했다. 이 작업은 단순한 학습 도구를 넘어, 복잡한 기술 논의를 이해하고 공개적으로 질문하는 ‘신뢰 구축의 창구’가 되었다. 그는 박사과정 기간 동안 2~3년간 이 리뷰를 꾸준히 이어갔다.

python-dev에서는 다음 주제들이 주로 논의되었다:

Google AdInline article slot
  • 신규 기능 제안
  • 버그 보고 및 패치 검토
  • PEP(파이썬 개선 제안서) 토론
  • 하위 호환성 관련 고려사항

학부 졸업 후 1년간의 공백기는 이력서를 다듬는 동시에 파이썬 기여에 집중한 시간이었다. 첫 strptime 커밋은 그에게 지속적인 기여 동력을 부여했다.

초기 코어 개발자 커뮤니티

2002~2003년 무렵, 코어 팀은 매우 작았다—총 20~50명 중 약 절반만이 정기적으로 활동했다. 주요 멤버는 다음과 같았다:

  • 마틴 폰 뢰비스
  • 닐 노비츠
  • 마르크-앙드레 렘부르그
  • 앤드루 쿠클링
  • 알렉스 마르텔리
  • 타임 피터스
  • 레이먼드 헤팅거
  • 그레그 스타인
  • 잭 얀센
  • 배리 워쇼

캐논은 2003년 워싱턴 D.C.에서 열린 PyCon US 바로 직전에 팀에 합류했다. 당시 파이썬은 아직 소수의 열성 팬만 아는 ‘공백 문자로 들여쓰기를 하는 언어’였고, 변경 사항은 직접 커밋되었으며, 설계 논의는 모두 이메일로 진행되었다. PyCon 참석자 대부분은 다른 회사에서 정규직으로 일하는 자원봉사자들이었다.

최초의 스크립트 아카이브인 파르나소스의 금고(Vaults of Parnassus) 는 PyPI보다 훨씬 이전에 등장했다.

파이썬 3 전환과 주요 기여

캐논은 importlib 모듈 개발, 파이썬 2 → 3 마이그레이션, 공식 문서 개선, 그리고 여러 PEP 작성에 핵심적인 역할을 했다. 그는 파이썬 3에서 함수 시그니처 내 튜플 매개변수 언패킹(tuple parameter unpacking)을 제거하는 변화를 주도했다. 2007년 PyCon에서 카핑 예가 이 변경에 반대 의견을 제기했지만, 최종적으로 승인되었다.

카핑 예는 pydoc, cgitb, inspect, 그리고 예외 연쇄(exception chaining) 기능 개발을 주도했다.

초기 도전 과제는 시간 부족과 전적으로 자원봉사에 의존하는 운영 방식이었다. 캐논은 기업 후원을 적극 주장했고, 성공적으로 이끌어냈다. 오늘날 PSF(파이썬 소프트웨어 재단)는 루카시, 페트르, 세르게이, 세스(보안 및 Alpha-Omega 담당) 등 정규직 엔지니어를 고용해 운영하고 있다.

정말 중요한 것들

  • 레시피로 시작하기: strptime 기여는 캐논을 몇 달 만에 코어 팀으로 이끌었다.
  • 리뷰가 문을 여는 열쇠: python-dev 요약본 작성은 그를 눈에 띄게 만들고 신뢰를 쌓는 계기가 되었다.
  • 작은 커뮤니티의 힘: 2002년 기준 약 20명의 활동 기여자만 있었기에, 한 번의 기여도 즉각적인 영향력을 발휘할 수 있었다.
  • 자원봉사 중심 문화: 정식 고용보다 수년 먼저, 꾸준한 기여가 인정받았다.
  • 진화의 여정: 소수의 취미 프로젝트에서 전문 인력을 갖춘 생태계로 성장한 과정이다.

캐논의 이야기는 중·고급 개발자들에게 코어 기여의 현실적인 경로를 보여준다—유용한 패치를 꾸준히 제출하고, 메일링 리스트에서 성찰적이고 건설적인 참여를 하며, 커뮤니티 활동을 꾸준히 관찰하고 리뷰하는 것이다. 2000년대 초반의 열정과 기여가 오늘날의 현대 파이썬 기반을 마련했다.

— Editorial Team

Advertisement 728x90

다음 읽기