January 15th, a day that will live in infamy
I am generally not a very religious person, but sometimes things come together in ways that make me wonder if there is some strange and inexplicable order to the world. 15 January 2008 is one of those days, when three important things happened to me.
The first is, of course, Drupal's 7th birthday. OK, it is not specific to me, but it's still a curious irony given the restof the day.
The second is the completion of the project that got me into Drupal. The reason I use Drupal is finally complete.
And third, I got a new job. Well, sort of. I got more work. :-)
In the club
Back in early 2005, I was looking for PHP application frameworks. I didn't want to use them, but I wanted to find an example of modular architecture that I could study in order to write my own. In one of my many lives, I am a member of an online international Star Trek RPG club called STF. STF is now over 16 years old, dating back to the summer of 1991 on the old Prodigy dial-up service's bulletin boards. It moved to the new-fangled thing called the "Web" in 1997, using a horrid pile of custom Perl scripts called "effWeBB" as a posting system. ("eff" as in the grade the author thought he'd get if he submitted it for class.) That is when I joined. I wanted to replace effWeBB with something cleaner, more functional, more usable, more modular, and more maintainable from almost day one.
In the summer of 2000, I started writing a replacement in PHP 3. It actually got rather far, and I learned a great deal in the process of writing "Cairo", as I'd code-named the system in Microsoft's "honor" (pronounced Kay-row after the city in Illinois), but I simply didn't have the time or, at that point, the expertise to complete a project of that size. By mid-2002, Cairo had been abandoned.
Fast forward to Spring 2005. With some spare time on my hands (having become temporarily unemployed), I decided to try again. After some fitfull false starts, I decided to do the open source thing and study someone else's code. I looked at a few of the systems of the day, but quickly found Drupal and fell in love. Not with the code, which was admittedly impressive, but with the community. I quickly scrapped my plans to write everything from scratch and decided to build a new BBS for STF using Drupal, then at version 4.6. As luck would have it, though, I found new employment and didn't have much time to work on it again, so the project languished but the desire did not. Most of my Drupal thinking and planning for the next 2 years somehow came back to "how could I leverage this for STF?"
I finally decided to start building the system around Christmas 2006, using Drupal 5-RC1. It would make heavy use of Views, CCK, and Organic Groups. It also spawned two new modules (Component and Filter by node type) and a nifty new feature for Views. The bulk of the work was completed by June, but it still needed a proper design that wasn't Bluemarine on which I could build a theme. I asked a colleague of mine to provide a simple design, but he and I both then got distracted, in my case by the GoPHP5 Project, then DrupalCon Barcelona, then STF's club elections and the holidays afterward. So the launch kept getting pushed back until we finally nailed down a date for the cut-over: The weekend of 12-13 January.
For a variety of reasons importing all of the old data wasn't quite as simple as one would hope (it never is), so the site sort of stumbled out the door throughout the night of the 14th and into the morning of January 15th. The response from the rest of the club to WeBBspace, as the new system is called, has been overwhelmingly positive. Some of the specific boards still don't look good, because the old board pages (written in complete HTML or bad HTML, with little CSS or bad CSS or usually bad HTML and bad CSS) didn't take the upgrade well, but those are being fixed as we speak.
So if you're into Star Trek or online RPGs, you know where to find us. And yes, we run Drupal. ;-)
On the board
Was it simple coincidence that the reason I am part of the Drupal community came to fruition on the same day as the election of the new Drupal Association Permanent Members? I certainly didn't plan it, but there it was, 15 January. At the encouragement of a few other members, I was running for a position as a Permanent Member and for the Board of Directors, specifically to work on open source legal issues relating to Drupal, something Dries had said we needed.
So when the time came that afternoon, I was there in IRC along with the other 62 applicants, new and old, biting my nails to see if my application to do more work for free would be accepted. And then the existing board members went and did something silly by accepting it! 11 new permanent members were admitted, myself among them, bringing the total number of permanent members up to 25.
Then came the really fun part. Immediately afterward, the full General Assembly (that is, all Permanent Members, including the new 11) conveniened to vote on the applications for the Board of Directors. There were only seven of us running for positions, the rest of the General Assembly being smart enough to step backward. After much discussion, a vote was taken and all seven of us were accepted. That's why there's now a shiny new "Board of Directors" badge on the side of this blog, indicating proudly that I've been suckered into doing more work.
I'm at least in good company. The rest of the Board includes Dries Buytaert, Dries Knapen, Angie "webchick" Byon, Bert Boerland, Jeff Eaton, Gerhard Killesreiter, Kieran Lal, and Jacob Redding; a bunch of household names around Drupal, plus me. :-) The Board has yet to organize itself into formal positions, but I plan to focus my efforts on the Drupal Project's legals and licensing. Of course, in the past few days I've already concluded that the titles don't matter that much, as everyone is going to end up doing everything anyway because there's that much work to be done.
In the community
Who would have thought 3 years ago that a side hobby fan club would lead to me being elected to the Board of Directors of an international non-profit assocation? Or being an active community leader of one of the fastest growing open source projects in the world? I certainly didn't. So why would I offer up even more free time?
Because Drupal isn't just an open source program; a program is just lines of instructions. Nor is it just a project; a project is just a few servers and a CVS repository. It's not just a non-profit association; an association is just a piece of paper sitting in a filing cabinet in some office somewhere. Drupal is a community; a living, breathing, growing, vibrant community. It's human nature to want to be part of something bigger, something grand, something amazing. Well, here it is.
It's not about the code; it's about the people. Being able to work with so many amazingly intelligent, open, supportive people, not just in the Association but all around Drupal, is a rare privilege. That we're working on an immensely powerful and flexible world-class piece of code is secondary to the ability to form a true community fabric with people you've never met yet respect as colleagues and enjoy as friends. That's why I am willing to put more work on my plate; the community is just that strong.
A lot of trouble to go to, I suppose, just to replace some badly written Perl. But I don't regret it in the slightest. Let's rock this thing.