Subject: Re: Linus' sha1 is much faster!

From: Andreas Ericsson <[email-masked]>
Date: Mon, 17 Aug 2009 10:22:32 +0200

Linus Torvalds wrote:
> 
> On Sat, 15 Aug 2009, Linus Torvalds wrote:
>> That said, I don't know if the MPL is ok for X11. I've not looked at 
>> compatibility issues with MPL. For git, we could just ignore the MPL, 
>> since the GPLv2 was acceptable regardless of it.
> 
> If MPL isn't ok for X11, then we'd need to make sure that even the 
> silliest Mozilla crud has been rewritten. There really isn't much, but 
> hey, the _history_ is based on the mozilla code, and who knows - the 
> 'blk_SHA_CTX' struct has things like the fields in the same order as the 
> Mozilla equivalent, for all those historical reasons.
> 
> (Heh. Looking at that, I probably should move the 'size' field first, 
> since that would have different alignment rules, and the struct would be 
> more tightly packed that way, and initialize better).
> 
> Afaik, none of the actual code remains (the mozilla SHA1 thing did the 
> wrong thing for performance even for just the final bytes, and did those a 
> byte at a time etc, so I rewrote even the trivial SHA1_Final parts).
> 
> Of course, maybe the Mozilla people would be interested in taking my 
> faster version, and say that the new-BSD license is ok, and make everybody 
> happy. The only listed author for the Mozilla SHA1 is Paul Kocher. I added 
> him to the Cc.
> 
> Paul, for your information, we're talking about a faster rewritten "mostly 
> portable" SHA1 routines that you can find at
> 
> 	http://git.kernel.org/?p=git/git.git;a=tree;f=block-sha1;hb=pu
> 
> (follow the "blob" pointers to see sha1.c and sha1.h). I don't know if 
> you're active with Mozilla/Firefox or whether you even care, but you seem 
> to be the logical choice of person to ask.
> 

I contacted Paul in february this year to get permission to use the mozilla
sha1 code for libgit2. His reply then was:
"I'm not sure which version the diffs are relative to, so I haven't reviewed them.
It's fine to distribute under BSD, GPL, or LGPL, however."

I also got explicit permission to relicense it under GPLv2 with the gcc exception.

I added the mail-address I used to contact him to CC as well. Sorry if you get
this twice, Paul.

Naturally, I'd like to use the faster version for libgit2 as well. The people
who Linus listed as contributors earlier (Brandon Casy, Linus, Junio and Nicolas
Pitre) have already consented to relicense their git contributions for libgit2
use. If anyone would like to revoke that consent for this code, speak now please,
or I'll patch it into libgit2 as well.

-- 
Andreas Ericsson                   [email-masked]
OP5 AB                             www.op5.se
Tel: +46 8-230225                  Fax: +46 8-230231

Considering the successes of the wars on alcohol, poverty, drugs and
terror, I think we should give some serious thought to declaring war
on peace.