원문: Python 3.3 to Drop Support for OS/2, Windows 2000, and VMS (날짜: 2011-05-04, 작성자: Brian Curtin)
사용자의 수요에 맞추어 지원할 운영 체제 목록을 정리해야 하는 시간이 종종 다가옵니다. 릴리스의 품질을 유지하기 위해서는 개발 작업을 끝마쳐 줄 사람이 필요하기 때문에, 한 플랫폼에 기여하는 개발자의 수가 무엇보다 중요합니다. 다른 요인으로는 운영 체제가 얼마나 오래됐는지와 그것이 앞으로의 개발 작업에 얼마나 방해가 될 것인지도 중요합니다.
Victor Stinner는 OS/2 지원에 대한 질문을 한 지 1년 만에 CPython에서 OS/2와 VMS 지원을 중단할 것을 최근 제안하였습니다. Victor의 원래 질문은 유니코드 지원을 위해 끝이 없어 보이는 작업을 하는 도중에 나온 것이었습니다. 구체적으로 말하자면 os.execvpe()이 환경 변수를 PEP 383의 surrogateescape 핸들러를 통해 지원하는 것에 대한 문제였습니다. OS/2와 VMS는 현재 개발팀에서 대표자가 없어 릴리스 과정에서도 테스트를 하고 있지 않습니다.
이 글을 쓰는 중에 Windows 2000을 제거하는 것에 관한 잊혀진 예전 논의를 떠올리게 되었습니다. 그 당시에는 COMSPEC을 command.com으로 설정하는 시스템 또한 중대한 위기에 있었습니다. 이제는 그들 모두 OS/2, VMS와 함께 하게 되었습니다. 구식 API를 고려할 필요가 없도록 하면 개발 작업이 더 용이해지기 때문에 2010년에 수명을 다한 운영 체제인 Windows 2000은 제거되어야 합니다.
이들 운영 체제에 대한 지원을 중단하기 위해서 Victor와 나는 PEP 11을 갱신하기 시작하였습니다.
PEP 11
이 PEP는 더 이상 지원하지 않는 운영 체제의 목록을 보여주고, 그 목록에 운영 체제를 추가하는 절차를 설명합니다.
운영 체제 제거 절차를 시작하기로 결정하였다면 우선 공식적으로 지원하지 않는 것으로 발표합니다. 전통적으로 이런 발표는 개발 중인 버전에 적용되므로, OS/2, Windows 2000, VMS의 지원 중단은 파이썬 3.3에서 시작됩니다.
첫 단계는 아예 손을 떼는 것으로 백기를 드는 것입니다. 그것은 코드를 유지 보수하는 사람이 아무도 없고 릴리스의 품질을 보장하지 않는다는 신호입니다. 플랫폼의 사용자에게 해당 플랫폼이 지원되지을 것이라고 경고를 해주기 위해서 컴파일 및 설치 과정에 변경이 있을 것입니다. 새 소식 문서에는 새롭게 지원되지 않게 된 플랫폼이 나열될 것입니다.
한 번의 릴리스 사이클이 지나면 그 이후 버전부터는 당당하게 코드를 삭제할 수 있게 됩니다. 이번 경우 코드는 3.4에서 제거될 수 있습니다. 개발자는 코드를 한번에 다 제거하지는 않을 것이고 다른 일상적인 작업 도중 #ifdef 블록이나 configure 섹션, 오래된 코드를 만나게 되면 그들을 제거할 것입니다.
여러분이 할 수 있는 일
만약 여러분이 OS/2나 VMS 사용자이고 그들 플랫폼이 계속 지원되기를 바란다면 할 수 있는 일은 다음과 같습니다.
유지 보수 담당이 되기
활발히 활동하는 개발자보다 더 좋은 지원은 없습니다. 한동안 OS/2의 유지 보수를 담당했던 Andrew MacIntyre은 Victor의 첫 번째 OS/2 질문 도중에서 OS/2가 유니 코드 지원이 늦어지고 있기 때문에 이는 분명히 관심이 필요한 분야라고 했습니다. VMS는 http://www.vmspython.org를 통해서 외부에서 어느 정도 지원을 받고 있는 것으로 보이지만 이슈 11918에서 논의된 바와 같이 상류(upstream)에 계속하여 VMS를 지원하기 위해서는 누군가가 나서야 합니다.
해당 플랫폼을 맡아 보고 싶다면 개발자 가이드에서 현재의 개발 절차를 참고하십시오.
빌드 슬레이브 기증
활발히 활동하는 개발자가 있으면 그 플랫폼이 살아남을 가능성은 높아집니다. 빌드 슬레이브(build slave)가 있으면 살아남는 것은 물론이고 품질까지 좋아질 가능성이 높아집니다.
파이썬은 지속적인 통합에 Buildbot을 사용하는데 빌드 슬레이브로는 현재 Linux, Mac, Windows, Open Indiana (Solaris)의 여러 버전, 아키텍쳐, 시스템 구성이 제공됩니다. OS/2나 VMS를 위한 빌드 장비를 기증할 수 있다면 이들 플랫폼이 더 주류인 플랫폼들과 동등한 관심을 받을 수 있을 것입니다.
만약 OS/2나 VMS가 살아남을 수 있도록 시간이나 하드웨어를 기부할 수 있다면 python-dev 메일링 리스트에 문의하여 조율하시기 바랍니다.
댓글 없음:
댓글 쓰기