my code ( http://code.google.com/p/lindenb/ ) is released under GNU General Public License v2 but frankly, the characteristics of all the available licenses are just vague for me. I just want a license that would say:
use my code as much as you want but
tell me if you're doing something
interesting with it, cite my work if an article is published, and remember me if
you're getting millionaire.
Without getting into a licensing discussion: I prefer to use the most permissive licenses like MIT/BSD instead of GPL. The bottom line is being I never want the license to be a reason for people not to use my code--though I can see the reasons why some libraries choose different licenses.
One important consideration is that of the support that made the software possible. When someone's work is supported by public grants (aka taxpayers) both ethical considerations and probably the law requires that the software be made available with few strings attached.
The fundamental differences between the Open Source licenses can be found in the conditions specifying the licensing of derived work based on the software. Some licenses do not impose any conditions: MIT, BSD; others strictly mandate that any type of derived work must be licensed the same conditions as the original work GPL.
I have been on various sides of software licensing, but now I think that each situation is unique thus no general rule or recommendation applies to all situations.
I prefer BSD-style license over GPL because I am a bit aware of the problems of using GPLed code in corporate setting. For example a software project might catch wind because it is inside some corporate codebase (i.e. has users) even if they do not technically have to release the modified sources.
I use GPL for applications, and LGPL for libraries, other licenses available on negotiation (but nobody ever asked, and I'm not holding my breath).
The rationale is that, yes, you can benefit from my work for free, but only if you let others in turn benefit from yours. In practice, LGPL is probably more limited than I would like - I don't mind commercial/proprietary use as long as modifications to the library itself are contributed back - but at least it clearly allows distribution with other open source code, which I think is more important.