The GPL states that even if someone forks your code, makes derivative works
out of it, and then put it in the market, they have to release the changes
they have done under GPL only. This makes the forking problem nonexistent
because if they fail to release their changes, you can always sue them.
Now the financial question. I have a small company that provides a student
management software written in php to local colleges, and it generates quite
good revenue. You can use this approach by supplying the software to local
companies, small and medium level enterprises, educational institutes. In
order to protect your code from being picked up by larger companies, you can
make a provision for hand delivery only, and not providing any downloads etc.
Also make your customers sign an agreement that double-enforces the GPL, thus
providing you with extra protection.
Good luck. :)