2011년 5월 16일 월요일

Thomas Heller가 ctypes 유지 보수 담당에서 물러납니다

원문: Thomas Heller steps down as ctypes maintainer (날짜: 2011-04-01, 작성자: Brian Curtin)

파이썬 개발 커뮤니티는 오랫동안 ctypes의 유지 보수를 담당했던 Thomas Heller에게 깊은 감사를 드립니다. 지난 달 Thomas는 파이썬 2.5 이후로 자신의 ctypes의 본거지가 되었던 CPython 프로젝트에서 떠날 것임을 알렸습니다.

저는 Thomas와 이야기할 기회가 있어서 그가 파이썬과 ctypes, py2exe 프로젝트와 함께 했던 내력에 대해서 들을 수 있었습니다.

파이썬

1999년으로 거슬러 올라갑니다. Thomas는 파이썬을 배우려고 자료를 찾던 중 Mark Lutz의 Programming Python을 보게 되었고, 곧바로 이 언어에 매료되었습니다. 그는 Windows 용으로 작성된 거대한 C 프로그램에서 확장 언어로 사용하던 Scheme을 대체하려던 참이었습니다.

그가 어떻게 개발팀에 들어오게 됐는지를 말하자면, 그의 CPython(그리고, 오픈 소스)에 대한 첫 번째 기여는 distutils에 관한 Windows와 관련된 간단한 패치였습니다. distutils에 관심을 갖게 되면서, 결국 클릭만으로 설치할 수 있는 Windows 용 인스톨러를 생성해 내는 bdist_wininst 명령을 만들었습니다. 거기에서 Greg Ward가 그를 python-dev 그룹으로 초대하여 결국 커밋 권한을 얻게 되었습니다.

py2exe

다른 Windows 사용자들처럼 그도 파이썬 애플리케이션을 하나의 실행 파일로 줄여 배포하고 싶었습니다. 파이썬 전문가들의 조언으로 처음에는 Fredrik Lundh의 squeeze와 Christian Tismer의 sqfreeze를 사용하였고, Gordon McMillan의 Installer 프로젝트에도 패치를 몇 개 보냈습니다.

그는 distutils에 관심이 있었기 때문에 Installer를 패키징 라이브러리의 확장 기능으로 포팅할 생각을 합니다. 그러나 결국 기존의 distutils 프레임워크를 활용하기 위해 소스를 재작성하게 되고, 이 프로젝트를 간단하면서도 풀어서 설명하는 이름인 py2exe라고 부르게 됩니다.

ctypes

ctypes에 대한 아이디어는 그 당시 pywin32가 제공하던 것 이상의 무엇인가가 필요로 하면서 생겼습니다. 게다가 그가 Scheme으로 하던 작업은 그의 파이썬 작업물과 비슷하게 Windows API에 대한 인터페이스가 필요했습니다. 그래서 그는 자신의 프로젝트를 계속하고자 하였습니다.

Thomas는 ctypes를 공개해 달라는 요청을 많이 받아 파이썬 2.3이 릴리스될 때 즈음인 2003년에 처음으로 공개적으로 릴리스 하였습니다. 그는 이것을 자신의 Starship 페이지에 있던 조그마한 개인적인 프로젝트라고 했지만, 순식간에 널리 사용되는 라이브러리로 자랐습니다.

프로젝트는 원래 Windows에서 시작되었으나 Linux로 포팅해달라는 요청을 바로 받아들여 커뮤니티의 도움을 받아 Linux 포트를 완성하였습니다. Linux로 포팅하면서 libffi를 도입하였는데, Windows에서도 저수준 구현부를 이것으로 대체하여 사용하기 시작했습니다.

2006년에는 ctypes가 1.0이 되면서 동시에 파이썬 2.5의 표준 라이브러리로 포함되었습니다. 수년 동안 열심히 작업하여 해마다 수많은 릴리스를 한 끝에 ctypes는 결국 파이썬에 포함되어 자연스레 더 많은 사람들이 사용할 수 있게 되었습니다.

오늘날의 ctypes가 있기까지 수많은 사람이 있었기 때문에, Thomas는 관련된 모든 사람에게 감사의 말을 전하고자 했습니다. 특히, Robin Becker는 프로젝트의 초기 단계에서 중요한 역할을 해주었고, 지식과 격려를 보태준 사람입니다.

ctypes의 새로운 유지 보수 담당

수년간에 걸친 Thomas의 고단한 작업은 끝이 났지만, 우리 커뮤니티는 이 프로젝트가 중단되는 것을 보고 싶지는 않습니다. C 언어에 대한 경험과 파이썬 프로젝트에 도움을 주실 수 있는 시간이 있으신 분은 참여해주시면 정말 감사하겠습니다. 더 많은 정보는 개발자 가이드를 확인하시고 버그 추적기에서 찾아주세요.

수정됨: 일부 링크 고침

댓글 없음:

댓글 쓰기