Linux kernel complete licence check, Q.16
linut/net/irda/irqueue.c:
/*********************************************************************
*
* Filename: irqueue.c
* Version: 0.3
* Description: General queue implementation
* Status: Experimental.
* Author: Dag Brattli <dagb@cs.uit.no>
* Created at: Tue Jun 9 13:29:31 1998
* Modified at: Sun Dec 12 13:48:22 1999
* Modified by: Dag Brattli <dagb@cs.uit.no>
* Modified at: Thu Jan 4 14:29:10 CET 2001
* Modified by: Marc Zyngier <mzyngier@freesurf.fr>
*
* Copyright (C) 1998-1999, Aage Kvalnes <aage@cs.uit.no>
* Copyright (C) 1998, Dag Brattli,
* All Rights Reserved.
*
* This code is taken from the Vortex Operating System written by Aage
* Kvalnes. Aage has agreed that this code can use the GPL licence,
* although he does not use that licence in his own code.
*
* This copyright does however _not_ include the ELF hash() function
* which I currently don't know which licence or copyright it
* has. Please inform me if you know.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of
* the License, or (at your option) any later version.
*
* Neither Dag Brattli nor University of Troms<F8> admit liability nor
* provide warranty for any of this software. This material is
* provided "AS-IS" and at no charge.
*
********************************************************************/
First paragraph: ok.
Second paragraph: (legally should the "this copyright" replaced with
"this licence"?)
But the trouble:
Function 'hash' has unknow origin
So IMHO, IANAL, we should not assume GPL not GPL compatible license
ot the code, right?
Anyway the code is:
: /*
: * Function hash (name)
: *
: * This function hash the input string 'name' using the ELF hash
: * function for strings.
: */
: static __u32 hash( char* name)
: {
: __u32 h = 0;
: __u32 g;
:
: while(*name) {
: h = (h<<4) + *name++;
: if ((g = (h & 0xf0000000)))
: h ^=g>>24;
: h &=~g;
: }
: return h;
: }
So the function is very simple, enought simple to be free?
Anyone kwnow a similar function but GPLized or PD (to replace this
function)?
ciao
giacomo
Reply to: