Since it's the end of term, it's time to look back and reflect. When looking back, I see that I have a problem. I seem to be addicted to working on LilyPond.
Like all great addictions, it doesn't even make sense. Yes, I first got involved because I was using it for composition, it was a great piece of software, and I wanted to give back to the community.
After a few years, I stopped composing, as I shifted from music composition into teaching/performance and then into computer science. But I kept on working on LilyPond. In fact, I did more than ever. I kept on doing more and more.
In the past three days alone, I've exceeded 20 hours of LilyPond work. Not "using lilypond for composition", not "using lilypond to generate images for my PhD research", and definitely not "using lilypond to research music notation or presentation or computational aesthetics" or anything research-oriented like that. No, 20 hours of mentoring new contributors, preparing the build system for the new website, getting the 2.12.3 release out, discussing documentation restructuring, etc. No wonder I've barely done 1 week of actual research over the past four months!
This has to change.
I hereby announce that starting tomorrow (21 Dec 2009), I'm only going to do 3 hours of lilypond work each day. That's still 21 hours a week, which is very respectable for a volunteer job. And it's not going to count working on other open-source projects; that time is separate from lilypond time.
My time will be carefully prioritized:
- Urgent emails.
- Mentoring contributors, new and old.
- Dealing with non-urgent emails.
- Working on stuff that only I can work on (the Grand Unified Builder, releases, and the website).
- Working on complicated stuff that I can do much faster than other people (large-scale documentation rearrangements, build system stuff, etc).
- Working on other issues.
I'll record time in 15-minute blocks; when I reach 3 hours, I'll stop for the day. My apologies in advance to any contributors who send me questions after this cut-off; you'll have to wait until the next day. Speaking of that, I define "a day" as "the period between waking up"; my sleep schedule sometimes has no relation to the visibility of the sun.
This will undoubtedly slow down lilypond development -- if we have a lot of new documentation contributors, then I'll be doing less release work. And it would be quite difficult for anybody else to pick up that slack; GUB is a beast to get running.
I make no apology for this; my time is my time, and I consider keeping new contributors happy to be more important in the long term than having more releases or better-quality releases. If anybody wants to volunteer to mentor a few people, that would obviously reduce the burden on me, thereby allowing me to spend more time on releases, the build system, or whatever else occurs at a lower priority level.