I'm writing a standalone application that uses a non-GPL compatible library,
so I have to be careful not to derive from GPL code.

I've modified (and will release under the GPL) u-boot sources to export more
u-boot functions to the jump table, including get_ipaddr, do_dcache, 
get_config_start,
ip_to_string, do_jffs2_fsload, do_bootm.  My application downloads files from
a server using u-boot's tftp functions (via jump table), does some stuff, then
boots.

Q1: Is this allowed?  Can I add other u-boot functions to the jump table and 
call
         them from my standalone application w/o encumbering my application 
with the GPL?


Q2: About which specific include files may be included in a standalone app...

The COPYING file explicitly calls out include/image.h and 
include/asm-*/u-boot.h:

           NOTE! This copyright does *not* cover the so-called "standalone"
         applications that use U-Boot services by means of the jump table
         provided by U-Boot exactly for this purpose - this is merely
         considered normal use of U-Boot, and does *not* fall under the
         heading of "derived work".

           The header files "include/image.h" and "include/asm-*/u-boot.h"
         define interfaces to U-Boot. Including these (unmodified) header
         files in another file is considered normal use of U-Boot, and does
         *not* fall under the heading of "derived work".

           Also note that the GPL below is copyrighted by the Free Software
         Foundation, but the instance of code that it refers to (the U-Boot
         source code) is copyrighted by me and others who actually wrote it.
         -- Wolfgang Denk

But it does not mention examples/stubs.c, which is required I believe to
use the jump table.  I think there are other includes which are needed to
build a meaningful standalone application, including common.h and exports.h.

My app directly includes the following, unmodified files:

         examples/stubs.c                (linked with)
         include/common.h
         include/exports.h
         include/net.h
         include/linux/string.h

and those indirectly include:

         include/config.h
         include/asm/bitops.h
         include/asm/byteorder.h
         include/asm/global_data.h
         include/asm/mach-types.h
         include/asm/posix_types.h
         include/asm/proc/ptrace.h
         include/asm/ptrace.h
         include/asm/setup.h
         include/asm/string.h
         include/asm/types.h
         include/asm/u-boot-arm.h
         include/asm/u-boot.h
         include/cmd_confdefs.h
         include/command.h
         include/_exports.h
         include/flash.h
         include/ide.h
         include/image.h
         include/linux/bitops.h
         include/linux/byteorder/generic.h
         include/linux/byteorder/little_endian.h
         include/linux/byteorder/swab.h
         include/linux/config.h
         include/linux/posix_types.h
         include/linux/stddef.h
         include/linux/types.h
         include/part.h

Is such an standalone application still not considered a derived work?

I'm looking for an authoritative answer, hopefully from Herr Denk.

Thanks.  --ed

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
U-Boot-Users mailing list
U-Boot-Users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/u-boot-users

Reply via email to