[U-Boot] exports.h and the GPL

Michael Walle michael at walle.cc
Fri Feb 24 20:48:51 CET 2012


Am Freitag 24 Februar 2012, 20:17:19 schrieb Mike Frysinger:
> On Friday 24 February 2012 13:10:36 Michael Walle wrote:
> > As far as i know applications can use functions defined in exports.h
> > without being licensed under the GPL.
> 
> correct, that is what the COPYING file states
> 
> > Who is responsible to define which functions are exported? Are the
> > currently exported functions the only ones available to closed source
> > applications or is it possible to add further ones which are needed.
> 
> someone posts a request and the maintainers evaluate it.  typically the
> exported funcs should be "high level" and not hooks into u-boot internals.
> 
> > Functions may need arguments which are pointers to some structures. These
> > structures are likely be defined in some GPL'ed header file and must not
> > be used, i guess? So the exported functions must only use integral data
> > types, opaque pointers and structures which are not defined in a GPL'ed
> > header file.
> 
> which is why the exported funcs are "high level" and not ones that get into
> low level stuff that would necessitate passing structs.  the other problem
> with struct passing is that they tend to break the ABI layer.
> -mike

Then i guess there is no way to support a board which has only evil closed 
source drivers for its networking card. That is, i can't export eth_register() 
to register my ops defined in the blob without violating the GPL.

Even if the headers for the "struct eth_device" were public domain, this 
mechanism would be sth like 'linking' against the uboot, wouldn't it?

-- 
Michael


More information about the U-Boot mailing list