Today Eric S. Raymond was interviewed on "Why we don't need the GPL anymore" so Let me just add this to the discussion.
There are plenty of hugely successful BSD style open source projects. For example:
And several less famous but super important projects as well
and of course thousands of others. The point is of the list above is not that BSD style is better GPL style. It's just to point out that there is plenty of evidence that BSD style works just fine and that GPL style viralness is not required for a successful open source project.
The plus to BSD style over GPL style is that it allows companies to contribute to those projects (ie, give something back) and not have to give everything else. With BSD, if I'm making a game (I'll use that example since it's what I do), if I download libpng to load png textures in my game and I find a bug I can easily fix the bug and contribute that fix back to the libpng group. If libpng was GPLed, just to be able to use it I'd have to give up my entire game up. Some people see that as fair and good, I don't. Instead of using and contributing to libpng if it was GPLed I'd end up writing my own PNG loader. Nobody wins, I lose because I had to waste time writing my own PNG routines, the commons loses because there was one less chance for someone to contribute directly to libpng.
As for the GPL itself, well, in a word, it's EVIL. The GPLs stated goal is to destroy ever other type of license in existance. The GPL is not their to co−operate, to play nice, to be friendly. It is not trying to say "the right tool for the right job". It is simplying trying to ban all other licenses period. That in itself should be enough reason to avoid it. Just to attempt to get a counter a few false rebuttles:
⭐️ LGPL: The LGPL is not an attempt to play nice. Go read the rationalization for the LGPL. It's sole point is to lure people into the GPL. The FSF sees it as a neccessary evil, not as a positive compromise.
⭐️ "If I don't GPL the code someone will take my code, put it in their own product without contributing back". First off, the above projects should give evidence that that's not neccessarily the case. But second off, I find it amazing that someone could put up an program that a million users could use without giving a single thing back. As far as you know they are using your software to design bombs or send e−mail spam. You don't know if they are doing good things or bad things with it. They could have started a company and made a bazillion dollars and not contributed one thin dime of time or money back to your project. But, the moment some programmer takes even a single line of code from your source, now for something you're having a fit that he's doing something wrong? Sure you're free to set your own conditions on how people use your projects but there's just something strange about that disconnect to me.
When you support GNU and the GPL do you know what you are really promoting? Some quotes from the GNU Manifesto
" Low-paying organizations do poorly in competition with high-paying ones, but they do not have to do badly if the high-paying ones are banned."
In answer to the question "Programmers need to make a living somehow" the answer is
All sorts of development can be funded with a Software Tax: Suppose everyone who buys a computer has to pay x percent of the price as a software tax. The government gives this to an agency like the NSF to spend on software development. But if the computer buyer makes a donation to software development himself, he can take a credit against the tax. He can donate to the project of his own choosing--often, chosen because he hopes to use the results when it is done. He can take a credit for any amount of donation up to the total tax he had to pay. The total tax rate could be decided by a vote of the payers of the tax, weighted according to the amount they will be taxed on.
Still think the GPL is a good license to choose?