Licensing is enforced only in reaction to legal suits. Lawyers are typically only involved when a company is deciding whether or not to use a piece of code or when someone sues.
Personally, I like the Boost License.
http://www.boost.org/users/license.html
http://www.boost.org/LICENSE_1_0.txt
The Boost people were very interested in making sure they had a good, defensible license that protected the copyright holders but made the code as freely available as possible otherwise.
IANAL is a common prefix because in today's society everyone needs to protect themselves, and dealing with code is a high-stakes issue in the industry. Unless you actually are a lawyer who is getting paid to sort this stuff out, you really don't want to touch it with a bazillion foot-long pole.
Of course, that leaves the poor individual software writers in a quandry. The major existing licenses have been nominally tested in court, so your choices boil down to, from best to worst: hire a lawyer to write one for you, use an existing one, and try to write one yourself.
Good luck!