The Pidgin Team

Gary Kramlich - Apr 27 '23 - - Dev Community

Pidgin will turn 25 years old this year, and when a project gets around this age people inevitably assume that the project consists of a decently sized team. Unfortunately, this is rarely the case.

In Pidgin's case, we're currently sitting at three active contributors for the entire project. We will occasionally get some contributions from others but the vast majority of the work comes from these three people.

As discussed in a previous blog post, Pidgin has three tiers of contributors. To quickly recap they are Developer, Crazy Patch Writer, and Casual Contributor.

A causal contributor sends in some patches that addresses issues they've run into. A crazy patch writer is someone who has started understanding how the code base is laid out and has started addressing issues that are affecting others as well as themselves. Finally it's the responsibility of the developers to drive the project forward.

The breakdown of our three active contributors are two developers and one crazy patch writer. From a code point of view, this actually isn't a bad breakdown right now as we're going through a cycle of heavy refactoring.

The team hasn't ever been this small, in fact when I first got involved 20 years ago, the team was quite large as we can see in the following charts.

Image description

Image description

As you can see, the number of contributors to Pidgin have been declining over time. There's a myriad of reasons why this happening and we're trying to attack the ones we can, but obviously we need to find a way to retain contributors.

The bigger story of the charts is that, unfortunately, as the years passed by, people started to "life out" of the project. What I mean by that, is that careers, families, and other projects cut into that free time that was previously dedicated to Pidgin which is exactly what you'd expect to happen.

Generally speaking this is fine as many Open Source projects will attract new contributors over time. However, this hasn't happened with pidgin.

Case in point. There's a spike of new contributors in 2016. A lot happened that year. I took over as lead developer which helped bring some much needed energy to the project but we also moved to Bitbucket and as part of that started instituting code reviews for every contribution. This made it easier and provided guidance for new contributors. Unfortunately, as you can see from the chart, not many stuck around.

An interesting thing to note here is that in 2016, we had a total of 829 commits from 68 unique contributors, but in 2022 we had 760 commits from 9 unique contributors and of those 9 contributors only 4 of them had 10 or more commits throughout the year.

What this tells us, is that drive by contributions while nice, do not sustain the project, developers and crazy patch writers do.

We're trying to find ways to attract more developers and crazy patch writers, but with Pidgin being 25 years old, we have a huge debt of not just old code to support, but documentation, infrastructure, and user base to support as well. All of these things don't lend themselves to attracting new long term contributors.

Right now most of the support, all of the infrastructure, social media presence, as well as trying to find sponsorships for the project all falls on me. I do all of this, as well as drive the project forward as the lead developer, while also being the most active contributor with no compensation.

What this means is that all of this work that I do for Pidgin does not pay my bills. Which also means that outside of the work I do to pay my bills, nearly all of my free time goes to Pidgin.

As you may have guessed, this tends to lead to me being very cranky due to stress. Unfortunately, this comes out quite publicly sometimes too, especially when people constantly "joke" about how long Pidgin 3 has been in development, or how we barely support Pidgin 2 anymore, or how they have the solution to all of our problems when they don't even understand the problems.

The point of this post is to ask people to please be patient with the project and myself. I'm sorry for those of you I've torn into publicly, but hopefully this post will help you to understand why this keeps happening. I'm not trying to be an asshole, I've just been burnt out for a very long time now and unfortunately taking a break only leads to more stress.

So I'm on this ride until Pidgin 3.0 Alpha 1 is out. My hope is that at that point we'll be able to find some funding for either the project, me directly, or via some other Open Source funding organizations.

I've applied to NLNet and other Open Source grants for Pidgin in the past, even applied a few times to some of them, but we haven't had much luck there.

If you'd like to support the project you can find out more on the Donate Page for Instant Messaging Freedom. If you'd like to support me directly, you can do so via my Patreon.

I hope you're enjoying these posts! Remember they go live for patrons at 9AM CST on Mondays and go public at 12AM CST on Thursdays! If there's something specific you'd like to see me cover here, please comment below!

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .