I think there's two split types of developers. When I was younger, mostly hanging around on IRC servers and forums, coding just my own cool projects, I strongly believed in the GPL. All of my projects had it, and I wouldn't even dream of allowing someone to use my code without making their entire project open too. That's the first type I think. The second type is the more HN-style professional programmer. Now as I've…
This means that a wider range of people/projects are likely to use your code, but any bugfixes or in-file features need to be open sourced. This results in a higher quality of code, more complete and rounded libraries, and not everybody's kitchen sink gets sent upstream for potential merging.