I feel open source programs are good to release under GPL, large libraries and frameworks are good under LGPL, and code snippets or small libraries are best under zlib or similar.
It's funny, because I've seen it so often, when people release their software under an expatlike license (one of the many-fold MIT, BSD, or zlib licenses) and then get all round-eyed and outraged because someone else takes the code and modifies it and sells the software for a fee and doesn't make their code available or even acknowledge the original author.
Really, I don't like it when there is a 20 line piece of code that is available for free, that I then have to bother tracking who created it, and make sure to give them credit for their 1/200000th share of the code in my project. Oftentimes, I find it easier to just to write my own so I don't have to bother with their version. But if they truly want to make something available for use that can fit within a single blog post, or is a single header file, make it public domain or MIT-like.
It's not that I don't want to give credit where credit is due, it's just that for a small chunk of code, it's just not worth the hassle and legal risk if I forget to credit all 30 people that once posted something on some site somewhere that I once used sometime in the past two years in one codebase that now is being used in a new project. It's not just the crediting either - I have to get their licenses, and make sure users can tell license #22 goes to code snippet #22, even though license #22 is the same license as license #15, #17, and #4, and a slightly modified version of license #12 and #14.
For larger chunks of code (like libraries) it's totally worth the minor inconvenience.
In a related note, it's a pain to track down all the licenses for the sound samples maybe-used by the composer who's working for you (quite generously for free! So it's worth the hassle - but it's still a pain), because the composer doesn't fully understand the legal aspect of "free" sound samples downloaded from sites.
Creative Commons Attribution is great! Except for a 1/15th second whistle that's only used once in a 5 minute song.