Luke -Jr wrote:
On Thursday 25 January 2007 10:14, Hal Duston wrote:
Refering to another work, e.g. #include doesn't make the source code a derivative work. If I have created the source code as an original work and don't include any of the referenced work, but only refer to (#include) it, it is not derivative work, and I can distribute it under any terms I may desire. In order for a work to be a derivative work, the work needs to actually include the other work and not merely refer to it.
Mere referencing would not make a kernel module possible. You need to copy symbol names and derive code from function arguments and Linux-invented structures.
Copying a symbol name doesn't make something a derivative work. I have written code which copies the symbol name strcpy, but that doesn't make my code a derivative work of the standard library which defines strcpy.
As "derive code from function arguments and Linux-invented structures", I don't even know what that means. I write code to pass values to the functions as arguments, but that also doesn't make my code a derivative work. I also write code that populates the Linux-invented structures, but once again, that code isn't derived from the other work, as it does not include any text in common. "My source code file" below is not a derived work of the library, as it uses the library, and refers to the include file, but does not have any code in common.
/*** My source code file **************************************/ #include "include.h"
void func_d(void); void func_d(void) { struct struct_b c;
c.a = 1; c.b = 1; func_a(c.a, c.b); } /****************************************************************/ /*** Source code from library *********************************/ #include "include.h"
int func_a(int a, int b) { return a - b; } /****************************************************************/ /*** Include file from library ********************************/ int func_a(int a, int b);
struct struct_b { int a; int b; }; /****************************************************************/
-- Hal Duston [email protected]