> If he takes people's donation money with the implicit or explicit promise that he's going to make a good-faith effort to continue working on the code
In the absence of clear language I think it's unreasonable to expect a small amount of money to create an infinite obligation.
I'd expect a donation to be spent on development expenses, including time. I'd expect the developer to continue developing until the money runs out, or return the remaining money.
Imagine you have GitHub sponsorships providing $2,000/month. You use that money to cover all your expenses and work on OSS full time. Everyone stops donating today. Surely you'd get a job and stop working on OSS full time?