If companies have to pay for licenses to OSS they will simply stop using it. It makes sense to a business to benefit from the freedom of others. If devs are expecting a payday, don't release as open source. I know that sounds like I'm saying "stop being a jerk" and I am.
The idea of OSS has been the sharing of software with limited license responsibility, but adding in a specific license for commercial use thru a command-line interface is going to be too much of a nightmare to manage.
This will end up turning into another GPL border dispute (to use Heather Meeker's term). Which code is covered by the open-source part, and what's covered by commercial? Where does my software start and yours ends? I figured that if devs don't want software used by companies, they could use the CC-NC licenses.