Blog by Sumana Harihareswara, Changeset founder

28 Aug 2020, 16:20 p.m.

Apply For Grants To Fund Open Source Work, and Career Thoughts

Apply For Grants To Fund Open Source Work

When I tell people about grants they could get to help fund work on open source software projects, sometimes they are surprised because they didn't know such grants existed. Therefore, a month ago, I delivered a ten-minute PyOhio talk in which I shared:

I've now posted a transcript (with slides), and the ten-minute video is up.

The Python context, and followup Q&A

Have some additional thoughts and info I could not fit into the talk!

Background and ideas: People who work on Python's packaging tools usually aren't paid to do so. It's usually but not always a side project. We have gotten grants (or similar funds) of $80,000 USD or $150K or $207K and they are a huge reason why we

  • have the new PyPI (Warehouse) in production, instead of the legacy site
  • have 2-factor auth on Warehouse
  • are much closer to releasing the new pip dependency resolver

On March 22, 2019, I started a wiki page to list some fundable projects in Python packaging. I figured that if we had a structured, public list of well-scoped, shovel-ready tasks that would move faster with funding, it would make it easier to find grants, sponsors, and other directed funds. And, heads-up, corporate readers: if you can help the PSF get some money to do these things, they are much more likely to happen, and Python will get much easier to deal with.

We've now moved that list to GitHub. If you know that filling a particular gap would improve Python packaging and distribution, go ahead and make a pull request!

And that doesn't just go for packaging. The Project Funding Working Group is seeking project ideas on a wider scale. If you make a well-structured list of fundable TODOs for your Python project, it can go in that list -- this will, in the future, make it easier for you to get funding.

Eligibility and how the money flows: often, only public charities or similar institutions are eligible to apply for certain kinds of funds, which is why getting the Python Software Foundation involved is helpful -- they are often eligible to apply in cases where you as an individual are not eligible. The way we've been doing it for the past few years is: some volunteers research a grant opportunity and write a proposal (often with the assistance of a PSF staffer) and the Python Software Foundation submits it. If it gets funded, the PSF hires contractors to do the proposed work, and then those contractors perform the proposed work and (via the PSF) report back to the funder. I cofounded the new Project Funding Working Group to centralize those efforts, bring enthusiastic volunteers together, teach more people to do this stuff, and capitalize on the momentum of the last few years.

We know some things about what some funders are seeking, and want to help match you up with funders who might be a good match. Depending on where you live, there may be country-specific grants that the existing members of the Project Funding Working Group know less about! Like, there is the Prototype Fund for people in Germany, and Innovation Fund Denmark, and there are a bunch of European Union grant opportunities that I know very little about like Horizon 2020.

Erika Owens asked some followup questions:

...how to assess if a grant is worth applying for - how do you know the foundation is legit? how do you balance the amount of time proposing/reporting with the likely grant amount?....

also, from a documentation mindset—where can you go for help with this type of work? what public writing is useful to others? (and possible given so much secrecy with funding)

Good questions.

When is it worth applying? & more: Different projects need different amounts of money. A one-time gift of $10K (about 60-100 hours of work at USD$100-150/hour) is not enough to make a significant dent in some of the listed fundable packaging tasks, but $10K could support a "get the next release out and clean up docs/bugtracker/patch queue" effort for your favorite library. This is why the Project Funding Working Group is trying to amass informational resources (a list of funders, "how to write a proposal", etc.) and point a lot of people at those resources so many people can self-serve -- the volunteers in the Working Group do not have time to write a dozen grant proposals from scratch in a year, each of which is for $10-30K. It might take 10-20 hours to research and draft a multi-page grant proposal from scratch (it gets easier when you can copy and paste from previous proposals or planning documents for the same software project). Sometimes it takes longer if a bunch of stakeholders (such as project maintainers) have to agree on priorities and scope. I hope that the working group writes a few proposals each year and that they're for at least $80,000 each, and that we advise or otherwise help a bunch of other volunteers to write grants for varied amounts. Let's see how the first year goes. Maybe I'll be wildly off.

I feel pretty lucky in that most of the grant-and-similar-funded projects I have worked on had fairly light reporting requirements, things that ended up taking maybe an hour per month plus maybe three hours at the end of the project. (Then again, I prep along the way by collecting meeting notes and updates on a public wiki page.) At the end of this year I need to make a fairly substantive report to the Chan Zuckerberg Initiative, so I may eat my words then!

A timeline from March 1st-Aug 29th of Open Tech Fund proposal acceptance What public writing is useful to others? I see people sharing actual grant proposals and budgets, and the Project Funding WG will too (soon), and I think that helps a lot. I bet a before-and-after of a proposal before and after editing would also be helpful. Timelines like this slide here (from my PyOhio talk) help others set expectations for the process. Project retrospectives like this Read the Docs post -- ditto. Lists of funders including real talk about what they're looking for. Reminders of deadlines (like: apply for the Better Scientific Software Fellowship by September 30th). If you have more suggestions, please open an issue!

How do you know whether the foundation is legit? Hmmm. I have confidence that I could tell whether a funder was fishy before getting into anything I'd regret, but I am having a hard time articulating the evaluation criteria I would use. Something to work on.

And where can you go for help with this kind of work? I know I ought to learn more from the world of professional grantwriters and other nonprofit experts, like Candid, and perhaps I will have a spurt of energy sometime soon to go dive in.

My career

This week, on the way to posting this, I rearranged my conference talks page to be more navigable. I have given 35-50 talks on tech-related topics in the past 10 years, depending how you count. I used to talk a lot about Wikimedia, then about HTTP, then Python packaging and the plays.

The response to my one talk about grants has already been strong and, if I just reacted to that, I'd give more talks about grants. Already my blog posts and talk about grants have led to Changeset Consulting client leads and some client work. And there's a logic here -- I have succeeded in doing something lucrative that other people would like to replicate.

And it can be easy to get sucked into grantwriting (the work of researching and creating grant proposals), because I am clearly expert enough to be helpful, there are deadlines to motivate me and colleagues, and every available grant is an explicit invitation with a concrete amount of money attached. It's a trail others have already blazed.

But grantwriting is a treadmill that ties projects to rich funders with short timescales, a topic ably covered by Nonprofit AF, The Revolution Will Not Be Funded: Beyond the Non-Profit Industrial Complex, and many others. As with recruiting, or diversity/equity/inclusion work, there's a lot of toil here.

So, I am excited about the potential of the Project Funding WG, which will help many open source groups pursue not just grants but "external grants and similar funding." Including talking with companies who want to sponsor particular improvements, or generally sustain their dependencies (via Tidelift or a direct gift) and avoid the headache of forking or switching.

And I'm open to Changeset Consulting doing some paid consulting work on grantwriting, and I'm doing some unpaid grantwriting to garner funding for projects where Changeset would do paid work. And I'm particularly interested in joining together with folks who are making big proposals to big foundation-style or government funders, upwards of USD$500K or in the millions.

But, in the near future, I mostly want Changeset to work on paid projects, funded by for-profit companies, to rejuvenate and level up open source projects that they depend on but do not control. And that's looking promising. I'm using many of the same skills you use in grantwriting, because they're sales skills. And I am looking forward to blogging about one of these projects soon.