Licenses

Last week, a reader wrote in with this question:

[Y]ou’ve got all this great code, but you haven’t declared a license. Is it public domain, or BSD?

This is, as they say, a fair question. I address it today.

Preferences

I prefer to use code with BSD-like licenses. I don’t want to have to think about whether using some code in a particular way is kosher or not, or deal with GPL-style obligations. It’s a transaction cost I’d rather avoid.

I have no ideological commitment to “open source” in general, or the GPL in particular. I like open source, find it helpful, and like to “give back” in such small ways as are natural to me, but I have no interest in advancing it as a “cause”.

Therefore, when I opt to explicitly license my code under a permissive license, it’s almost always going to be 3-clause BSD.

However

I have decided not to adopt a “blanket” license for the code I publish on this this site. Ironically, my reasons for this are the same as those underlying my preference for the BSD license; a desire not to have to think about irrelevant things.

I write this blog as a somewhat informal exercise; much of the code I post consists of things that just happened to catch my attention. My nature is such that a blanket permissive license would cause me to stop and think: “Wait! Do I really want to write this? Am I giving too much away?” The fact that such thoughts are foolish would do nothing to suppress them; hence, no blanket license.

Your Options

If you want to use code that you see here, you have a bunch of options:

  • Some of the more complex stuff is explicitly licensed
  • You can ask; I can’t really imagine saying no
  • You can rewrite the code after understanding its design; this should be trivial, and avoids copyright issues
  • As a practical matter, I’m extremely unlikely to know if you just grab the code

An Apology

I’m sincerely sorry I can’t be more generous. I’m happy to release stuff under BSD on a case-by-case basis, but licensing is something I don’t want to have to think about by default, and a blanket license would cause me to do so.

Share and Enjoy:
  • Twitter
  • Facebook
  • Digg
  • Reddit
  • HackerNews
  • del.icio.us
  • Google Bookmarks
  • Slashdot
This entry was posted in iPhone, Planet Microsoft, Projects, Python, Reverse Engineering, UNIX, Web stuff. Bookmark the permalink.

Comments are closed.