I really like the way social.coop, a cooperatively run instance, handles this. Because we're all just pooling a little bit of money (1GBP/yr for most people) we can run a service cheaper than we could run it ourselves if we're renting a VPS and there are enough people interested to create a rotating moderation team, so we rarely get too much spam from other instances. So far a cooperative model has worked very well for us; no donations required, just splitting up costs in the cheapest possible way so that no one gets burned out or feels like their money is carrying the instance!