jump to navigation

Beyond time
Saturday, 4 August 2007

Posted by austin in: Ruby, Ruby PDF, trackback

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.
  2. 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.
  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.

None of this means that I’m giving up on Ruby, or on PDF generation; 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.

Comments

1. Ruby On Rails – Sunday, 5 August 2007

Looking for at Least One Good Developer

I’m looking for someone to take over PDF::Writer, color-tools, and Transaction::Simple. I do not

2. gnufied – Sunday, 5 August 2007

All the best Austin. Transaction and PDF::Writer are simply too good to go unmaintained, i hope someone laps it. thanks for creating them.

3. Stefan – Sunday, 5 August 2007

Hi austin
I wrote you an e-mail a while ago about Color, maybe you haven’t seen it. I implemented color classes in ruby and C and would like to work with you on it and use the color project as it’s base if possible. You can download the current version from http://rubyforge.org/frs/?group_id=1349&release_id=12834. Note: it still has known bugs (mostly from refactoring).
You can contact me via e-mail or in IRC (irc.freenode.org#ruby-lang, my nick is apeiros).
Regards

4. Daniel Berger – Monday, 6 August 2007

You should post an announcement to ruby-talk.

5. ixld media – Wednesday, 8 August 2007

Also some of the google groups that are ruby related, there are a couple of really big mailing lists on googlegroups

6. she – Sunday, 12 August 2007

I think colours somewhat is easier to maintain compared to the biggie PDF Writer :-)

7. austin – Sunday, 12 August 2007

@she: you might be surprised how hard colour software is to write. It’s effectively impossible to get right algorithmically, so you can only *try* your best. The long term goal that I want for colour management, though, is for ICC profile support with L*a*b* support; that’ll give as close as possible to algorithmic support.