I appreciate your concern about "abusers" who use your code without giving back, but that's what I mean when I say GPL isn't advocating true freedom: They should have the freedom to not give back. What GPL does is force developers to release their code. I wouldn't consider that freedom, even if it's done in the name of protecting the ecosystem. "The road to Hell is paved with good intentions" and all that.
> Think of a BSD-licensed device driver; if a company forks it and makes it proprietary, develops a different but new device and sells the device with the new driver; Neither the users nor I; the original developer will be able to benefit from the derivative work and will end up with an unusable new printer in case the company ends support or does not solve a specific problem.
How likely is that, though? If you release your code under GPL, they'll just write their own version and keep it proprietary. At least with BSD, you'll have the same base if you needed to rewrite their driver.
A BSD license benefits the market and end user, while a GPL license benefits other developers if they decide to use your code to begin with.
> Everytime I am giving away some code, I face this dilemma (I have MIT/BSD contributions too). I don't want to strengthen abusers, and non-contributors.
I feel the same way, but I'd rather have code people can use without worrying about the license versus forcing other developers to adhere to my personal belief system. Your reason for using GPL sounds like the reason some publishers use DRM: They do not want to give abusers and pirates easy access to their product. With DRM, it only ends up hurting legitimate users while pirates illegally remove it. With GPL, it's not as clear-cut, but I'd imagine there are many projects who have used GPL'd code without releasing their source, while shops who abide by the license but don't want to release their code are forced to reinvent the wheel.
Again, I do appreciate your concern regarding code abuse. I certainly wouldn't like it if a company swiped by code and sold it as their own, but the chance of that happening is slim. I'm much more worried about the small startup who wants to use my library but doesn't want to release their code.