This month's Contributor Spotlight goes to Adam Light (aclight on drupal.org).
Adam first showed up on my radar as he was taking a dive into the radioactive, vampire shark-infested waters of the Project and Project issue tracking module's issue queues, contributing bug reports and fixes. These modules are notoriously fraught with legacy issues (since they're almost as old as Drupal itself, but have about 1/100,000th of the eyes/hands on them), and they also happen to be the cornerstone of drupal.org, providing both the downloads of Drupal core and contributed modules and themes, as well as the developer tools that we use every day to build them.
Anyone who helps our esteemed Derek Wright tame these wild animals gets a medal of honour, in my book. And, incidentally, if you're looking for a fast-track to becoming a Drupal hero, head over to the Issue tracking and software releases group to find out how you can help.
But it doesn't stop there!
Along came the Google Highly Open Participation Contest, which opened the doors for dozens of secondary-school students to get their start in open source by taking on bite-sized tasks for the Drupal project. While the contest has been a rousing success, it was obvious early on that the administration of GHOP was completely overwhelming the small group of volunteers we had initially assembled.
I put out a desperate plea for help; Adam answered, with gusto! Not only did he help come up with some of the initial tasks for the program, he has he been in #drupal-ghop daily to talk with students and help answer their questions, and he's also been reviewing students' work and rallying others to do the same. He's even taken a lead on the tedious-but-all-important administrative "plumbing" that keeps the contest running. Want to help usher in the new generation of Drupal contributors? Find out how you can help with GHOP.
Is Adam some kind of saint, who we should all gaze upon with awe and amazement? A masochist who just enjoys the very worst punishment we as a project can devise? You decide! ;)
Here's what he had to say for himself in an interview.
So, tell us a little about yourself.
I live in Chicago and am currently enrolled in a combined M.D./Ph. D. graduate program in which after 9 *short* years I should have an additional 5 letters, and four periods, after my name. Right now I'm in the research phase of the program and I am studying how different neurons in the retina (the piece of neural tissue at the back of the eye that lets us see) communicate with one another to form circuits that selectively carry different types of information about the visual world to the brain. I spend most of my time recording electrical signals from individual cells in the retina and analyzing the resulting data, but I try to make time for Drupal since it's fun and relaxing.
How'd you get your start with Drupal?
I first started using Drupal for a student-run website associated with my university after first trying Joomla, and I felt like Drupal was better suited to the task. After becoming familiar with Drupal, I started developing a Drupal based web site that allows users of a scientific data analysis and programming platform called Igor Pro to share and collaborate with one another.
What motivated you to start digging into this kind of work?
For the site I was building, we wanted to have similar project functionality to what is present on drupal.org, but we wanted to use Subversion instead of CVS for version control. At the time, there was already a Subversion module but it had not been ported to D5 and given the huge changes in project land around that time I thought it would be best to modify project* (mostly the cvslog module) as minimally as possible to get Subversion to work with project*. Along the way I got to be very familiar with project* and started to get more interested in working to make it even better.
As for GHOP, Angie dragged me into the secret IRC channel of people creating GHOP tasks before the program had officially been announced. Given my love of secrets and inside information, I couldn't help but to help out with the creation and administration of tasks.
How do you think we could help engage more people to take on this work as well?
As pointed out above, project* is quite complicated and is difficult to figure out at first. Though it's not used on as many sites as other modules, the entire development process of Drupal depends on features provided by project*. So improvements in project* directly lead to helping everyone who develops for Drupal to do so more effectively and efficiently.
In addition to being an important module, project* has great maintainers (Derek and Chad) that have high standards but are great to learn from. I don't have any formal training in programming and Drupal is the first open source project in which I have participated, and feel like I have learned a lot about Drupal, programming, and project management by participating in the project* issue queues.
We're currently planning to "outsource" a lot of the functionality in project* to other modules, thus simplifying the code base of project* itself. This has already happened with project issue follow ups, which are now standard Drupal comments. With the upcoming conversion of project* to use the Views module, we should be able to get rid of a lot of the really nasty, complicated code in project*, and I think the plan is to eventually integrate project issues with the newly rewritten Subscriptions module so that we can eliminate the project issue subscriptions and mail handling code that is currently in the project issue tracking module. There has also been discussion of how we can present project nodes in a more meaningful way, including providing metrics that help potential users to better evaluate each project. We've had some great feedback and suggestions for how to improve the information provided, and getting help with the actual coding will be key to moving project* forward to be even better than it already is.
Anything else you'd like to add?
I want to put in another plug for the GHOP program. We've had some amazing work done by students in the program already, and there are still several weeks left in the program. I'm surprised by how quickly students have gone from not knowing Drupal at all to completing a difficult task well. I think we're limited right now by getting reviews of work the students have completed. We have several students who submit work much faster than we can review it. If we had more people reviewing work, I think we could really get the students to crank out more work here at the end of the program. I encourage everyone who reads this to get involved (if you aren't already) by reviewing or suggesting a task. Also, the more successful the program as a whole is, the more likely it is that Google will decide to try it again next year (or some time in the future), and we definitely want that to happen.
Great job, Adam! While I haven't been involved much with GHOP, the moment I heard about it I thought it was a great idea and I think all the people that have been involved are inspiring to us all.
I always find it fascinating to hear the different types of non-programming careers that people within in the Drupal community have -- like an aspiring neuroscientist who kicks backs and relaxes by pouring through the issue queues. How randomly awesome.
But I think it's also a testament to the Drupal community since he's learning a lot, and also helping people he's never met in his spare time. It must be pretty rewarding to know that he's helping out these GHOP students and the larger Drupal community. Almost every GHOP task I've scanned I've seen aclight linking back to the GHOP task, changing the issue status or giving feedback. So kudos to you.
And a potential SVN integration with project* would be HUGE news and welcomed with open arms by many. I saw that dww said recently, "Drupal's choice of revision control system is not up for discussion now (believe me, you'll know when it is)." That "you'll know when it is" seemed to kick open at least the possibility of a switch, and so it'll be interesting to see if Adam helps catalyze that type of effort in 2008. Hopefully we'll continue to see aclight around after he gets those 5 letters and four periods after his name.
Thanks for the kudos.
As for the SVN work I have done, it's posted at http://groups.drupal.org/node/4272 (but I've modified it some since then). However, due to the fact that we're planning to move to jpetso's Versioncontrol API for d.o with D6, the work I've done will hopefully be superseded by a SVN backend for the versioncontrol API. As for d.o switching to a different RCS, I don't see that happening in the near future. I would personally love to see us switch to SVN, but I get the sense that those who would make that decision would be more in favor of one of the newer distributed RCS systems like git, mercurial, bazzar, etc. But from what I know the GUI support for many of these is not so great right now, so I guess it's kind of up in the air.