DEV Community

Gary Kramlich
Gary Kramlich

Posted on

The Pidgin Team

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!

Top comments (12)

Collapse
 
cubiclesocial profile image
cubiclesocial

"I primarily write software for me. If others benefit too, then great."

That's my personal motto regarding public facing software development. It separates my personal happiness from all the naysayers who approach me and would bully me and result in burnout given half a chance. As long as you like and use Pidgin and enjoy developing for it, then who cares what anyone else says?

Should XMPP have been the underlying protocol for all things instant messaging so the user can freely choose their preferred chat client? Perhaps. But that's not how it has played out in the industry at large. And dumping private corporate communications into the cloud which is data mined by whomever can pay for it is always a privacy/security concern (e.g. I've been sent sensitive passwords over Discord/Slack/Teams before). But few people seem to actually care about that because laziness/convenience always seems to defeat both security and privacy.

Collapse
 
ben profile image
Ben Halpern

Thanks for sharing a really authentic post here @grim

Collapse
 
michaeltharrington profile image
Michael Tharrington

Just to say that it sounds like you're working extremely hard. I really appreciate the way you've talked through the demands placed on you for being one of the primary contributors to Pidgin β€” there are high expectations and not enough appreciation for how much work you put in. This is too common of a story for folks like yourself working on open source projects.

No advice here, just wanted to recognize that you're doing good work and def deserving of a break. πŸ™‚

Collapse
 
klutt profile image
klutt

Keep up the good work, but prioritize your health. Sure, I'm really looking forward to the alpha, but it's not like Pidgin is a very critical program for me. I manage perfectly well without it. So take a break if you need it. You're worth it.

Collapse
 
klutt profile image
klutt

Also, this might sound I'm trying to sneak in a suggestion, but I really believe that what I'm writing here is true. I think the stress from other people nagging would get decreased with a proper roadmap. The worst thing is not knowing where we are. If we know that we have these 500 tickets left to solve, then it's much easier to accept that it will take a long time.

And sure, I do understand that it might take some work to create such a thing, and we can simply not demand anything from you. We can only be grateful for whatever you do. But I think it's worth considering, since it might reduce questions about when the alpha will come. And for those who still asks, you can simply just post a link as an answer.

Collapse
 
grim profile image
Gary Kramlich

I already did that and even wrote a blogs post about it :) patreon.com/posts/what-were-with-3...

Collapse
 
klutt profile image
klutt

Haha, I had forgotten that I had read it. Sorry. :D

Thread Thread
 
grim profile image
Gary Kramlich

No worries ;)

Collapse
 
davepile profile image
davepile

Probably a good idea to mention what pidgin is. Sorry, but I have not heard of it. Is it this? pidgin.im/

Collapse
 
grim profile image
Gary Kramlich

Yes that is correct. Every one of my posts is related to Pidgin in some way shape or form, so constantly posting about it gets to be a little much. But I'll make sure it's at least linked in each post.

Collapse
 
zerodivider profile image
Zeljka Zivanovic

Totally.. I also got confused about what that is. I recall I used some pidgin on Linux instead of Skype for Business, but still not sure it is that app. :((

Collapse
 
grim profile image
Gary Kramlich

Yes this is that application.