[U-Boot] API License Terms

Hi
Please can someone clarify the following points regarding the 'Consumer API' which we wish to use to access the environment from the core application of a commercial closed source product.
1) Is it true that the so called 'consumer application' can use this API and remain closed source - if so, where in the license information is this made clear?
2) Who has agreed (or has to agree) that this is acceptable use? It's all very well Rafal adding the code and a 'public' header file with a BSD license - but surely all of the authors that have contributed to code accessed through this API would have to consent to these terms.
3) If presume that we cannot use the GPLv2 glue files in a closed source application.
We need to understand these points before we can proceed with code that interacts with this API.
Also, following on from these points, how would we go about extending the API? Specifically, we would like to add a saveenv function to the API - is it legitimate for us to simply extend the API to add this functionality - provided we publish our changes to u-boot as per the GPL - without compromising our core application code as closed source?
Cheers
Daniel Sherwood Software Engineer
Sepura PLC
Radio House, St Andrew's Road Cambridge, CB4 1GR, UK T: +44 (0) 1223 694637 F: +44 (0) 1223 879000 www.sepura.com http://www.sepura.com
The information in this email is confidential. It is intended solely for the addressee. Access to this email by anyone else is unauthorised. If you are not the intended recipient, any disclosure, copying, or distribution is prohibited and may be unlawful. If you have received this email in error please delete it immediately and contact commercial@sepura.com.
Sepura plc. Registered Office: Radio House, St Andrew’s Road, Cambridge, CB4 1GR, England. Registered in England and Wales. Registration Number 4353801

Dear Daniel,
In message 7B12C7CF8EB6734F9C50A406CD99BED205ACF0DC@mail01b you wrote:
Please can someone clarify the following points regarding the 'Consumer API' which we wish to use to access the environment from the core application of a commercial closed source product.
There is no such thing as a "consumer API".
Is it true that the so called 'consumer application' can use
this API and remain closed source - if so, where in the license information is this made clear?
I guess you might be referring to standalone applications here. And the licensing for these is described right at the beginning of the license file "COPYING".
Who has agreed (or has to agree) that this is acceptable use?
Right in the beginning, when U-Boot (or rathewr "PPCBoot", as it was calkled by then) was basicly written by myself only, I came up with this notion of allowing a certain, well-defined (and pretty strictly restrited) set of closed-source extensions.
It's all very well Rafal adding the code and a 'public' header file with a BSD license - but surely all of the authors that have contributed to code accessed through this API would have to consent to these terms.
The API code implemented by Rafal (abi/* and examples/abi/*) is *not* part of the exception for standalone programs; instead, it is licensed under GPL. The source code makes this pretty clear.
If presume that we cannot use the GPLv2 glue files in a closed
source application.
Correct.
We need to understand these points before we can proceed with code that interacts with this API.
For closed source extensions, your only option is what is available via standalone applications, restricted as it is.
Of course you can always reconsider and release your code under GPL - that would be the most natural thing given the fact that you are taking man-years worth of source code for free.
Also, following on from these points, how would we go about extending the API? Specifically, we would like to add a saveenv function to the API - is it legitimate for us to simply extend the API to add this functionality - provided we publish our changes to u-boot as per the GPL
- without compromising our core application code as closed source?
Most probably you will need to include header files in addition to those explicitly allowed in the "COPYING" file. This would require you to release your code under GPL.
Best regards,
Wolfgang Denk

On 2009-09-01, at 20:08, Wolfgang Denk wrote:
If presume that we cannot use the GPLv2 glue files in a
closed source application.
Correct.
There's also a BSD licensed version of the gluing code and the syscall entry, which is used for integration of the FreeBSD loader(8) with U- Boot through the API, so maybe using this code would be an option:
http://svn.freebsd.org/base/head/sys/boot/uboot/lib/glue.%7Bc,h%7D http://svn.freebsd.org/base/head/sys/boot/powerpc/uboot/start.S
Rafal
participants (3)
-
Daniel Sherwood
-
Rafal Jaworowski
-
Wolfgang Denk