Lesson Learned: Look in the Pull Request Queue

If you follow me on twitter you might have seen some overexcitement when I managed to edit and compile a vala application recently. I use a great deal of open source tools, but many of them don’t seem open to me, because I don’t have the skills to modify the code. Regardless of that, it’s still vitally important that it is open (this is a whole other post and I’ll avoid that tangent right now).

In this case, I wanted to make some additions to the excellent PDF Presenter Console (made by the talented @jakobwesthoff). All my presentation slides are PDF, and this is a great tool for presenting them as it shows you some timings and the upcoming slide etc. I needed to add support for when you use two screens but they are mirrored (I do this when I’m teaching, so I can easily demo without trying to look over my shoulder when I type!), and also the ability to jump to a specific slide when you start the presentation – my courses can be days long, and it’s slow to click through hundreds of slides.

I was very proud when I made my changes, but that’s not the moral of the story. I consider myself a good open source citizen so I separated my features into branches and opened pull requests against the upstream project. When I looked closer, there were some excellent features waiting in the pull request queue. One of them, the ability to log what time the slide transitions occurred when you are giving a presentation, I actually grabbed and merged into my own repo (I have no idea what other tools I’d need to reconcile a PDF of slides against an audio recording, answers in the comments please if you know because I’d love to be able to!).

On closer inspection, one of the features I just built was already contributed, just not merged. So the moral of the story? Check the pull request queue and/or anywhere else that people might leave patches before you dive in and patch a tool yourself. And the other moral? Open source software rocks; I love that I can add my own 20% to a great product that already delivers the 80% I needed. Thanks to open source contributors everywhere!

Leave a Reply

Please use [code] and [/code] around any source code you wish to share.

This site uses Akismet to reduce spam. Learn how your comment data is processed.

To respond on your own website, enter the URL of your response which should contain a link to this post's permalink URL. Your response will then appear (possibly after moderation) on this page. Want to update or remove your response? Update or delete your post and re-enter your post's URL again. (Find out more about Webmentions.)