Sounds harsh, but this is the correct stance.
The free labour you provide is not only "your loss". There are second order effects: you effectively make it harder for others to compete with said commercial entity.
This includes salaried employees of competing companies whose wages you effectively press down. And even other volunteers and non-profits, because defending and sustaining their project in face of "free inputs, for-profit outputs" competition is that much harder. Community projects die because of this.
"Working for free for a commercial entity" is just a bad idea all around. You exploit yourself (whatever, your choice, you may be getting other kicks out of it) and harm others.