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