I'd argue that most FOSS devs just have amnesia about certain things, like dual-licensing that lets you sell licenses to companies but keep things open for humans. For example an Office competitor could sell licenses to companies in this way, but allow individuals to use the software on their personal machines.
Say you have a game, you can make the source available and still charge money for the game, and it doesn't get any easier to pirate than before. You even get tons of people modding your game and contributing to its appeal.
There are also techniques like 'selling support' for your software.