Angela Byron on Drupal 7

Angela Byron en Drupal 7

Original article in English on  linuxjournal.com

Angela Byron is co-administrator of the free software Drupal Framework and Content Management System. She spoke with us a little about her role in the Drupal project and the recently released Drupal 7, the latest version of Drupal.

Katherine Druckman: First of all, what was it that interested you in free software? Did you become a developer straight away?

Angela Byron : Ever since I heard the term 'free software' in 1995, I've been interested in it. When I completed my first successful installation of Linux - this was back when Debian fit on 7 floppy disks, ;) I was intrigued and excited by the profound humanitarian implications of the free software movement. More than just being commercial grade software, it was available to be developed and extended by anyone with an interest and learning orientation at no cost, including educational and non-profit institutions. I became a fierce advocate for free software alternatives among my family and friends and was absolutely 'that person' in college who would ask professors to teach us that in addition to teaching us ASP and Oracle, we also needed to learn PHP and MYSQL.

However, I equally maintained the strong belief that everyone currently working on free software was very intelligent and that I, being only a student at a small state university, could not participate at that level. So I would quietly encourage those people, but always from the sidelines, wistfully seeking the hope that one day, far in the future, perhaps after I had 30 years of experience, I could one day join those ranks.

After a decade, in 2005, one of my instructors told me about Google Summer of Code (GSoC), a program that offers remuneration to students working on free software projects during the summer. This made the little bug appear that told me 'you must be that intelligent person who contributes'. I wondered then if they would take into account my status as a student and that I did not know everything. I applied for the job anyway and waited for things to happen.

The Drupal project was one of the organizations supported by the GSoC, and had seen it used on SpreadFirefox.com, a marketing foundation site for the Firefox project. Since I'm one of those people who go and click 'view source' on all the web pages I visit to see what they're made of. I thought it was cool that Drupal was able to support a site like that, so the name stuck in my head. I applied to write for the Drupal Quiz Module for GSoC, even though I had never downloaded, installed, or used Drupal before.

Many things shocked me and others amazed me: I was selected. Then came the hard part: understanding Drupal and other related things like Version Control, Patches, etc. At the time, there was little documentation for Drupal; There were no books, no digital recordings, nothing like that. I found myself facing a steep 'learning cliff' and tremendous stress about what to do if I only had 2 months to complete my project. So I taught myself Drupal in two ways:

1. Writing the documentation that I wished existed but didn't exist yet, at least as best as I could, and then turning it over to the most knowledgeable people to help me fix it. I wrote instructions on how to use CVS in a test environment setup, and other things that were difficult for me at first.

2. Hanging out on support channels and answering people's questions on the forums. For the first two weeks, it was completely impossible, but in trying to get it done, I ended up learning a ton. And it was the first time I was able to successfully answer someone's questions, I felt like a rock star. I quickly gained a reputation as one of the 'dynamos' of the Drupal community and suddenly people were doing back flips to help answer my questions as I got more involved in development.

I've been very involved ever since, contributing like crazy, now that I'm coming to terms with a decade of lost time. I once stood on 'this side' of the contributor wall and realized how silly the myths I had in my head about what it was like to be a free software contributor were. While there were a few Einstein-level geniuses, many of them were people just like me: those who were passionate, who worked hard, and who wanted to help others. My goal since contemplating this epiphany has been to try and make sure that my story of delayed free software collaboration is not anyone else's story.

KD: One of the most interesting things about Drupal is the community behind it. Among many of the facets of our community, is the fact that we have a higher percentage of female collaborators than in other free software projects. Does that proportion remain these days? How has the progress been in recent years?

AB:  Unfortunately, we don't have very reliable statistics when it comes to the issue of gender in the community. We know that of the people who chose to share what gender they belonged to, 11% declared themselves as women (as well as others who were anti-male or transgender). Overall, it feels like the percentage is increasing over time. more and more, but it is difficult to say for sure. One thing I'm particularly proud of is that in Drupal core MAINTAINERS.txt, which lists the main maintainers of the project, in every version of Drupal prior to this one, there were no women on the maintenance list.

In Drupal 7, there were 6 of us. Although this number is still low, I think it illustrates the increased diversity of our team of contributors that evolved during the Drupal 7 cycle. I'm not very aware of other free software projects on how many women develop on the core team. I also can't say for sure why Drupal attracts women more than other projects.

I think part of it has to do with the nature of the project – Drupal is a website building project and there are a lot of women involved in web design and development, perhaps even more so than Kernel Hacking. However, I think there are cultural reasons involved as well. The Drupal community has a strong meritocratic curve that promotes people who work hard, regardless of their background. As a result, we have women in a number of key positions in the community, including the Drupal Association board of directors, documentation team leaders, and even core maintenance staff.

KD: How hard will the upgrade process be for those of us who need to move from Drupal 6 to 7?

AB : There's a saying in the Drupal community, “the drop is always moving.” This phrase expresses our philosophy about allowing long retrospectives without breaking compatibility in library (API) changes when moving from one Drupal version to another. This allows you to stay on the cutting edge of technology and not be burdened with excess legacy baggage, but it also means that upgrading to newer versions of Drupal can be a bit of a nerve-racking process.

As of this writing (about three weeks after Drupal 7.0 was released), upgrading from 6 to 7 is still a challenge. While the core is being taken care of, contributed modules are being included and upgrades for important modules are in progress. There are questions about how they will transition from Drupal 6 to 7 by giving the new entity/field API paradigm and other new features that Drupal 7 offers.

The situation is improving by the hour, but speaking honestly, I would say that the vast majority of Drupal 6 sites will not be able to upgrade to Drupal 7 until mid-2011. However, the good news is that there are a number of utilities available that They make upgrading to version 7 easier than any previous version.

* Módulo de Status de Actualización (Upgrade Status module): http://drupal.org/project/upgrade_status

This module, when installed on your Drupal 6 site, will provide a list of the modules currently enabled. Check this list periodically to see when you can upgrade. Once you are ready, the Upgrade Assistant module will provide you with an interactive list that can guide you step-by-step through the process.

* Code Update Module, part of the Coder Module:  http://drupal.org/project/coder

This module will allow you to load the Drupal 6 module and a variety of conversion routines to implement the new Drupal 7 code changes, resulting in a new module that will ultimately be converted to Drupal 7 as smoothly as possible. Things to take care of include converting SQL queries to the new database abstraction layer, renaming functions that have changed between versions, and indicating when code previously required in Drupal no longer exists.

Drupal 6 site builders are adopting general best practices – using widely used contributed modules, not “hacking the core” (making modifications to Drupal core/contributed files), and minimizing the use of custom code – with the help of these tools an upgrade from Drupal 6 to 7 should often be a simple process, once the contributed modules are updated.

KD: How could you suggest our readers get involved in the Drupal project if they are interested? Every free software project wants bug testers. How are they trained?

AB : First of all, I'm very encouraged that they do it! The Drupal community is full of friendly, collaborative people who really get excited about contributing. I usually recommend that people go to a face-to-face meeting with other Drupal contributors. We hold monthly meetings that include code sprints, documentation sprints, and other great opportunities to help (for more information, click here  http://groups.drupal.org

We have also dedicated a section of our documentation to it, the Getting Involved Guide  http://drupal.org/getting-involved-guide

which explains many ways to get involved, including areas such as development, documentation, support and translations. In the Community Initiatives section,  http://drupal.org/community-initiatives there are  a variety of important projects and moderators to talk to if you want to get started.

We have a subsection in the Getting Involved Guide that lists categorized posts that are linked to a project (Issue Queue)  http://drupal.org/node/317 as well  as recordings and tutorials on how the Issue Queue works, how to file a bug report, and so on. We also provide training during Code Sprints at Drupal Camps and DrupalCons, among other events. And let's not forget IRC! Many of us are #drupal and #drupal-contribute on irc.freenode.net 24 hours a day and would love to hear from anyone who wants to get involved and wants to know where to start. I myself or one of the volunteers would be more than happy to do the first patch review.

KD: What other free support software do you have? Any favorites? Any particular tools?

AB : Free Software projects that I include daily are Firefox, vi, Audium, Sequel Pro and of course LAMP, which I depend on to do crazy things in Drupal.