Sprintando… en Django

Ayer tuvo lugar un sprint de desarrollo sobre el genial framework web de desarrollo Django. Aunque el sprint oficial terminó ayer (bueno en realidad llegó hasta el sábado según la franja horaria española).

Es impresionante ver como tantos hackers de la programación se reunen para entre todos mejorar un proyecto de software libre, y además donde puede aportar quien quiera y se sienta capacitado para ello. Lo malo es que el sueño que tenía acumulado y una jornada tecnológica realizada en Yaco me hizo perderme gran parte del sprint :_(

Si continuáis leyendo veréis un ejemplo de lo que se puede aportar en un sprint.

Esta mañana me levanto, y con ansias de ver lo que pasó mientras estaba dormido, me dispuse a ver el histórico de lo que había sucedido en esas horas. Entre otras cosas, observé que incluyeron un cambio incompatible hacia atrás que no estaba documentado en la documentación de django.

Esto no suele ser habitual, ya que cada cambio que se realiza en django se comprueba si afecta a la documentación y si es así no se deja commitear al sistema de versiones hasta que la documentación está adaptada.

En este caso se le pasó a Malcolm Tredinnick, ya que commiteó este cambio sin adaptar la documentación. El cambio consiste en que a partir de ahora el cambio de idiomas se efectuará mediante una petición HTTP de tipo POST y no de tipo GET. Sin embargo en la documento de internacionalización de django, no estaba actualizado, y seguía diciendo que la forma de uso era mediante GET.

Al darme cuenta de la falla en documentación, me dispuse a crear un ticket en el sistema de gestión de Django. En el ticket expreso dicha falla en la documentación, el cual me asigno a mí mismo ya que me quiero encargar de corregirlo. Después de notificar el fallo, adjunto este parche que corrige el ticket, actualizando la documentación al estado actual del código.

El siguiente paso es que se realice el cambio en el código fuente, ya que sólo tres desarrolladores son los únicos con el permiso de commitear los cambios, debidos a su estricta política de calidad. Para que me suban el cambio, lo que hice fue avisar a uno de estos tres commiters (concretamente Malcom Tredinnick) en el canal de IRC #django-sprint, y él muy gustoso me subio el cambio, disculpándose de haber subido el código sin actualizar la documentación. A continuación muestro el fragmento de charla del IRC:

msaelices: malcolmt, can you review http://code.djangoproject.com/ticket/5489 ?
malcolmt: msaelices, oh, good point! (just read the ticket)
malcolmt: sorry about that :(
malcolmt: yes, that patch looks fine. I shall commit it in a moment.
malcolmt: msaelices, committed.
msaelices: ohh, thanks malcolmt

Por último, me dispuse a comprobar que efectivamente el cambio en el código se había efectuado, y se había cerrado el ticket que yo había creado. Es necesario mencionar que en el cambio siempre incluyen un mensaje de gratitud al desarrollador que aportó subiendo el parche y creando el ticket. El software libre debe ser así.

Este es un ejemplo de como se puede aportar en Django, para mí sin duda el mejor framework de programación web para casi todos los proyectos que puedas tener. Es genial que puedas entrar en una comunidad de desarrollo impresionante, con unos programadores con una calidad espectacular. Como los que véis en la siguiente imágen (que son los que estaban sprintando desde las oficinas de Google en Chicago):

Django developers

Deja una Respuesta