I don't really care about what happens to my code once I publish
it. Of course, I'm very happy if it finds use -- that's the whole
point -- but I don't really feel that it's my place to dictate how
it should be used.
I don't know, perhaps it's a bit naïve to think that contributions
will make their way back to the project without stating that as a
term in a license. I just think it's silly to believe that a flimsy
bit of legalese will change the behavior of people.
We all have our reasons for doing things in a certain way and I
really think that it will work out well in the end.
(Especially since contributing back to the community makes a ton
of sense socially and economically, but that's a topic for another
time...)
Therefore, I want to encumber the would-be users and hackers of
my stuff as little as possible. Public domain would be great,
if it weren't for the fact that putting stuff directly in the
public domain is a terrible idea.
You see, the way public domain works in various countries differ
quite a bit -- and that is only if they have a concept of public
domain in the first place!
There's also the issue with knowing who is the originator of the
work. Sure, you can state that you are the originator, but unlike
works that have fallen into the public domain, there's little
evidence by virtue of age and cultural presence that you are in
fact the originator. You may not care, but would-be contributors
now have a heap of shit in their laps that they have to deal with.
Double so if they happen to work for an organization of some sort.
(They have all my sympathies if they just turn and run at this
point.)
No, it's better to play the game by the rules: claim the copyright
and then permit the hell out of it. The BSD and MIT licenses are
hugely popular for this reason. I prefer the ISC license, used by
OpenBSD, npm, BIND to mention a few. It's functionally equivalent
to the 2-clause BSD and MIT licenses, but smaller by removing
unnecessary wording. Some claim that it's slightly more ambiguous
than MIT/BSD. Some claim that MIT introduces loopholes by permitting
sub-licensing. Some claim that people may confuse 3-clause BSD with
2-clause. IANAL, but as long as the license is widely accepted as a
good open source/free software license, I'd say that less is more.