GPL is a hindrance to your code, not a help... unless you're lucky enough to have your code become popular with a large open source community.
GPL prevents any proprietary software maker from using your software. It requires that if you use the code, your software also be GPL. Well, good luck with that. Software companies need to make money for a living, and most of them want to do it selling their software, not hoping someone will pay them to support their software.
In practice there's no difference between BSD and GPL in the worst case, and in the best case, BSD is better.
Worst case:
Some awesome devs make Cool GPL Software™. Hundreds of large proprietary software companies like the look of the software, but it's GPL, so they can't use it. They use something else. Cool GPL Software™ loses out on all the manpower that could have been given to it by proprietary software makers.
vs. BSD:
Some awesome devs make Cool BSD Software™. Hundreds of large proprietary software companies like the look of the software, and use it, but never open source their changes. Cool BSD Software™ loses out on all the manpower that could have been given to it by proprietary software makers.
end result: the same, but the BSD guys feel butthurt, and the GPL guys feel ignored
Now, the best case, which is what actually happens quite often these days:
GPL (same as above)
vs. BSD:
Some awesome devs make Cool BSD Software™. Hundreds of large proprietary software companies like the look of the software, and use it. Some of them contribute their work to the original BSD project, because it's good karma, good publicity, and keeps the community around that software alive. Cool BSD Software™ gains a bunch of hard work from devs who get paid to work on their software 40+ hours a week.
end result: GPL guys feel ignore, BSD guys feel elated.
This is why I'll never use GPL for any software I write.