I’ve been there, but over the years I’ve gotten better at avoiding being in this situation.
If you are implementing something for yourself, and merging it back upstream is just a bonus, then by all means jump straight to implementing.
However, it’s emotionally draining to implement something and arrive at something you’re proud of only to have it ignored. So do that legwork upfront. File a feature request, open a discussion, join their dev chat - whatever it is, make sure what you want to do is valued and will be welcomed into the project before you start on it. They might even nudge you in a direction that you hadn’t considered before you started.
Be a responsible dev and communicate before you do the work.
For those that look at this and still think the solution might just be more money, first recognize that Google donates only to keep Firefox as a viable competitor to avoid anti-trust legislation.
If we raised half a million dollars, we haven’t saved anyone any money except Google - they’d simply donate only 100k next year so Firefox remains competitive, but not successful.
I don’t disagree with the sentiment of the post, but we also have to realize that we’d only be improving things after the first ~600k.