Jetpack 6.2.1 license

Beware that you posted in the older Nano forum, not the Orin Nano forum. If someone from NVIDIA sees this you might move it to Orin Nano.

FYI, the flash software does not cost anything extra. What gets flashed is essentially starts as purely Ubuntu, and this is where most of the licensing comes from. You’d have to check anything specific, but basically you can think of building products with Ubuntu Linux providing most of the licensing. There is some NVIDIA content added to the Ubuntu, and so far as I know (do check specific cases) this content is free to use and distribute as well (you couldn’t claim ownership though). There is also boot chain software, and software which is equivalent to a BIOS (Jetsons don’t have a hardware BIOS, but they have something similar or equivalent in software), and this seems to be the same as the NVIDIA content which supplements the Ubuntu.

Almost all of the content can be modified. Most of what you find has source code provided if you look closely enough. There is some software (not much) which is binary only and does not have source code. Technically this would be the same licensing, but there isn’t really a means to modify it in any useful way (binary-only content is rare). The boot chain has a lot of customizable software, and the operating system is virtually all available.

If you are a distributor, and if you distribute the means to flash, then you might be interested in what some of the other distributors do. For background, the firmware known as the “device tree” more or less tells drivers where to find specific hardware, and pairs a list of compatible drivers. Because a Jetson module has multiple pin assignments with configurable function you need to set up the device tree to pick a particular function. The sample software which comes with a developer’s kit expects the carrier board from that kit; it is a pairing of which pin goes to which hardware in order for software to find that hardware and load the driver to it. If your custom carrier board is the same layout (electrically) as the dev kit carrier board, then you don’t need to modify anything and can just use NVIDIA’s flash software directly.

If your carrier board differs in some specific way, e.g., if the video connector uses a different pin on the module and you don’t adjust the device tree to use the correct pin, then most of the Jetson would still work, while the video would fail.

Many third party companies sell their own carrier board with some customization. In that case they tend to choose one of these options:

  • Provide a patch to the NVIDIA flash software; mostly this is a device tree modification.
  • Provide a rebranded full flash environment (the end flash product would mainly be a modified device tree relative to default flash software). Other software or drivers might be added.

You couldn’t claim ownership of the NVIDIA flash software, and you would have to check details, but for the most part a distributor can also distribute flash software (perhaps with some footnote of NVIDIA’s software being theirs, and Ubuntu’s software being others, so on…it is usually a case of not claiming ownership).

Note that a developer’s kit only has a warranty to the original purchaser, and if you were to sell a product with a dev kit in it, then you would be responsible for warranty. If you purchase a commercial module (any module not purchased as a developer’s kit, and requiring your custom carrier board), then warranty for that module is transferable to the end customer.

During a installation the Jetson is a custom USB device (recovery mode), and understood only by the custom USB driver (appropriately named the “driver package” when looking at downloads). JetPack/SDK Manager downloads this automatically in the background and is a front end GUI to the flash software. A one time command (which JetPack/SDKM performs if not doing this manually without JetPack) adds content onto an otherwise purely Ubuntu operating system. Because of this you will see a note of licensing (when performed manually) for the content which overlays the Ubuntu content. The subtle meaning behind this is that NVIDIA does not distribute a modified Ubuntu; it is the end user who modifies the Ubuntu with NVIDIA’s content at this point in time. Once that step is performed you can flash as many times as you want. You can also modify and customize most of the o/s before flashing in any way you might modify Ubuntu. The boot chain is somewhat custom, but the o/s itself is rather standard.

For a list of compatible flash content, and if you want to examine individual packages (the “driver package” plus “sample root filesystem” are the basic flash content), see:
https://developer.nvidia.com/linux-tegra