Saturday, September 1, 2007

the little mole hill that could

In reference to this

I honestly thought this was over.. clearly I blinked.

To be fair, I stopped following it and then ignored most of the people who I disagreed with. To borrow a phrase from Linus Torvalds, "people who disagree with me are stupid and ugly." (I just recently watched his Google talk on Git)

I tried to be balanced and non-bias in my previous post, but I think I'll allow myself to weigh in with my opinion this time.

Theo started round two with a new thread on openbsd-misc. The bell was then echoed by and, which is where I saw it (with over 100 feeds, a local lug mailing list, and a couple others, I don't have time for openbsd-misc or lkml in the raw).

For the record, I completely agree with everything in Theo's post. Or at least, I agree with my interpretation of everything he said. I add that because of the large number of people who seem to disagree with things they think he implied. I saw no conflicting statements in his post, others did.

The real crux of the matter, as Theo pointed out, is the legal implications that are part of this "debate". These licenses are legal artifacts representing ideals. A copyright holder owns their work; it is their choice of how to distribute it. The license is that choice, put in pseudo-legalese.

I find law largely useless without looking at the intentions behind it. If we ignore the intent of the law and focus on the letter of the law... well that's like lawyers vs. judges. Lawyers try to use the letter of the law to their client's advantage, to make sure they get every right afforded to them by the law. Judges, on the other hand, have to decide whether or not the lawyer is applying the law in a way that is consistent with its intent.

When someone uses a BSD license for this, they are saying that you can use it as long as they get credit in the code and their license and disclaimer remain with their copyright notice. The GPL is very similar in this regard, just adding some further details about reciprocity, but I see them as largely the same.

They both have the same spirit of intent behind them: this code is free for everyone to use, please take it and make it better, faster, stronger, and if you can just contribute, that'd be great (sweet, Daft Punk reference and Office Space quote in the same sentence).

If I write a piece of open source software, my intent will be the same whether it is a BSD style or GPL style license grant. What I want is for anybody to be able to use my creation and help make it better. If I use a BSD license, I'm giving the licensee the chance to contribute back out of the goodness of their heart. If I use a GPL license, I'm making that social obligation a legal obligation (although the enforceability of the GPL is still widely debated).

I did a nice analysis of the different meanings of "dual-licensed" in my last entry. Well, I thought it was good, at least.

Anyway, my point is: removing license headers is wrong when the license says it must be included, unless all the involved copyright holders agree, OR if the licenses explicitly allow this (requiring the copyright holders to have agreed previously).