Comment by kelnos
> I’ve submitted a handful of pull requests and I’ve already run into the classic “Your patch works and provides a feature some people might like, but I don’t like it, go away.”
Never ever build anything non-trivial for an open source project unless you've cleared it with the maintainer first. No one is obligated to take your contributions. Unless you're building an addition that you plan to maintain yourself (either privately or through a fork), always always always discuss what you want to do with the maintainer before you write your first line of code.
> I’ve donated plenty to organizations like Mozilla, Wikipedia, and GNOME. I then email them with my opinions on what they’re doing. In nearly every case not only am I ignored completely, I see those projects (Mozilla especially) continue to drift in a direction that I disagree with. So, I stopped donating.
In general I look at donations as influence-free. You aren't buying anything with your donation. Sure, an org is more likely to listen to the wants of someone who is a large, noticeable, recurring donator. But in general most people will not be that. Donate to support what they are doing, not to try to influence them. Your decision to stop donating when their values stopped aligning with yours was a good one.
> Open source first felt to me like a way to give power back to ordinary people, and it still is, but it seems like those who get the most benefit from free labor are large corporations.
I think you're looking at it the wrong way. Unless you're going to dual-license your project, you just need to accept that people will use your software in ways that you might not agree with, or to make more money with it than you can make off it yourself. That's always been true, even before you started getting into it.
I do open source because I enjoy it. It's really that simple. I love building things with code, and building entirely for myself behind closed doors is much less fun than collaborating with others, building for a larger audience. If I ever stop enjoying it, I'll stop. If a company ever starts making money off what I've built, that's fine, good for them. If there's anything I've built that I do need or want to monetize, I'll license it in such a way that will make it harder for companies to make money without me getting a piece of it. But this is the trade off with open source: you give it away with no expectations for or reservations against how it's going to be used.