Ask HN: Best way to “donate” dev hours to charity?

94 points by akmarinov ↗ HN
Hey,

I work at a service oriented dev company and from time to time we have some bench time to utilize. I'd like to keep people engaged on projects and ideally exposed them to best practices as much as possible.

What's the best way to find places to "donate" our time to certain charities or non-profit organizations?

Right now people are going out to our most used third party open source software repos and actively contributing there, but I'd like to do more of a full on apps.

Thanks

78 comments

[ 3.1 ms ] story [ 161 ms ] thread
Charities are generally incompetent at managing projects, building and maintaining products.

Considering teaching instead.

Check out Big Brothers Big Sisters mentorship program, I think your contribution there could be more impactful.

When it comes to critical work, well run charities and non-profits typically pay for professional services.

It just isn't worth the overhead of dealing with people who believe they are doing a favor when those people are not committed.

If you want to use slack time to help charities, rent a van and drive the team down to the soup kitchen. Standing behind the counter in a hair net will build more character than being DRY.

Good luck.

Having worked at an NGO doing data work for years, this. Sadly most charities aren't in a position to easily accept outside professional help for a variety of reasons. Going down and doing work at a soup kitchen or just donating $$ will have a larger impact.
The best offsites I've gone on have been working for charities/community service. Better than hanging out with drinks or doing some other random 'fun' activities by far.

I know that's not exactly the question, but adding that donating labor is also enjoyable to many workers. In my case the best was at the SF-Marin food bank, and Feed My Starving Children was fun too. Even picking up trash around a neighborhood with a work center was okay, nice to get outside.

(comment deleted)
I wonder if you have any spare/used/old ThinkPad/laptop that you can give to me for free? It will be life changing for me!

I'm currently really struggling in life (barely eat once a day at the moment) but I'm really passionate about Linux & free software. So, a free laptop could really help me get local jobs (e.g. sysadmin or web developer for SMEs), put food on the table, & pay rent! Thank you!

I like this take from Carlos Slim on charity: https://www.wsj.com/articles/BL-WHB-3852

Basically, the best way to do charity is to first accumulate a lot of wealth. Only then will you be able to move the important pointers. Obviously controversial, but still refreshing to see a different take.

But then you get folks like Sam Bankman-Fried, who long claimed exactly this as his motivation for his crypto business.

The question is, is it likely, or even possible, to be motivated to make lots and lots of money, and then have that process of earning lots and lots of money not affect you? Is everyone who chases a seven-figure-income destined to eventually become an asshole?

The problem with the EA/Longtermist formulation of this idea is that it encourages people to take destructive jobs to minmax the potential dollars they will be able to donate in the future. The underlying idea is sound: the most efficient way for a software developer to donate hours to charity is in fact to use those hours to generate revenue, and send the money to charity. You've already got the job you've got; a supposedly altruistic motivate isn't corrupting your choices the way it does for people like SBF.
It's possible if you're way of making lots of money doesn't involve scamming or exploiting people.
There is no way of amassing a huge amount of money in Capitalism without exploiting people brutally or at the very least vowing to do so.
Sure you can, for sufficiently small amounts of "huge". Lots of tech jobs make much more money than most other jobs without directly exploiting anyone. You could take issue with working for companies that are themselves unethical, but I think as long as you're not working for a particularly unethical company like Meta or a defense contractor, you're doing okay.
It's common fo criminals to use charity to ease their conscience, that's all there is to it.
For context, Carlos Slim amassed his fortune by building monopolies in Mexico whilst its GDP and average income fared poorly. The country's landline suffered from high usage fees as a consequence. Very dubious whether he is a net positive for the world.

See Wikipedia and associated links: https://en.wikipedia.org/wiki/Carlos_Slim#Reactions

I'd say doing some sort of training might be the most beneficial thing you can bring to the NGOs. There are also organizations such as Omdena (https://omdena.com/). They solve different challenges and would probably appreciate some support, even some sort of mentorship. We supported them that way at Qdrant, and organized a semantic search workshop, while one of their local chapters was implementing a chatbot.
https://www.hotosm.org/ "HOT is an international team dedicated to humanitarian action and community development through open mapping."

see --> https://www.hotosm.org/partners/volunteer-engagement

"VIRTUAL AND REMOTE VOLUNTEERING OPPORTUNITIES We can support you to quickly engage large groups of employees to help map places vulnerable to natural disasters or experiencing poverty

For the past ten years, the Humanitarian OpenStreetMap Team (HOT) has been the global leader in community mapping, supporting humanitarian responses to nearly 100 disasters and crises. During this time we have refined virtual and remote volunteering methologies to make it easier for organizations to engage employees through digital mapping and drive social impact. As many organizations shift to remote work, we are more than ready to help you stay close to the issues that are most important for your Corporate Social Responsibility (CSR) goals.

Join the Missing Maps project to improve your employee engagment and Corporate Social Responsibility programs!

What? Digital volunteering to map vulnerable unmapped places: your global workforce can quickly get started, working together on the same activity! HOT can support you with mapping training webinars across all timezones."

or just OpenStreetMap - write to https://lists.openstreetmap.org/listinfo/dev

It's hard... because you want to give your time to non-profits, but inevitably they won't be able to support or enhance what you do once you leave. Then that leaves them in a worse spot.

I do a lot of work with an animal shelter, and I remember 10-ish years ago some fancy agency came in and donated a new website... only, it took staff time to help gather requirements, and test, and we all had to go through training... and it came with some license fees, and we then had to hire more devs to work on the code since it wasn't something anyone in-house knew. (The agency offered a "discounted" maintenance rate that was still like way outside of our budget.)

Long story short, we had to throw out the nice new website after about a year, and have our in-house guys re-build a junky one that they could could support and manage. Then go through training again... and in the end, the "donation" cost us a ton of time and effort that could have been put into making the old site a little better. And... it was painful, right? Like it took another year to get things sort of where we started.

It's hard to give tech away, right? Like you have to have the supporting staff, infrastructure, knowledge... I think you'd be better off just making some money, by taking side projects, and donating the money to the charity of your choice.

Unless you're going to be a long-term volunteer, and commit to supporting and maintaining everything you build, it's generally not worth it for the org to use stuff that is beyond what the current staff can repair / re-build.

This exactly. For most small non-profs, basic IT upkeep - i.e. cleaning adware, patching vulns, getting backups set up and tested - is going to be so much useful than occasional airdropped code with no regular/timely maintenance plan
But careful even donating "patch time" since doing security updates and all the rest inherently change things.

Non-profits are pretty bad at documenting requirements, or having any sort of automated testing, so you go in and upgrade some things, or patch some things, and they're still going to need training... and they're still going to need an organization-wide test to make sure everyone can still get what they need out of the tech. Inevitably someone will have some plugin that isn't compatible with the upgraded version, or someone will have some service that needs to get re-built to fire reports nobody knows about until they don't show up in the right inboxes.

Money the org can use to hire a staff member who will be a "permanent" fixture is always going to be better for them than someone coming in and doing work and not sticking around to support it.

You can just donate labor to something you like or believe in. A friend of mine has done free sysadminning for a small summer camp for like 20 years. Just runs the website, does some light account management, and makes sure all of their software stays up-to-date. This kinda thing is more approachable if you know a friend of a friend who needs help, rather than trying to cold email people.
Be the most expensive consultant for traditional for-profits that you can with your spare time, and donate that money directly to the causes of your choice.
This is usually the most efficient approach in regards of impact.

However, there is a case for volunteering directly for cause one is passionate about — you feel more fulfilled, it is enriching, you get to know people who care about the same things you do, you have a chance to be involved in making decisions and so on.

A friend (software engineer) recently spent some time helping some organization to plant trees. Some other friends (also engineers) make lighthearted fun of him, saying that his time would be much better spent making money and then donating it to someone else to plant the trees. But I don't think he made the wrong decision.

As board member of various non-profits here's my advice on this: Contribute to a few OSS projects. Don't donate 5 hours to humane society of brooklyn or wherever you are based. That won't move the needle much for humane society, might even cause larger tech debt problems, and who knows what else. Well run charities pay for ongoing professional services.

So here's what I'd do if you know of a charity that your team cares about, ask them what tools they use, what challenges they have with those tools, are there any features they wish existed. If multiple orgs have these similar issues, then work on some open source solution or cheap solution + really good documentation for it, and offer that up.

I think most benefit would be to come in as a consultant or trainer for a few hours. Share some of the best practices from your world and create some knowledge transfer to similar professionals in the nonprofit world. Nonprofits tends to be behind for profit when it comes to things like source control, project management, and architecture.
Personally, I use my spare time towards organizing a group that supports and nurtures developer communities in my area [1].

My organization is itself a 501c3, and our charitable mission is to provide developers with opportunities to learn and network. We do this by organizing monthly technical meetings, networking events, career panels, and hackathons. All at no cost to our members (no fees, tickets, or dues).

We also provide support to a larger network of meetup groups in the Tampa Bay area [2]. These groups are more specialized into specific disciplines/areas of interest. Many of these died out during the pandemic so rehabilitating that scene is an important mission for us as well.

[1] https://www.tampadevs.com/ [2] https://tampa.dev/

Relatedly, but not charity itself, I try to stimulate open source communities by issuing a periodical[0] with easy tasks for beginners to contribute. By getting new people into open source they can hopefully become long term vectors for good work.

0: https://generativereview.substack.com/p/tasks-open-source-em...

Mozilla tags some Firefox (and other Mozilla projects’) bug reports as “good first bug” and adds a mentor to the bug.

Volunteer contributors can search these bugs by programming language or product area on https://codetribute.mozilla.org

Some volunteer contributors have become Mozilla employees (myself included :)

Very interesting and congratulations for working in the field of ethical software!
What measures to rehabilitate the scene have you found most effective?
Honestly? It's as simple as organizing events, getting people together, and connecting them with one another. It takes some time, but the adage "If you build it, they will come" has a lot of truth to it.
Makes sense. Any style of in person event that you've especially liked?
I wonder if you have any spare/used ThinkPad/laptop that you can give to me for free? It will be life changing for me!

I'm currently really struggling in life (I barely eat once a day at the moment) but I'm really passionate about Linux/free software. So, a free laptop could really help me get local jobs (sysadmin or web developer for SMEs), put food on the table, & pay rent! Thanks!

If you're in the US or Canada check out FIRST Robotics Mentor Network: https://info.firstinspires.org/mentor-network

You would be helping out teams of high school students build and program their robots for competitions. This generally happens around January-April but most teams also work on their skills in the off-season.

I do this in an in-person capacity but virtual mentorship opportunities are available as well. Topics that are helpful for the team to learn in the coding space would be Java and code management best practices (mostly Git). If you have a bit of mechanical knowledge that can help as well.

I just came back from a competition happening on the weekend and it's a very rewarding experience.

Note that you'd need a Youth Protection screening (in Canada it's basically a Vulnerable Sector Screening with the police) because you'd be working with kids.

One way could be to work with a tech collective that supports different causes. Riseup (riseup.net) is one. It may be more of sysadmin and platform work than developing apps though.

Unless you can commit for a longer term, it probably may not be worth their while.

It's been a while, but the most rewarding experience I had in this space was engaging directly with a small local charity. I just pitched them the idea of me getting 10 minutes with every worker that had to use a PC as part of what the charity did. I used the time to interview them, and try to identify something that affected the largest swath of workers.

As it turned out, what I helped them with wasn't code, but a bit of configuration and tuning, but they said it honestly created about a hour of time back per day for most of the workers. There was part of a flow that would often grind a long time and/or error out. Making that fast and reliable was the best low-effort thing I could deliver.

Sounds like a great idea! What sort of questions did you ask during the interview?
Started with some open questions about the most frustrating things about the computers/apps, then leading into "show me, on this PC", so I could see which of those complaints I could do anything about.

Then a tally at the end to see what was practical to fix, commonly disliked experiences across users, etc.

The one thing I'd do different is ask for maybe 2 rounds of interviews, or longer interviews with 2-3 people to start with. The later interviews I did better, since I understood base concepts better. So I probably missed good info from the people I talked to earliest.

Can you bill the time as a tax write-off?
how does it work in practice? Are you expecting to offset the potential value of your donation(billable consulting hours) against your actual income ?

If true, this has so much potential for fraud and abuse that I doubt this is allowed.

Imagine a motivational speaker billing businesses for one week and "donating" time for another week to charities effectively nullifying their income.

I think write-offs are generally on cash basis and on expenses incurred.

No. If you mean "deduction", then the answer is still no.
Even if you could get a charitable donation deduction here, it would be for $0. Charity deductions are only on the amount being donated, and $0 was donated, $0 is being taxed, so $0 is being deducted.
I second that. People working in small scale down-to-earth charities often needs practical immediate help.

My experience offering help to big organizations can't be worse. First was a long time ago, I was unemployed and pennyless. Some NGO appeared on tv asking for volunteers to go to Africa for some humanitarian project. I called. "Sorry, we need no more people (after an hour on air saying they desperately needed many), can you instead donate some money?"

Second time, I offered free consulting after a similar request. They rebounded me between some employees, then silence.

My city has a nonprofit called Code for Good [1] that is specifically focused on getting the tech & design community together to help other local nonprofits. I've volunteered with them countless times and the events are always super impactful. Maybe you've got something similar locally?

It also might be worth developing a program yourself if you're passionate enough about it. There are a few dev shops in my city that run their own charity projects every year where they invite nonprofits to submit proposals for the work they need done, and then the shop picks a few projects to work on for free. Those seem to be super popular as well.

[1] https://codeforgoodwm.org

Digital Candle is a great service for providing free tech advice to charities: https://www.digitalcandle.org.uk/

You can sign up for a one hour call with a charity which has a problem/needs advice. There's no committment after that but you can get more involved with that charity if you like/it's appropriate

I've volunteered with it a few times, all felt productive/ hopefully helpful to the charities involved

Do whatever you are interested in. You want to help students or animals or prison reform groups, etc. Find organizations, look at their volunteer needs or email them. Then get to work. Otherwise, work in common tools.
There's civic coding groups like Code for DC. A good number of the projects are regional but there are some federal projects too. Maybe there are some civic good projects that float your boat here.

https://codefordc.org/

If anyone likes classical music, I run a site that 20,000 people per month use to find baroque music to perform, and we’d be happy to have help. Elasticsearch, Rails, Postgres, K8s. Interesting problems as we move from Google Sheets to proper SQL persistence, while still maintaining good search latency. https://www.vmii.org
Please send us an email? I volunteer for the Neon Law Foundation, a privacy non-profit dedicated to providing education to undergrads and law students. We believe that privacy is a fundamental human right and teach students open-source-based software and law to help protect that right.

Email is nick@neonlaw.org - we work worldwide from US to Africa to Europe and would love to have you!

It might sound boring, but most charities and NPOs need very basic web help. Getting a site online + hosting it for a year is in the realm of ~$120, but actually finding the time to do that is a lot of work.
I think some of the others have alluded to the potential to suck your time and goodwill dry for not necessarily a lot of gain. If people don't have to pay, they could easily expect you to build junk or invest time in something that is never used - same for stakeholders in normal companies right?

I think the only time it doesn't feel too galling is when you really believe in the charity and what they do but I would always be careful to set expectations and set a time and duration limit initially so you can get out if it is really not worthwhile and you don't want to seem like a jerk.

Truth is that lots of people don't know how difficult technical things can be so they ask you to build a website or "just change this" because they think websites are like Word documents.

You might get more engaged employees if instead of donating dev time, you save it up and once a month you spend a few hours together sorting out a park or cleaning rubbish somewhere etc. :-)

In Canada and many other countries the work you do "for free" can actually be looked at as a donation to a charity and reduce your income tax burden.
Not in the US, though.
Any pointers for a fellow Canadian on getting tax credit for volunteer time? Having some trouble finding guidelines from CRA. thx.