GitHub Sponsor Funding

Way back in 2019 GitHub announced a native method for funding projects named "GitHub Sponsors". I was excited for this because the method of both donating to projects and receiving money was quite inconsistent.
My first introduction as a maintainer was Google's Code platform which offered a way for SVN repositories to be hosted online. It took it a step further and had downloads, wikis and issue tracking all included. It didn't offer any form of donations so most folks, including myself, just had a link to their PayPal page. It wasn't elegant nor did it offer much of an explanation of why to donate.
It was also an interesting time for digital money as Bitcoin and other cryptocurrencies were taking off. It wasn't uncommon to stumble upon a project and see a bunch of hashes that represented the digital wallets of said currency. Which also to an untrained eye looked like a bunch of gibberish on a page.
As time passed we started seeing the launch of products dedicated to donations - this may have been sites like BuyMeACoffee, Ko-fi and OpenCollective.

I created an account on BuyMeACoffee and used it for all my open source / free ventures. It was pretty cool to get a notification on your phone and realize it was a donation. What I really liked about this platform is the donor could include a message and optionally make it anonymous. So if I got a donation with a request to dig into a bug or change something in a project I could make time to focus that request.
Since from my point of view open source as a maintainer is often times a bit demoralizing and time consuming. I've wrote in detail about these rants many many many many times before. I could summarize it as a small chunk of people demand a lot for something that is free and that eats at you.
So as GitHub's sponsors moved out of beta and anyone could offer it I was excited for both work & hobby development. In my eyes I envisioned a method that work could just donate to projects to show our appreciation, but also tempt the maintainer(s) to fix something bothering us.
Whether through work or hobby I've done this about 5 times and pretty excited how well its worked. Whether I was asking for a bug to be fixed or a release to be cut - a little bit of money helps a maintainer out to push a task forward.
When the sponsorship doesn't help though is where I start to think negatively. Let's take a take an example, but blur the names and repositories as I'm not out to attack anyone.
Let's start with this person who has roughly 50 sponsors and does a lot of open source work. Their sponsorship profile has this little description, which I've heavily redacted.
I'm _____ a speaker, ____, _____, ____, & open source developer.
I've created and maintain popular open-source projects including ____, _____, ____, ____, _____, ____ they have been downloaded over 800 million times.
With that many projects I wish I could select which repository I'm donating after, but instead I cannot. This individual also has the default donation amount set to $10,000 which is either trying to be funny or very much an intentional choice. On the flip side I leave no recommended amount and set my minimum to the lowest possible of $1.

I want to donate to this person because one of their projects is looking abandoned, but I'm nervous my donation will be useless. It's a sad way to think because I should donate expecting nothing in return, but I'm donating to projects because I depend on them and want to push them forward with updates. I'm hoping a little monetary donation gives the push to the maintainer to spend some time on it.
I start peeking the maintainer and how much they are maintaining and it's looking a bit rough, which is odd because I really respect this individual.




A snippet of 4 different projects under this maintainer.
Best I can tell looking at their projects is they garner funding on top of a heavy push of their own time to complete a 1st version of a project. Unfortunately for anything in technology - tech moves on and projects have to move with them or decay out. We commonly see this maintainer step out of the day to day maintenance and ask the community to stand in for that.
Everyone is trying to make a living online though so I can't be too critical. I know first hand that once the honeymoon phase is over for a project and it turns to the maintenance phase it's a lot less fun to do. I'm surely merging more contributions for Apktool than authoring myself these days. I just wish for this individual that even older projects still got some updates and work and didn't require the community begging in GitHub for stuff to be merged/released.
I decided to stop ranting and do something about it. I went off to GitHub and saw they had an option to download a list of dependencies your code uses that has an attached maintainer with a sponsorship available.

This returned a CSV with 193 lines, so I did some quick math and decided I could donate $2.57 to every single person on the list. It was time to liquidate some Litecoin (LTC) before it becomes too difficult to do so.
It took from October 2023 to April 2024 to fix the issue after I pleaded online until a friend poked a GitHub employee to help. All the donations were removed and I was not charged. It took till May 2025 for me to want to do this again.
if you are GitHub - the ticket was 2363993
So I loaded up the CSV and added "$2.57" to every line and submitted the file, which should have charged me just short of $500.

It appears some development had taken place since the last time I crashed this bulk sponsorship, but it was still upsetting. I only get the above error after I hit the button and I have no way to know from the CSV file what the minimum donation amount is for each maintainer.
A few of these maintainers have like a $100 to $300 minimum donation which I think is really odd. They are missing out some money if their barrier to donate is so high. Granted I'm donating such a small amount to each person who knows if the fees are taken per donation or just on my entire amount.
So my process became:
- Upload file - identify errors.
- Remove errors from list (minimum donation too high)
- Re-upload file.
- Split file between 100 and the remaining maintainers.
I now had two files to submit for a bulk sponsor.
I submitted the original file before I learned I had to split them every 100 and it looked like the snapshot below.

It was a bit crazy that I started with 193 and had to eliminate so many people for having a minimum requirement higher than I wanted to spend. I wanted to be fair and give the same amount to every maintainer on my list.

The checkout page dropped my cost to $200 which I'm guessing took my $2.57 amount and rounded down to $2. So it seems this experience isn't that perfect yet as I was not aware that was going to occur until checkout.
I repeated the process again with the smaller set and it appeared to work. I kept checking my page and the number climbed up to 119 for the amount of active sponsors I've given.
You are sponsoring 119 organizations and maintainers and have sponsored 5 in the past
So it worked! I was happy I sponsored a subset of all projects I depend on in a fair way. I checked my email and had 3 emails from my credit card which was odd - I only submitted 2 CSVs, but got 3 charges:
- $40.00
- $178.00
- $54.00

I guess I made a mistake somewhere as I was expecting a charge of $2 times 119 or $238, but instead I'm looking at $272 charged. This was a bit upsetting as it charged more than it said it would. As the GitHub emails rolled in it furthered the confusion.
You contributed a total of $40 to 20 maintainers and organizations!
You contributed a total of $160 to 80 maintainers and organizations!
You contributed a total of $38 to 19 maintainers and organizations!
The discrepancy comes from these records that I put $2.57 on, but ended up at $4 somehow.
gthms - $2 one time ($4.00)
1stG - $2 one time ($4.00)
mightyiam - $2 one time ($4.00)
rx-ts - $2 one time ($4.00)
bcoe - $2 one time ($4.00)
un-ts - $2 one time ($4.00)
PHPCSStandards - $2 one time ($4.00)
broofa - $2 one time ($4.00)
jrfnl - $2 one time ($4.00)
I thought I made a mistake, but it seems each of those usernames is only in the set of files once.
➜ donations ls -ls
ibotpeaches 5805 May 4 13:45 ibotpeaches-sponsor-part0.csv
ibotpeaches 1022 May 4 13:49 ibotpeaches-sponsor-part1.csv
➜ donations grep -r -i 'PHPCSStandards' *
ibotpeaches-sponsor-part0.csv:PHPCSStandards,,1,,,23,4,2.57
So it seems this process still sucks in a variety of ways.
- The downloaded file does not tell you the minimum donation amount.
- The upload process displays decimals, but the checkout process rounds down to integers.
- The checkout says $200 one-time, but you actually get a $160 charge and $40 charge.
- The process somehow duplicates the donation amount $2 to $4 for some users leading to a charge higher than you expect.
- Their process requires a max of 100 items per CSV which is oddly limited.
- A single donation somehow went to "ghost" which is the deleted account username for GitHub.
So this is a spider web of a mess I don't want to unwind. You've got some work to do GitHub and I'm not willing to sit on a support email thread for another 6 months. I hope the various 119 maintainers got a little $2 sponsor notification and maybe stumble upon this new blog for the why.
We all depend on open software and any platform support to put sponsorship as a key feature is a welcome improvement. Even with a few maintainers that I don't quite understand their donation model I'm happy GitHub has evolved the platform to make it very easy to support the maintainers behind software. We've come a long way since PayPal donation links on a Google Code page and nothing is perfect yet, but GitHub is on the right path.