Beyond time

This article was modified from its original published form. The most recent modification was on2014-09-28.

In Twitteriffic today, I hit the wrong button on a message sent by Nathaniel Talbott and it took me to his blog, which had his entry about handing off test/unit to Ryan Davis.

It has taken me a long time to reach this point, but it has to happen: I no longer have time to maintain PDF::Writer and most of its support libraries. I need a successor. Over the last year (since RubyConf ’06), I have been talking with several people, but no one has actually submitted patches for me to review so we could push out some fixes. I don’t really want to give up PDF::Writer or its ancillary libraries, but I owe it to the community to find a maintainer who will be more responsive and put more effort into it than I have. There are some issues to sort out regarding the pieces of the projects, and some changes that I would like to see someone implement. There are basically three projects:

  1. Transaction::Simple. This has improved significantly since the last release, but I have not yet implemented the Ruby 1.9 Marshal.load block trick that Matz implemented for me after a minimal case for a #become-like behaviour was shown.1
  2. color (née color-tools): This involves someone else, because after some preliminary discussion last year, I moved the color-tools codebase to the Color project on RubyForge and restructured things to be a bit smarter. There’s also some work that should happen hear regarding colour profiles, but that’s manageable. I basically want to work with the current owner of the Color project to hand this entire project off to someone who is interested in the math behind colours, and has the expertise to do something with it.2
  3. PDF::Writer. The big one. I need someone to take care of this. No, the community needs someone to take care of this. I’m more than willing to share some thoughts about the code, but it’s a bit of a mess, and there are better ways to do what I did. The code can’t support the ultimate goal of reading.3

None of this means that I’m giving up on Ruby, or on PDF generation4; if I find time, you may yet find a different set of PDF tools from me in the future. But PDF::Writer is here and it needs someone to help maintain it. Could that be you? Comments open on this post for interested parties to let me know. Be warned: I’m not just handing off PDF::Writer. I’m going to be looking at code samples; wanting patches. I need to know that you’re going to give the care the PDF::Writer needs and deserves before I hand off the virtual keys to the project.

  1. Transaction::Simple has not been handed off to anyone. I’m still open to offering it to someone who wants to, but I suspect it would do very well being updated to be Ruby 1.9-only or even Ruby 2.x-only and using some of the new functionality offered by Ruby. It will probably be 2015 before I can look at doing this work myself.
  2. color has also not been handed off to anyone. I’ve started working more closely with it, but it’s not been a top priority. I’m working toward a 2.0 release and hope to have at least one co-maintainer based on the work people have put into the code going into 2.0 by late 2015.
  3. PDF::Writer was successfully handed off (to @sandal) and ultimately retired in preference to Prawn.
  4. Yes, I did give up on PDF generation. There are other projects that have been more important to me, and the Prawn team is doing awesome work.

  • 2014-09-28: This article has been updated to update links and to provide footnotes indicating the current status of the projects mentioned.[ back ]