I think PSF is a particularly well-run organization. When founding ZSF, I modeled it directly based on PSF, right down to the name and mission statement.
I think it's no coincidence that Python is one of the most popular programming languages in the world.
> Out of USD4.5MM of revenue for the PSF in 2019, around 63% of it came from PyCon. USD1.9MM was the costs of having PyCon, which means that for every dollar spent on PyCon, the PSF gets back 1.50 dollars.
These organizations should really let users direct their donations toward specific goals. I'd love to donate to Firefox but not for Mozilla to use the money on something else. It would also let them see what people values most and help them prioritize.
This kind of suggestion is indeed pretty common for all kinds of governments and organizations, but would be disastrous or useless for many reasons.
For example, Firefox the software project depends on many other essential components that are not strictly a software project but Firefox can't survive without them---developer and test infrastructures, addons.mozilla.org, localization platform (Pontoon) and so on. And there are more nuanced projects like Rust and Servo that might shape the next decade of Firefox. And yet there are technically uninteresting but financially positive projects like Pocket Premium and VPN, which started to provide a significant portion of the revenue [1] and represents a less dependence on Google's search royalties.
Requiring specific goals only makes sense when donors exactly know all those dependencies---an unreasonable assumption. In fact, if a majority of the revenue came from such donations, it would be very disastrous. Thankfully for Mozilla, it doesn't depend too much on donations (~2% of the total revenue in 2022), but then those donations don't mean much financially anyway.
There are alternative schemes as well. For example, donations may have wishes that are not guaranteed but to be explicitly considered (I think Vim did so for a long time). This is better than enforced goals, but not without a problem because significant donations would affect developers regardless of the acceptance anyway.
I think it's no coincidence that Python is one of the most popular programming languages in the world.