[U-Boot] Using U-Boot in a mixed licensed environment

Stephen Baker baker.stephen at gmail.com
Wed Dec 12 23:06:02 CET 2012


All,

My question stems from building a "standalone" application for U-Boot
with code that has conflicting licenses with GPL v2. The COPYING file
states that if I used the standard jump table then the standalone
application will not fall under GPL v2.  However if I want to expand
the functionality that a can be leveraged by a standalone application
I have three options.  I suspect that option 3 will be the only valid
option but I wanted to get your comments on the options.


Option 1:
Expand the jump table to include IO functions for networking and
flash/drive access.  Would expanding the jump table functionality mean
that the COPYING statement be invalid since the jump table support has
expand beyond the original scope and thus fall under GPL v2?

Option 2:
Use the api interface (api_public.h) with my application linked into
U-Boot.  The api_public.h terms are BSD or GPL v2, by using BSD
license it removes the GPL v2 from this header file and interface.
However since the COPYING file does not list the API interface as an
exemption; not falling under the heading of a derived work.  I suspect
that using the API interface and linking the standalone code with
U-Boot would cause all of the code to fall under GPL v2.  Is this a
correct assumption?

Option 3:
Have U-Boot read the application image from flash into memory then
jump to the code.  This would follow the same logic as boot linux or
any other image.  Just load and jump into the new code.  The
application would not leverage any U-Boot code.  The Network and Flash
support would have to be added to the application using BSD or other
non-GPL code.  This seems to be the best way to avoid the GPL v2
issue; unless one of the other options proves valid.

Thanks,
Stephen


More information about the U-Boot mailing list