viernes, 1 de abril de 2011

Thomas Heller renuncia como mantenedor de ctypes

Artículo original: Thomas Heller Steps Down as ctypes Maintainer
La comunidad de desarrollo de Python le debe un gran agradecimiento al mantenedor durante mucho tiempo de ctypes, Thomas Heller. A principios de este mes, Thomas anunció su marcha del proyecto CPython, el hogar de su biblioteca ctypes desde Python 2.5.
Tuve la oportunidad de hablar con Thomas y él me contó su historia con Python y sus proyectos ctypes y py2exe.

Python

En 1999 Thomas se topó con el libro Programming Python de Mark Lutz mientras estaba buscando recursos para aprender Python y quedó fascinado de inmediato con el lenguaje. Estaba inmerso en el proceso de reemplazar Scheme como lenguaje de extensión de un gran programa en C que había escrito para Windows.
En cuanto a la forma en que se introdujo en el equipo de desarrollo, su primera contribución a CPython (y open source en general), fue un pequeño parche relacionado con Windows para distutils. Su interés en distutils le llevo en última instancia a la creación del comando bdist_wininst para crear instaladores para Windows de tipo "apunta y haz clic". Desde entonces Greg Ward le invitó al grupo python-dev donde con el tiempo se le concedió acceso para modificación.

py2exe

Como muchos usuarios de Windows, tuvo la necesidad de desplegar aplicaciones Python como un solo archivo ejecutable. Los primeros enfoques al problema vinieron de las lumbreras de Python squeeze de Fredrik Lundh y sqfreeze de Christian Tismer, y Thomas contribuyó varios parches al proyecto Installer de McMillan.
Su interés en distutils llevó a Thomas a considerar portar Installer a una extensión de la biblioteca de empaquetamiento. Sin embargo, terminó reescribiendo las fuentes para hacer uso del marco de trabajo distutils ya existente. Al final, eligió el simple y a la par descriptivo nombre de py2exe para el proyecto.

ctypes

La idea para ctypes vino de la necesidad de llegar más allá de lo que aportaba pywin32 en ese momento. Además, su trabajo con Scheme requería de un interfaz con las APIs de Windows muy parecido a su labor hecha con Python, por lo que quería mantener su proyecto en marcha.
ctypes salió a la luz por primera vez en 2003 a la par de la versión 2.3 de Python, después Thomas recibió numerosas peticiones para publicar el proyecto. Lo que solía llamar su pequeño proyecto personal en su página Starship se convirtió en una biblioteca ampliamente usada en poco tiempo.
Originalmente empezó el proyecto en Windows pero pronto escuchó las llamadas para portarlo a Linux, para lo cual le ayudo la comunidad. Con la versión para Linux vino la introducción de libffi al proyecto, la cual empezó a usar en Windows para reemplazar su implementación de bajo nivel.
En 2006 se liberó la versión 1.0 para ctypes, lo que correspondió con su aceptación en la biblioteca estándar de Python 2.5. Después de años de duro trabajo y numerosas versiones cada año, ctypes fue entonces empaquetada con Python para estar disponible a una audiencia mucho más amplia.
Mucha gente ayudó a que ctypes sea lo que es hoy en día, y Thomas desea dar las gracias a todos los que participaron, especialmente a Robin Becker. La participación de Robin fue decisiva en las primeras fases del proyecto en las cuales contribuyó con conocimiento y ánimo.

Un nuevo mantenedor de ctypes

Después del duro trabajo que Thomas hizo a lo largo de los años, no nos gustaría ver como el proyecto se queda estancado. Si tienes experiencia en C y tiempo para ayudar al proyecto Python, la comunidad agradecería enormemente tu esfuerzo. Echa un vistazo a la nueva developer guide y busca en el bug tracker para más información.
Actualización: Corregidos algunos enlaces.

No hay comentarios:

Publicar un comentario