
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@nchen-desktop you wrote:
- 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 platforms. 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 functions.
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.
- 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