I work on a few Open Source libraries and they're used by companies that make a lot of money, and people often regard me as a mug for doing the hard work for free so that other people can make lots of money. The argument I give in response is that from an economic perspective, you can only make money from a unique advantage, and since Open Source can be used by anyone, it's not giving anyone a unique advantage. I'd put it this way, that any company that's not using Open Source is putting themselves at a disadvantage.