The GPL concerns how other people can use your code - if you release something under the GPL, you're not personally bound to it.
The trouble comes when you accept patches written by other people, because while you are still free to release 'non-free' versions of your code, you are bound by the GPL with your use of theirs. A good example is Linux - they can't really move to GPL 3, even if Linus wanted to. They would have to get 10s of thousands of people to agree to the change.
The trouble comes when you accept patches written by other people, because while you are still free to release 'non-free' versions of your code, you are bound by the GPL with your use of theirs. A good example is Linux - they can't really move to GPL 3, even if Linus wanted to. They would have to get 10s of thousands of people to agree to the change.