[U-Boot] Licensing Question on ARM Semihosting Code

Given the ARM header below, is this code possible to put into u-boot?
For reference, I see this discussion below. http://lists.denx.de/pipermail/u-boot/2011-November/110884.html
If this is not acceptable, presumably due to the "All rights reserved" and "Redistribution in binary form..." clauses below, we could try to find an alternative implementation that is GPL2.0+ licensed or rewrite the parts we need from scratch.
Any suggestions you have would be most welcome. Thanks.
Regards, Darwin Rambo
/*
- Copyright (c) 2013-2014, ARM Limited and Contributors. All rights reserved.
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions are met:
- Redistributions of source code must retain the above copyright notice, this
- list of conditions and the following disclaimer.
- Redistributions in binary form must reproduce the above copyright notice,
- this list of conditions and the following disclaimer in the documentation
- and/or other materials provided with the distribution.
- Neither the name of ARM nor the names of its contributors may be used
- to endorse or promote products derived from this software without specific
- prior written permission.
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
- LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- POSSIBILITY OF SUCH DAMAGE.
*/

-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
On 02/28/2014 01:18 PM, Darwin Rambo wrote:
Given the ARM header below, is this code possible to put into u-boot?
For reference, I see this discussion below. http://lists.denx.de/pipermail/u-boot/2011-November/110884.html
If this is not acceptable, presumably due to the "All rights reserved" and "Redistribution in binary form..." clauses below, we could try to find an alternative implementation that is GPL2.0+ licensed or rewrite the parts we need from scratch.
Any suggestions you have would be most welcome. Thanks.
So, that particular discussion was about fastboot, and in that particular case everything is OK, in the long run (I poked TI's lawyers about that). We're just missing a clean design version being ported and I know of a few groups / companies leaning on another entity to do so.
But with your particular quoted header, I think we cannot use it as it puts restrictions on the binary redistribution as well.
- -- Tom

On 14-02-28 10:49 AM, Tom Rini wrote:
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
On 02/28/2014 01:18 PM, Darwin Rambo wrote:
Given the ARM header below, is this code possible to put into u-boot?
For reference, I see this discussion below. http://lists.denx.de/pipermail/u-boot/2011-November/110884.html
If this is not acceptable, presumably due to the "All rights reserved" and "Redistribution in binary form..." clauses below, we could try to find an alternative implementation that is GPL2.0+ licensed or rewrite the parts we need from scratch.
Any suggestions you have would be most welcome. Thanks.
So, that particular discussion was about fastboot, and in that particular case everything is OK, in the long run (I poked TI's lawyers about that). We're just missing a clean design version being ported and I know of a few groups / companies leaning on another entity to do so.
But with your particular quoted header, I think we cannot use it as it puts restrictions on the binary redistribution as well.
Thanks Tom. If we were to create a small bit of arm-specific semihosting code without the licensing restrictions, and it were acceptable to the maintainers to upstream, would it best live in u-boot/arch/arm/lib/semihosting.c or in u-boot/lib/semihosting.c? I was thinking that arch/arm/lib might be the better place for it, especially since it can support both armv7 and armv8 platforms. The semihosting.h file might live in arch/arm/include/asm?
BTW the proposal for this is to be able to use the ARM Trusted Firmware (ATF) to load the various ATF images, plus u-boot, which can then load the kernel/ramdisk/dtb from a standard arm board file using semihosting, and then launch the kernel without a bootwrapper. This gives us a more realistic boot sequence. Thanks!
Regards, Darwin
Tom -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.11 (GNU/Linux) Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/
iQIcBAEBAgAGBQJTENovAAoJENk4IS6UOR1WuUYP/RukZAEnPLM4IEEIMpa9tAir J7FUa+zIJKerQfNQ+rrW5/sWGG2Zj/1A8twjcs7W8KXrbbaQEr+jpQRPspS3pa5q bmfeBDclNpuwqXtzeQvm6eNWVbkq0+4fJ25AI7fL1EuhpGFmcPfXoAW4DOFBJBUW B11BHzHO1PuWl+7fm5PLBT/kMjB8rv8gx6rhyNxp0f3/aN+U4GkSNvVBXo8cBOWm 4gO2dqWM299e3x2GYVKBbYwbAydBXXOjwpa3VoGljJPiz5iBT1DrMJV9R37kTRkj D07PUlV2aMNdZv+dNxV1FOce/bhcT8iRWyzUSlecPrNWDWp7nFaIaGBpDHh8iRKA thB7LlT1hQI88ksQH923CBaa2N1N/HgYtXYSiwRXx8bQexLIBieCvfUsHxqtWKRQ r+bf3febP0MYiU5BCHKHHpY3zfERGRIVmgAs/7khtm038ORAIxWLX7myvQyubfBz jRbwkZfpR1UXQ8g6zcbRah9mB12foVURF8a67v+9JC7p4/Jrrjb3ARgw8LwA61de kiqjUr3qDfEcow9KTxZPVFi5gLJXTSdMPzgrs/2cCJ2jFnN/olGd//eGaIZUzf6P 7L2oOEwv2i7p4FwwciTGhQWCfLO3YzU0MHnFJsHu+NaDdUxhpf/X/zwcAHvQqrc+ L6bmYpnta9ViVwJHzOSS =Si6y -----END PGP SIGNATURE-----

-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
On 03/06/2014 03:43 PM, Darwin Rambo wrote:
On 14-02-28 10:49 AM, Tom Rini wrote: On 02/28/2014 01:18 PM, Darwin Rambo wrote:
Given the ARM header below, is this code possible to put into u-boot?
For reference, I see this discussion below. http://lists.denx.de/pipermail/u-boot/2011-November/110884.html
If this is not acceptable, presumably due to the "All rights reserved" and "Redistribution in binary form..." clauses below, we could try to find an alternative implementation that is GPL2.0+ licensed or rewrite the parts we need from scratch.
Any suggestions you have would be most welcome. Thanks.
So, that particular discussion was about fastboot, and in that particular case everything is OK, in the long run (I poked TI's lawyers about that). We're just missing a clean design version being ported and I know of a few groups / companies leaning on another entity to do so.
But with your particular quoted header, I think we cannot use it as it puts restrictions on the binary redistribution as well.
Thanks Tom. If we were to create a small bit of arm-specific semihosting code without the licensing restrictions, and it were acceptable to the maintainers to upstream, would it best live in u-boot/arch/arm/lib/semihosting.c or in u-boot/lib/semihosting.c? I was thinking that arch/arm/lib might be the better place for it, especially since it can support both armv7 and armv8 platforms. The semihosting.h file might live in arch/arm/include/asm?
BTW the proposal for this is to be able to use the ARM Trusted Firmware (ATF) to load the various ATF images, plus u-boot, which can then load the kernel/ramdisk/dtb from a standard arm board file using semihosting, and then launch the kernel without a bootwrapper. This gives us a more realistic boot sequence. Thanks!
I would say arch/arm/lib/semihosting.c and arch/arm/include/asm/semihosting.h, Albert?
- -- Tom

Darwin Rambo drambo@broadcom.com writes:
Given the ARM header below, is this code possible to put into u-boot?
For reference, I see this discussion below. http://lists.denx.de/pipermail/u-boot/2011-November/110884.html
If this is not acceptable, presumably due to the "All rights reserved" and "Redistribution in binary form..." clauses below, we could try to find an alternative implementation that is GPL2.0+ licensed or rewrite the parts we need from scratch.
Any suggestions you have would be most welcome. Thanks.
Regards, Darwin Rambo
/*
- Copyright (c) 2013-2014, ARM Limited and Contributors. All rights reserved.
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions are met:
- Redistributions of source code must retain the above copyright notice, this
- list of conditions and the following disclaimer.
- Redistributions in binary form must reproduce the above copyright notice,
- this list of conditions and the following disclaimer in the documentation
- and/or other materials provided with the distribution.
- Neither the name of ARM nor the names of its contributors may be used
- to endorse or promote products derived from this software without specific
- prior written permission.
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
- LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- POSSIBILITY OF SUCH DAMAGE.
*/
This is the standard 3-clause BSD licence, just without the usual explicit numbering. According to the FSF [1], it is compatible with the GPL.
[1] http://www.gnu.org/licenses/license-list.html#ModifiedBSD
participants (3)
-
Darwin Rambo
-
Måns Rullgård
-
Tom Rini