You could write a web service that uses metrics to calculate its bills and check a donation account balance, and when the service gets low on funds it would throttle connections, and when funding runs out, service cuts off completely. If a person or company wants it back on, they just donate. A fuel gauge would show when the tank's getting empty, and the "average range" based on current funds.
You could actually make this a web proxy, too, and put it in front of any web service. I'd call it DSaaS