The Price of Free Time: A Programmer’s Guide to Helping a Non-profit
Too Long; Didn't Read
Non-profits are run differently than businesses: they are not incentivized to value efficiency, and everybody there has other commitments.
This results in a set of expectations that have to be managed - particularly around urgency, and being able to depend on others.