People (both developers and users) need to understand the limitations and benefits of open source:

For companies, it is about control. Google did not care about contributing protobuf to the world: a company does not "care", it maximizes profit. Open-sourcing protobuf was most likely not a big cost, and it had benefits for Google (otherwise it would not have been rational to open source it). For instance, Google benefits from external engineers who already know protobuf when they join Google (no need to teach them). Google can benefit from external projects exposing a protobuf API (though I am not sure if that is frequent), and by having protobuf out there, they keep control: the biggest issue of Cap'n Proto is that it does not support all the languages protobuf/gRPC do. If protobuf was not open source, something like Cap'n Proto may take its place, and that's not good for Google. Same goes for Chromium or AOSP.

For individuals, there are two cases: as employees and as "hobbyists" (for a lack of better term):

As an employee, I benefit from my code being open source: I will keep access to it after I leave, and it serves as a portfolio you can show when you look for a new job. I really, really do NOT understand why software developers are NOT systematically pushing very hard to get their code open source. Many times you just need some kind of "yes" from a manager (even if they did not really understand the consequences) and once it's open source, it's done. And many times it does not impact the company at all (and honestly, why should you care?). I have this Marshall home smart speaker that is pretty good hardware, but the software is a piece of crap. Marshall does not benefit from not making it open source: people like me would make their speaker better. Not because I want to help Marshall, but because I want a good speaker and I am ready to work for it. It's just that nobody at Marshall cares/understands.

As a "hobbyist" (again, bad term but I don't have a better one), it is a bit of a philosophy. I like using open source software, because I can compile it for my specific needs, I can debug it, I can tweak it. If I am aligned with the creator, I can even contribute upstream as long as I do benefit from it (mostly because I need it or I enjoy it). The risk is that someone else may resell my code, but let's be honest: if I could sell my code myself, I would not make it open source. Of course it's frustrating when someone else makes money from your work, whether they honor the attribution clause of the MIT license or not. BTW if you don't want to live the frustration of seeing a business make money from your work, a good start is copyleft licenses. They can still make money from it, but at least they contribute back to your project. I just don't understand why hobbyists go for permissive licenses at all.

Now hobbyists (like the maintainer of Captura) need to really understand that they don't owe anyone anything. You work for free, you should work for yourself. If someone wants a feature you don't care about, don't implement it or make them pay for it. If they are being jerks, ignore them. If they fork away, great! And IMHO you should favour contributions to projects that have a copyleft license. If you contribute to permissively-licensed projects (or if you sign a CLA), then you are not allowed to be frustrated when the company makes money from your code without giving anything back.