[linux-elitists] Contributing to a Project with a Maintainer Who Doesn't Merge Contributions Quickly

Asheesh Laroia linux-elitists@asheesh.org
Fri Dec 26 14:29:50 PST 2008

On Fri, 26 Dec 2008, Shlomi Fish wrote:

> Recently I started contributing to a popular and widely used CPAN 
> module, which I'm also extensively using. My first patch involved adding 
> some much needed and comprehensive automated tests. I wrote several 
> versions of the patch, which I posted to the module's bug-tracker. It 
> took several months for the patch to be finally applied, and when it 
> was, it wasn't the final version of the patch, and I had to write 
> another patch with the delta to the latest incarnation of my patch.

What a drag.

> Now I have another patch with an enhanncment/bug-fix (somewhere in 
> between). It is partial, and there's still some work to do there (which 
> I can do), but again it has been waiting on the bug tracker for over two 
> months.


> Now, I can routinely reach the maintainer on AIM and IRC, and I feel 
> that I've been bugging him enough about applying my patch. He's kinda 
> busy with several other projects and a day job so this is expected. 
> However, I feel that I'm getting worn out due to the long 
> round-trip-delays of getting a patch applied, which are not due to a 
> problem with my end.

I would ask him if he would accept co-maintenance.

> I have some ambitious plans for enhancing the module, but I feel that it 
> won't be practical to do it in the current conditions. I tried to 
> soft-talk the maintainer into giving me repository access, but then the 
> conversation got diverted into applying my latest patch, which he said 
> he'd like to perform the next day. He didn't and it's been at least two 
> weeks since then.

You could ask him again, then, about the co-maintenance.

> What are your thoughts about a situation like this?

I would learn TopGit, a nice git-based patch manager, that lets you create 
your own versioning system on top of an upstream in a way that makes it 
easy to prepare separated patches ready for upstream's inclusion at any 
moment.  You prepare each branch in a separate branch, and topgit handles 
the dependency mangaement.  You can commit all you want to your branch, 
and when upstream cares, or you're ready, you "tg export" or "tg send".

(Think of it as quilt with local version control.)

The other thing I would think about doing is, if this thing is available 
in distributions, file bugs with patches there.

> Happy Holidays, everyone.

You too!

I currently have the issue you desceribe with gstm. I wrote a patch that 
fixes a bug, and the upstream maintainer doesn't really maintain it 
anymore at all.  I'm still mulling about what to do, but at least I posted 
my repository publicly.  I do see there's some activity in Debian as far 
as fixing some gstm bugs... 

Best of luck with this. In the end, you are only responsible for making 
your software work for yourself, but I share your commitment to trying to 
share your work!

-- Asheesh.

She is not refined.  She is not unrefined.  She keeps a parrot.
  		-- Mark Twain

More information about the linux-elitists mailing list