Firmware licensing

Hello,
we’re considering usage of TX2 in commercial products. I have concern about the license terms, as it’s pretty restrictive.
Could an NVIDIA employee inform if the firmware blobs being part of L4T release fall into Linux/FreeBSD exception 2.1.2?
Which software components being part of L4T are “designed exclusively for use on the Linux or FreeBSD operating systems” or which are not?

Best regards,
Piotr Figiel.

Hi p.figiel

Please refer to the Licenses section from Tegra Linux Driver Package Development Guide, you can find all SW component license information from there, link https://developer.nvidia.com/embedded/dlc/l4t-documentation-28-2-ga

Thanks

Hi kayccc,

yes, I’m aware of that page and the license contents. According to the documents you ask me to refer to the “License For Customer Use of NVIDIA Software” applies to nv_tegra directory from L4T.

This nv_tegra directory contains among other files the firmware blobs needed in runtime.

According to the license terms section 2.1.1 we are not granted right to redistribute L4T components (nv_tegra directory). But there is an exception in the license text:

Notwithstanding the foregoing terms of Section 2.1.1, SOFTWARE designed exclusively for use on the Linux or FreeBSD operating systems, or other operating systems derived from the source code to these operating systems, may be copied and redistributed, provided that the binary files thereof are not modified in any way (except for unzipping of compressed files).

Again my question is - which components fall into this exception? Is firmware “designed exclusively for use on the Linux or FreeBSD operating systems…”?

Also how is the mb1 boot loader licensed? According to the LICENSE file in bootloader directory it seems to be the same license text. Was mb1 boot loader “designed exclusively for use on the Linux…” or is it also not allowed to distribute it?

I’m not a lawyer but this seems to limit any commercial use of TX2 unless you can grant a different license on some additional terms. Is this possible?

Also it seems that there are couple different license texts referring to the same piece of software, which one is valid? There is different license text in the file being part of the documentation package, compared to one within the L4T binary release and separate download (https://developer.download.nvidia.com/embedded/L4T/r28_Release_v2.1/Tegra_Software_License_Agreement-Tegra-Linux.txt). Especially section 2.1.2 text differs:

In separate download and binary release:

2.1.1  Rights.  Customer may install and use multiple copies of the
SOFTWARE on a shared computer or concurrently on different computers,
and make multiple back-up copies of the SOFTWARE, solely for Customer's
use within Customer's Enterprise. "Enterprise" shall mean individual use
by Customer or any legal entity (such as a corporation or university)
and the subsidiaries it owns by more than fifty percent (50%).

In documentation package:

2.1.1 Rights.
Customer may install and use one copy of the SOFTWARE on a single computer, and except for making one back-up copy of the Software, may not otherwise copy the SOFTWARE. This LICENSE of SOFTWARE may not be shared or used concurrently on different computers.

.

FYI, anything from the sample rootfs is purely Ubuntu. Everything there is licensed exactly as what you would find from the same packages under a desktop PC release. The driver package itself applies drivers and firmware onto the rootfs subdirectory of the driver package during command line flash (and JetPack does this as a front end).

The “apply_binaries.sh” script itself has an option to apply to a specific directory other than “rootfs/”, so you might do this just to see what is there. Example:

mkdir alt_binaries
sudo ./apply_binaries.sh -r ./alt_binaries

The sample rootfs is itself self-contained.

U-Boot might have some separate license, not sure what it uses.