Generations of older idiots do not realize, that corporations are shafting you and laughing all the way to the bank based on *your* hardwork, and you just accept it. There is nothing wrong or shameful about asking for higher compensation, and joining a union to strength your demands by putting workers and executives on an even playing field, and all efforts to "fight" it are misguided and destructive.
Look, I don't mean to be rude in the above statement, but it really irritates me when people refer to younger generations as idiots, just because we have a different philosophy than you do.
In my view, BSD allows corporations to fork the code and never contribute back. They can essentially take everyone's hard work, say "So long and thanks for all the fish", and package up a proprietary version of it and sell it for oodles of money. They don't owe you a thing. They don't owe the open source project a thing. Just because some of them currently do contribute code/effort doesn't mean they will indefinitely. Once they have obtained what they want, what incentive do they have to keep working with the community?
The GPL, meanwhile, protects your hardwork. If you write free software (in RMS's terms; or open source if you prefer), you can still build a community around it and have anyone contribute, including corporations. You can use it for whatever you want, including commercial software (i.e., you can sell software that is GPL, that's not against the license). HOWEVER, there is one important exception: any changes/add-ons MUST be available under GPL license for others. While you can sell GPL software, you can't make it solely proprietary, ever. I look at it as demanding compensation -- if you worked hard (for free in most cases) to develop some open source library, and a corporation takes it to use in some product they sell, why should they solely profit off your work? Requiring them to give back to you and community -- so you can turn around and sell too if you wish -- keeps an even playing field. Everyone contributed so everyone gets it. No one can unilaterally decide they're done contributing back; it's a requirement of the license.
Imagine being the author of a library that becomes used in OS X, and then Apple says "Sorry, that's proprietary, you can't reverse engineer our code" -- they took your code, the code you wrote 99% of, and effectively removed your freedom to use your own library just because they made a few changes and reissued under a new license. BSD allows this; GPL doesn't.
The only thing GPL really requires is that changes also be released GPL, so everyone can use it. Otherwise, it's the same as BSD. How is that taking away freedom? You can do anything you want with GPL, including launch a commercial company and sell it, EXCEPT screw people over by taking your ball and going home. Does it not occur to you as being a little suspicious that corporations, after years working with GPL software, are starting to turn to BSD in some cases? You use it as an example of GPL's "failure", but I see it as an impending crisis among BSD software, where in a few years corporations will fork and close these libraries and leave BSD'd software to decay. Remember that old "extend-embrace-extinguish" memo? Did you not learn from history? BSD can't prevent that, but GPL can because of its viral nature.
Now if you really think corporations getting to take your code for proprietary stuff is important, then by all means pick BSD. I'm not going to sit here and tell you what to do with your own hard work. It's a free country. But stop spreading such lies about the GPL. The GPL protects your freedom by preventing others from taking away your freedom.