The GPL is the only license which guarantees code openness.
It allows people to redistribute and modify your code with no restrictions except that they must also share all changes back to the original author.
### MIT/BSD/Apache/Mozilla/etc.
The MIT and BSD licenses are more considered more "permissive" in that they allow closed source derivatives of the code to exist.
Part of me wants to like this more: more freedom right?
Sure, I suppose, but not freedom for users: the vast majority of the time this is freedom only for corporations.
I'm sure this occasionally helps a small business, but I see the MIT and BSD licenses as mostly a way to get big corporations free software that they can then sell for a profit.
To be clear, a corporation is allowed to sell GPL software; however, as a GPL-licensed work, the corporation must share the code with the original developer of the program and anyone who purchases the software from the company.
This means that as long as I am attributed and the source material is licensed the same as my own site, then redistribution and alteration of the material is permitted.
The truth is: free-culture licenses are necessary in a world full of death plus 70 years (or similar) copyright terms.
But I want freedom to be perpetuated, not stolen for corporate greed, hence the GPL above the BSD/MIT and CC-SA above CC.
I have never considered licensing with NC (non-commercial) for one reason: I run a small business;
I know what it's like to have all sorts of licensing restrictions stopping you from making a few bucks.
I license my site content under CC-BY-SA as an act of good faith, with the hope that there is something better than the copyright regeime we are currently under.