[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: