Blog Open Source The Donatinator: A simple, secure way to accept donations to your charity or non-profit
February 6, 2019
6 min read

The Donatinator: A simple, secure way to accept donations to your charity or non-profit

This guest author shares his passion project: a free and open source solution for small charities and non-profits to accept donations online.

donatinator-open-source.jpg

Many small non-profits or charity organizations all over the world find it really difficult to accept one-off donations or set up monthly subscriptions online. I know this from firsthand experience.

Last year my wife came to me asking how the organization she volunteers at โ€“ a mothersโ€™ support group โ€“ could accept donations on their website. My first thought was that the (free) hosting provider they were using would have a feature to do that, but no, not unless you pay, and for a small charity even $10 or $20 per month is too expensive.

My second thought was to investigate hosting or donation portals. Here's where the journey started.

Donation platforms offer a mixed bag

After looking at various donation platforms, we realised that many differences exist and that you can't always have it all. Some of them:

  • Are only http unless you pay up front.
  • Support single donations OR subscriptions, but not both.
  • Are based around a fundraising model (to attain a target amount) but don't support ongoing payments.
  • Are US only, but since we're in New Zealand we needed something that would work here.
  • Provide an iframe payment page but not all.
  • Have a free tier but others required payment from day 1.
  • Don't have a team plan such that members of the charity committee can log in and administer the portal.

Looking for an open source solution

I kept thinking to myself that there must be an open source project out there already that could do all of this for free. Small charities and non-profits don't have the ability to pay for things up front, especially when it's not part of their core mission. After a while reading, reviewing, comparing, and planning, my non-negotiable for the platform became that "We didn't have to pay more than necessary."

The only fee we wouldn't be able to get around was credit card processing. Added that we would only pay a percentage fee once we receive a donation rather than up front was also a good result.

Being a coder and being unimpressed with the status quo, I started coding. Within a month The Donatinator (demo, code) was born.

The Donatinator

Shortly after launch, The Donatinator can already accept one-off or recurring donations, add and edit simple Markdown pages, and allow multiple team members to log in for administration and basic reporting.

More features are planned, but the most important thing about the project is that it should be guided by a few founding principles. These are (far from perfect, but a good start):

  • The software should be open source so it is free for the end user, for now and always.
  • A basic installation should run within the free tier of various hosting providers.
  • The user should only have to pay for credit card processing fees (but if we can get around this one day we will!) ๐Ÿ˜ƒ

Why open source?

Allowing anyone and everyone to use, download, install, change, contribute, and enjoy The Donatinator is paramount to enabling every organisation anywhere to accept donations and allow them to continue the great work they are doing and the help they are providing.

Why GitLab?

Since we ourselves are open source, choosing a code-hosting provider that is also open source aligns with our values nicely. GitLab is the natural home of projects like us and we're very grateful of their hospitality (as well as their 2,000 CI pipeline minutes per month!).

Funnily enough this also brought home the idea that it's not actually just the technology that is the interesting part of the project. GitLab's handbook has a great page on values but a very small part of that is the idea of boring solutions which we're also using to guide our technology decisions, keeping things simple and lite.

A word on pragmatism

Even though we'd love everything to be open source, we know we can't have everything. With that we'd like to thank the following companies that we're currently using to make The Donatinator fulfill its aim. With free plans on Heroku, Google, Glitch, Zeit, MailGun, and others, we should be able to achieve these goals for charities who may only receive a few donations each month, which can make all the difference between helping people or closing down completely due to insufficient funds. Also thanks to Stripe for having a discounted fee for registered charities to maximize each and every donation.

Which leads me to a confession ...

A high high, and a low low

Starting a new project is always exciting. Tap tap, code, test, commit, one late night after another. But then the bad news came ...

The small charity all of this work was initially done for decided to use an existing donor platform. I can understand why, but rather than dwelling on it, I decided to continue working on The Donatinator anyway. I'm still convinced there is a place for it in the world and a variety of people and organisations can benefit from it, if only they knew about it.

Asking for help, contributions, and donations

Without shame I am now asking you all for help. The Donatinator is a new project and there is still lots to do, however there are three main areas in which help would be awesome and greatly appreciated!

Please contribute!

Firstly, contributions of code and documentation are welcome and very important. Participating in the community also helps a project thrive and we'd love to chat to you about your needs and requirements.

Please donate!

Secondly, I'm looking for patrons and sponsorship (yes, it's self hosted) to be able to take the project forward faster. Sustainable open source is still a panacea but I believe it can happen. I don't believe that the charities and non-profits who use The Donatinator should have to pay for the use of it but that means we need to look elsewhere to help with sustainability.

Please spread the word!

And finally but most importantly โ€“ users! If there are no users, then there is no project.

If you know a person, a non-profit, or a charity who could use The Donatinator, please get in touch with them. Many are run by non-technical volunteers and they would love to have your help in setting up online donations. Get in touch with us too, for help or if you have any questions โ€“ we'd love to hear about your progress and your feedback would be invaluable!

(You could also run The Donatinator yourself for your own open source project or for your own patron portal. Hint hint! ๐Ÿ˜ƒ)

There is lots of functionality penciled in for future Donatinator releases but there is nothing like having real users provide ideas or ask for specific features. This is a terrific opportunity to help the helpers ... so come on, let's make it happen! We can do this ๐Ÿ˜ƒ

Cover image by Steve Johnson on Unsplash

We want to hear from you

Enjoyed reading this blog post or have questions or feedback? Share your thoughts by creating a new topic in the GitLab community forum. Share your feedback

Ready to get started?

See what your team could do with a unified DevSecOps Platform.

Get free trial

New to GitLab and not sure where to start?

Get started guide

Learn about what GitLab can do for your team

Talk to an expert