[U-Boot] License Problems for standalone application at u-boot

Peter Chen hzpeterchen at gmail.com
Mon Aug 17 04:00:37 CEST 2009

Thanks, Wolfgang.
I still have same questions want to confirm.

On Fri, 2009-08-14 at 11:38 +0200, Wolfgang Denk wrote:

> Dear Peter Chen,
> In message <1250231900.7144.40.camel at nchen-desktop> you wrote:
> > 
> > 1. Does jump table means the function lists which the standalone
> > applications uses?
> The "jump table provided by U-Boot exactly for this purpose" is the
> list of functions exported through the "include/_exports.h" header
> file.

    At my situation, the standalone program is hardware independent.
And the u-boot supplies hardware interfaces according to different
Like at u-boot/board/myboard/myboard.c, there are a function lists
struct, and the address
of this struct will transfer to standalone program. 

Is it free to license at below situation:
The function list which is defined at u-boot/board/myboard/myboard.c,
and all functions in this list
only uses functions at include/_exports.h and some of user-defined

Or Need I to export my functions at include/_exports.h? At my standalone
application only uses address of
functions at function list, not the name of function, so It doesn't need
to include include_exports.h.

> Only these functions are available from standalone programs without
> linking against any of the U-Boot provided libraries. If your program
> links and runs fine using only these functions then you are free to
> license your standalone application whatever you like; if you need to
> link against any of the U-Boot libraries then you must release your
> code under GPL.

We would like to release our u-boot under GPL, but standalone
application includes some IP properties code, so 
we want to close it.

> > 2. If the functions includes some u-boot header file, it belongs to
> > derived work or not?
> Well, the file "COPYING" explicitly mentions the header files where
> the situations is clear:
> >   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".
> The fact that these files are explicitly mentioned *not* to make yoru
> code a Derived Work should make clear that all other header files do,
> or at least might do, so you better not include these in a standalone
> application you don't intend to release under GPL. If you do, you
> better check with your legal department, and rely on what they tell
> you. Note that I just wouldn't do that.
> Best regards,
> Wolfgang Denk

Best Regards,
Peter Chen

More information about the U-Boot mailing list