Bon Voyage, Drupal Footnotes module!
Actually, I had created this simple Drupal input filter for this site, openlife.cc, that I created when publising the English translation of my book Open Life: The Philosophy of Open Source. I wanted to have a simple way to have footnotes within HTML, without having to number them and format them myself. (Same functionality that is common for any word processor.) Drupal's input filter framework made it very simple to add an fn tag. You can see it at work if you read the online version of my book from the openlife.cc web site.
Footnotes was my first participation, as a code contributor, in a major open source project. It was a very pleasant experience. I didn't expect much, but very soon another Drupal developer added themeability to the module. Over time people added support for TinyMCE, CKEditor and Drupal Views (though the last one is a bit hacky...). Drupal.org provides usage statistics for each module, and eventually I found that my small module was used at over 1000 sites. It felt really good. (Just like when I found out that my book had been downloaded over 10.000 times within the first year.) In 2008 I met in person someone who used my module in his Drupal consultancy.
There was a bug in the Drupal core URL filter (that makes your URLs clickable) that was especially annoying for footnotes users. I submitted a patch. What can I say, it was an interesting experience. But 3 years later the patch was committed. I was one of the one thousand contributors to Drupal 7 core!
Maintaining the Footnotes module was very low effort and provided a lot of satisfaction over the years. Especially in the parts of my career where I've been in management positions it was a welcome disruption and an easy way to flex my coding muscles once or twice a year. It was recreational a bit like some people do crosswords. In fact, considering the heavy use of regular expressions, I'd say it was very much like doing crosswords :-)
Exactly a year ago I had taken a new job. It was clear to me I would continue as a MySQL specialist with no professional involvement with Drupal. (Which was always the case since 7 years ago.) I was becoming active also in contributing to various MySQL forks. So I decided that perhaps MySQL community needs me more than the Drupal community and I decided to focus on that.
Drupal handles the lifecycle of modules very well - it is built in to the drupal.org tools. I set the module status to "Seeking new maintainer" and added some text to the project page:
SEEKING NEW MAINTAINER
Footnotes module is looking for a new maintainer. After developing it for 5 years and through 4 major Drupal releases, I am now more and more finding myself with responsibilities with what happens in the MySQL community, and have decided it is time to hand over my Drupal duties to fresh minds. I will of course be available for mentoring and code reviews as long as is needed.
The Footnotes module is in good shape and is used on over 1100 websites, particularly in academia and publishing contexts. At the same time it is a simple module not taking a lot of time per year. Over the years various members of the Drupal community have continued enhancements like theme support, enhancements to the footnotes themselves, integration with 2 wysiwyg editors and Views support.
A good candidate should:
- master regular expressions. (this is the important one, all the others are easier.)
- know or learn the Drupal filter API (easy, and even easier in D7)
Then I sat back, and resisted the urge to fix any incoming bugs. (They are in CKEditor nowadays.)
Many people expressed their interest over tha past year. But nobody actually produced any commits. Last week there finally was a flurry of activity with many Footnotes issues resolved. Footnotes now has a new maintainer in drupal.org user rooby.
Bon voyage, my baby!