Contributions Made to external Open-Source Projects
Last Updated: 4-October-2004.
GIMP - The GNU Image Manipulation Program
I wrote the so-called gradient-fu patch, which adds Procedural Database (or PDB) handlers to manipulate gradients. This patch was written and re-written for several versions of the GIMP, and was finally integrated in the 2.1.x branch (which will lead to GIMP 2.2.0), with some help by Michael Natterer.
Afterwards, I added a rudimentary PDB entry to gimpressionist. Seeing its code could use a lot of refactoring, I started a heavy refactoring of the gimpressionist code, and am now its maintainer. This was followed by a small amount of bug squashing and cleanups.
Subversion - A Compelling Version Control System
I started out by bug-squashing some bugs I found in the Issue Tracker. The largest contribution I did was adding a --config-dir directive to the Subversion clients, to specify a different directory where the configuration files reside. The original motive for this, was to fix the test suite when ran using a configuration that breaks it.
After some break, I worked on the get_locations() patch which enabled tracing the past locations of nodes in the Subversion repository. (which is useful for performing some operations). This patch took a lot of research, a lot work, and I received a lot of help from different people. Eventually, a reworked version of the Patch, was applied by Peter N. Lundblad.
Perl 5 Core
I contributed some patches to the perl 5 core documentation to make it clearer and easier to understand.
Syscalltrack - A Framework for Tracking System Calls
I contributed many cleanups and refactorings to a Perl 5 script that generated code out of system calls definitions. As an appreciation of my work, I and all the other contributors got a T-shirt with the Syscalltrack logo.
Later on, I did some work on the project's web-site.
WWW::Form - a Perl Module for Web Forms Managament
I encountered WWW::Form because I looked for an easy way to handle Web forms in Perl. After experimenting with it a bit I discovered that there were more stuff there that I needed (and added it to my copy), so I contacted the author, Benjamin Schmaus and he was quite cooperative. Eventually, I also discovered some Cross Site Scripting bugs there, which were also fixed. Other than that, the module was extended, improved, and a rudimentary test suite was written for it.
Ben and I have since been chatting using Instant Messaging.
Freecell Pro
Freecell Pro is a feature-ful implementation of the solitaire card game Freecell for Win32. Being the author of Freecell Solver, I wanted to integrate it into Freecell Pro. Thus, I reached one of the Freecell Pro core developers and current maintainer, Adrian Ettlinger. Adrian was eager to incorporate my solver as well, and we cooperated on incoroporating it.
The two programs had some incompatibility problems, which had to be resolved by Adrian and I. Eventually, however, the integration was performed successfully. Adrian and I became friends, and we have been talking by E-mail since then.