Angela Byron sobre Drupal 7

Angela Byron sobre Drupal 7

Artículo original en inglés en linuxjournal.com

Angela Byron es la coencargada del mantenimiento del sistema de gestión de contenidos y framework de código abierto Drupal. Nos ha hablado un poco de su papel en el proyecto Drupal y de Drupal 7, la última versión de Drupal. 

Katherine Druckman: ¿Qué fue lo primero que le interesó del software de código abierto? ¿Se lanzó a colaborar activamente desde el principio?

Angela Byron: He estado interesada en el software libre desde que oí el término por primera vez en 1995, cuando completé con éxito mi primera instalación de Linux (cuando Debian cabía en 7 disquetes). Me intrigaban y entusiasmaban las profundas implicaciones humanitarias del movimiento del software libre. Un software de calidad superior a la comercial, disponible para que cualquiera con interés y ganas de aprender lo manipulara y ampliara, distribuido gratuitamente a todo el mundo, incluidas las organizaciones sin ánimo de lucro y las instituciones educativas. Me convertí en una defensora acérrima de las alternativas de código abierto entre mi familia y mis amigos, y en la escuela era totalmente «esa persona» que exigía que, además de enseñarnos ASP y Oracle, también aprendiéramos PHP y MySQL.

Sin embargo, tenía la firme convicción de que todos los que trabajaban en software de código abierto eran realmente inteligentes y que yo, que no era más que un humilde estudiante de universidad, no podía participar a ese nivel. Así que animaba en silencio a esta gente, pero siempre desde la distancia, mirando con nostalgia con la esperanza de que algún día, muy lejos en el futuro, tal vez después de tener 30 años de experiencia o algo así, algún día podría unirme a sus filas.

Una década más tarde, en 2005, uno de mis profesores me habló del Google Summer of Code (GSoC), un programa que ofrece becas a los estudiantes para que trabajen en proyectos de código abierto durante el verano. Esto hizo un pequeño agujero en el muro de «tienes que ser ASÍ de listo para contribuir» que había levantado en mi cabeza, porque pensé, oye, saben que soy estudiante, así que deben saber que aún no lo sé todo... Así que decidí presentar mi candidatura y ver qué pasaba.

El proyecto Drupal era una de las organizaciones mentoras del GSoC, y yo había visto que se utilizaba en SpreadFirefox.com, un sitio de marketing de base para el proyecto Firefox, ya que soy una de esas personas que va y hace clic en «ver código fuente» en todas las páginas web que visita para ver qué hace que funcione. Me pareció genial que Drupal fuera capaz de hacer funcionar un sitio como ese, así que el nombre se me quedó grabado. Así que me postulé para escribir un módulo Quiz para Drupal para GSoC, a pesar de que nunca antes había descargado, instalado o utilizado Drupal.

Para mi sorpresa y asombro, me seleccionaron. Ahora venía la parte difícil: descubrir Drupal, y no sólo Drupal, sino también otras cosas periféricas como el control de versiones, los parches, etc. Por aquel entonces, la documentación sobre Drupal era muy escasa; no había libros, ni screencasts, ni nada de eso. Y me encontré ante un «precipicio de aprendizaje» bastante empinado y me estresaba saber qué hacer, ya que sólo disponía de 2 meses para completar mi proyecto.

Así que me enseñé a mí misma Drupal con un enfoque doble:

1. Escribí la documentación que deseaba que existiera pero que no existía, al menos lo mejor que pude, y luego se la pasé a personas con más conocimientos para que me ayudaran a arreglarla. Escribí instrucciones sobre el uso de CVS, sobre cómo configurar un entorno de pruebas y otras cosas que me resultaron difíciles al principio.

2. Pasé el tiempo en los canales de soporte y en el foro intentando responder a las preguntas de los demás. Durante las dos primeras semanas, esto fue completamente imposible, pero al intentarlo acabé aprendiendo un montón. Y la primera vez que fui capaz de responder con éxito a la pregunta de otra persona, me sentí como una estrella del rock.

Rápidamente me gané una reputación como uno de los «hacedores» en la comunidad Drupal, y de repente la gente estaba dando saltos mortales para ayudar a responder preguntas a medida que me metía más en el desarrollo.  Desde entonces estoy enganchada, contribuyendo como una loca ahora que estoy recuperando una década de tiempo perdido.

Cuando llegué a «este lado» del muro de los colaboradores me di cuenta de lo absurdo que era el mito que tenía en la cabeza sobre los colaboradores del código abierto. Aunque es cierto que hay listillos de nivel Einstein que contribuyen al código abierto, la mayoría son gente como yo: apasionados, que trabajan duro y quieren ayudar a los demás. Así que mi objetivo desde que llegué a esta epifanía ha sido intentar asegurarme de que mi historia de contribución tardía al código abierto no sea la historia de nadie más.

Katherine Druckman: Una de las mejores cosas de Drupal es la comunidad que hay detrás.  Entre las muchas facetas interesantes de nuestra comunidad está el hecho de que tenemos un porcentaje de mujeres colaboradoras mayor que la mayoría de los proyectos de código abierto.  ¿Cuáles son esas cifras hoy en día?  ¿Cómo ha evolucionado en los últimos años?  ¿Por qué cree que hay más mujeres implicadas en Drupal que en la mayoría de los demás proyectos?

Angela Byron: Por desgracia, no disponemos de cifras fiables sobre el desglose por sexo en nuestra comunidad. Lo que sí sabemos es que, de las personas que han optado por decirnos su sexo, el 11% se declara mujer (por oposición a hombre o transexual). En general, parece que esta cifra aumenta con el tiempo, pero es difícil afirmarlo científicamente.

Una cosa de la que estoy especialmente orgullosa es que en el archivo MAINTAINERS.txt del núcleo de Drupal, que hace un seguimiento de los principales mantenedores de subsistemas, en todas las versiones anteriores de Drupal había 0 mujeres en MAINTAINERS.txt. En Drupal 7, somos 6. Aunque este número en bruto sigue siendo bajo, creo que sirve para ilustrar el aumento de la diversidad de nuestro equipo de contribución que ha evolucionado durante el ciclo de Drupal 7. Tampoco conozco muchos otros proyectos de código abierto con tantas mujeres en el equipo de desarrollo principal.

Tampoco puedo asegurar por qué Drupal atrae a más mujeres que otros proyectos. Creo que, en parte, se debe a la naturaleza del proyecto: Drupal es un proyecto para crear sitios web y hay muchas mujeres que se dedican al diseño y desarrollo de sitios web, quizás más que al kernel hacking. Pero creo que también hay razones culturales importantes. La comunidad Drupal tiene una fuerte inclinación meritocrática que eleva a las personas que trabajan duro, independientemente de su origen. Como resultado, tenemos mujeres en una serie de posiciones clave en la comunidad, incluyendo la junta de la Asociación Drupal, los líderes del equipo de documentación, e incluso los mantenedores núcleo.

Katherine Druckman: ¿Qué tan difícil será el proceso de actualización para aquellos de nosotros que necesitemos actualizar de Drupal 6 a Drupal 7?

Angela Byron: Hay un dicho en la comunidad Drupal, «La gota está siempre en movimiento». Esto encarna nuestra filosofía de permitir cambios radicales en la API que rompan la retrocompatibilidad en las versiones principales, siempre y cuando se proporcione una ruta de actualización para los datos de los usuarios. Esto nos permite mantenernos a la vanguardia de la tecnología y no cargar con un montón de exceso de equipaje heredado, pero también significa que la actualización de las versiones principales de Drupal puede ser un proceso un poco angustioso.

En el momento de escribir esto (unas tres semanas después del lanzamiento de Drupal 7.0), el camino de actualización de 6 a 7 sigue siendo bastante rocoso. Mientras que las cosas del núcleo están solucionadas, los módulos contribuidos todavía se están portando y la ruta de actualización de los módulos principales todavía está en proceso. También hay grandes interrogantes en torno a algunos proyectos y cómo van a hacer la transición de Drupal 6 a Drupal 7 dado el nuevo paradigma de entidad/campo API y otras nuevas características que Drupal 7 ofrece. La situación está mejorando, literalmente, sobre una base horaria, pero hablando honestamente yo diría que la mayoría de los sitios típicos de Drupal 6 no serán capaces de mirar seriamente a la actualización a Drupal 7 hasta el segundo trimestre de 2011 más o menos.

Sin embargo, la buena noticia es que hay una serie de utilidades disponibles que hacen que la actualización a Drupal 7 sea más fácil que cualquier otra versión anterior.

* Módulo de estado de actualización: http://drupal.org/project/upgrade_status

Este módulo, instalado en un sitio Drupal 6, proporcionará una lista de los módulos actualmente habilitados y si hay o no versiones disponibles para Drupal 7. Puede consultar esta lista periódicamente para hacerse una idea de cuándo desea actualizar a Drupal 7. Una vez que esté listo, el Módulo de estado de actualización proporciona una lista de comprobación interactiva que puede guiarle paso a paso a través del proceso.

* Módulo Coder Upgrade module, parte del módulo Coder: http://drupal.org/project/coder

Este módulo le permitirá subir un módulo de Drupal 6 y ejecutará una serie de rutinas de conversión en él para aplicar los nuevos cambios de código de Drupal 7, escupiendo un nuevo módulo al final que se ha convertido a Drupal 7 lo mejor posible. Entre las cosas de las que puede encargarse se encuentran la conversión de consultas SQL sin procesar a la nueva capa de abstracción de base de datos, renombrar funciones que han cambiado de nombre entre versiones y señalar cuándo un código que era necesario en Drupal 6 ya no lo es.

Mientras los creadores de sitios Drupal sigan las mejores prácticas generales -utilizar módulos contribuidos bien conocidos, no «hackear el núcleo» (realizar modificaciones en los archivos contribuidos/del núcleo de Drupal) y minimizar el uso de código personalizado- con la ayuda de estas herramientas, la actualización de Drupal 6 a 7 debería ser bastante sencilla una vez que los módulos contribuidos se pongan al día.

Katherine Druckman: ¿Cómo sugeriría a nuestros lectores que se implicaran en el proyecto Drupal si están interesados? Todos los proyectos de código abierto quieren probadores de errores, pero ¿cómo se les forma?

Angela Byron: En primer lugar, ¡les animo encarecidamente a que lo hagan! La comunidad Drupal está llena de gente inteligente, amable y servicial que está realmente entusiasmada con la incorporación de nuevos colaboradores.

El primer lugar al que suelo recomendar a la gente que vaya es a una reunión presencial para hablar con otros colaboradores de Drupal. Hay reuniones mensuales de Drupal en casi todas partes, incluyendo sprints de código, sprints de documentación y otras grandes oportunidades para ayudar. Visite http://groups.drupal.org/ para encontrar su ciudad más cercana.

También disponemos de una sección específica en nuestra documentación, la Guía de participación http://drupal.org/getting-involved-guide, ten la que se describen diversas formas de participar, como el desarrollo, la documentación, la asistencia y las traducciones. La sección Iniciativas de la comunidad http://drupal.org/community-initiatives contiene una variedad de proyectos de gran importancia y con quién hablar si quieres empezar.

Tenemos una sección en la Guía de Implicación sobre la cola de incidencias en http://drupal.org/node/317. Incluye enlaces a screencasts y tutoriales sobre cómo funciona la cola de incidencias, cómo enviar informes de errores, etcétera. También proporcionamos formación durante los sprints de código en Drupal Camps, DrupalCons y otros eventos.

¡Y no se olvide de IRC! La mayoría de nosotros estamos en #drupal y #drupal-contribute en irc.freenode.net las 24 horas del día, ¡y nos encantaría saber de alguien a quien le gustaría participar y quiere saber por dónde empezar! Tanto yo como cualquier otro voluntario estaremos encantados de guiar a alguien en su primer informe de errores o revisión de parches.

Katherine Druckman: ¿En qué otras tecnologías de código abierto confías? ¿Alguna favorita? ¿Alguna herramienta de desarrollo en particular?

Angela Byron: Los proyectos de código abierto que utilizo a diario incluyen Firefox, vi, Adium, Sequel Pro y, por supuesto, la pila LAMP, de la que dependo para hacer las locuras que hago con Drupal.