
GR00T N1.5 is non-commercial and N1.7 is not. Pi0.5's Apache repo ships a Gemma licence. SmolVLA declares none. What each robot policy licence permits, verified at source.
The OpenVLA model card on Hugging Face says the weights are MIT: "All OpenVLA checkpoints, as well as our training codebase are released under an MIT License." The README in the OpenVLA repository, written by the same team, says the opposite: the pretrained models "are derived from Llama-2, and as such are subject to the Llama Community License." Both were live on 23 August 2026. Only one survives a legal review.
"Open weights" and "open source" are not the same thing. A vision-language-action model ships as three separable layers: training code, model parameters, and the data behind them. Each carries its own terms, and a badge only describes the first. Below: what each of the five policies you can fine-tune here is licensed under, the document that says so, and where two official documents disagree.
What you need to know
- •GR00T N1.7 weights are under the NVIDIA Open Model License (24 October 2025), which permits commercial use. GR00T N1.5 and GR00T N1 weights are under the NVIDIA OneWay Noncommercial License. Same repo, same Apache-2.0 code, opposite answers on shipping.
- •The Isaac-GR00T README says in one place that N1.7 is "fully commercially licensable under Apache 2.0" and in another that the weights are under the NVIDIA Open Model License. Apache-2.0 covers code only.
- •Pi0.5 lives in an Apache-2.0 repo that also ships LICENSE_GEMMA.txt. The LeRobot base checkpoint declares license: gemma, and serving a derivative over an API counts as Distribution.
- •The lerobot/smolvla_base card declares no licence, and the SmolVLA paper never uses the word "license" in 24 pages.
- •ACT is the clean case: there is no ACT base model at all. Its one catch is an ImageNet-pretrained ResNet-18 loaded by default.
- •This reads published documents as of 23 August 2026. It is not legal advice.
Open weights, open source, and the word the OSI actually defined
The Open Source Initiative's Open Source AI Definition 1.0 is the only widely cited attempt to pin the phrase down for a trained policy. It grants four freedoms (use, study, modify, share) and then lists what must be published for them to be exercisable. That list is where robot models fall over.
| OSAID 1.0 component | What it demands | What robot policies publish |
|---|---|---|
| Data Information | Enough that a skilled person could rebuild an equivalent system, plus a listing of public training data | A prose paragraph. GR00T N1 gives its dataset licence as "Release Legal Tracker (GR00T-N1)", an internal reference nobody outside NVIDIA can read |
| Code | Full training and inference source under an OSI-approved licence | Present: Isaac-GR00T, openpi, lerobot, openvla and octo are Apache-2.0 or MIT |
| Parameters | The weights, under OSI-approved terms | Rarely. NVIDIA Open Model License, Gemma Terms and Llama Community License are custom, not OSI licences |
For any checkpoint going on a robot you sell: (1) what licence covers the code, (2) what covers the parameter file, a separate artifact hosted elsewhere, (3) what terms attach to the training data. Answer 2 decides whether you can ship, and the badge never tells you.
The licence of every policy you can train today
Every cell below was read from the live source on 23 August 2026.
| Policy | Code licence | Weights licence | Commercial? | Where it says so |
|---|---|---|---|---|
| GR00T N1.7 | Apache-2.0 (Isaac-GR00T) | NVIDIA Open Model License, 24 Oct 2025 | Yes, with notice plus Cosmos attribution | Model card plus repo README |
| GR00T N1.5 | Apache-2.0 (same repo) | NVIDIA License (the OneWay Noncommercial PDF) | No. Card: "ready for non-commercial use" | Model card License/Terms of Use |
| Pi0.5 | Apache-2.0 (openpi) | Gemma Terms of Use | Yes, with pass-through duties | openpi root plus pi05_base frontmatter |
| SmolVLA | Apache-2.0 (lerobot) | Not declared | Undetermined | smolvla_base has no license field |
| ACT | MIT (original), Apache-2.0 (LeRobot) | No pretrained weights exist | Yes, subject to your data | Repo LICENSE files and headers |
| OpenVLA | MIT | Card says MIT; repo README says Llama Community License | Contested by two official docs | Model card versus repo README |
| Octo | MIT | MIT | Yes | Repo LICENSE and octo-base card |

GR00T: one repository, two opposite sentences
The GR00T N1.7 case shows why a single line is never enough. The Isaac-GR00T README contains both of these, about 530 lines apart.
# Isaac-GR00T README, line 70:
GR00T N1.7 is fully commercially licensable under Apache 2.0. It delivers
comparable performance to N1.6, with improved generalization ...
# Isaac-GR00T README, License section, line 599:
## License
- **Code:** Apache 2.0 - see [LICENSE](LICENSE)
- **Model weights:** [NVIDIA Open Model License](...)The License section is correct, and the card agrees: "This model is released under the NVIDIA Open Model License Agreement", described as "ready for commercial/non-commercial use". So N1.7 is shippable. The line-70 phrasing is loose rather than malicious, but quote it in a compliance document and you have cited the wrong licence.
Distributing the model or a derivative requires the notice "Licensed by NVIDIA Corporation under the NVIDIA Open Model License". Because the backbone is Cosmos-Reason2-2B, the Cosmos clause adds "Built on NVIDIA Cosmos" in your documentation, website or interface. The licence terminates automatically on patent or copyright litigation, or on circumventing a safety guardrail. NVIDIA claims no ownership in outputs.
The GR00T N1.5 card states "This model is ready for non-commercial use" and links a PDF headed only "NVIDIA License"; the name OneWay Noncommercial and the date 22 March 2022 live in the filename, not in the document. Open it anyway: section 3.3 defines "non-commercially" as "for research or evaluation purposes only", narrower than most readers assume. The GR00T N1 (2B) card links the same PDF but carries no "ready for" sentence at all. Building a product rather than a paper, pick N1.7: the head-to-head covers the rest.

A smaller wrinkle on the same card: the line announcing the backbone reads "GR00T-N1.7 VLM backbone is now Cosmos-Reason2-2B" while the link under it points at Cosmos-Reason2-8B. Both pages resolve and carry the same licence, which is why nobody has noticed.
Pi0.5: an Apache-2.0 repository with a second licence file in it
The Pi0.5 code lives in Physical Intelligence's openpi repository. GitHub reports it as Apache-2.0, which is right for the code. The repository root holds two licence files.
$ ls # openpi repository root
CONTRIBUTING.md
LICENSE <- Apache License 2.0
LICENSE_GEMMA.txt <- "Gemma Terms of Use, Last modified: February 21, 2024"
README.md
docs/ examples/ packages/ scripts/ src/ third_party/The reason is architectural: Pi0.5 is a flow matching policy on a PaliGemma backbone, and PaliGemma ships under the Gemma Terms of Use, not an OSI licence. That propagates to the LeRobot mirror of the base checkpoint, which is the artifact this platform fine-tunes. Its frontmatter says so in one line.
---
language:
- en
library_name: lerobot
pipeline_tag: robotics
tags:
- vision-language-action
- imitation-learning
- lerobot
inference: false
license: gemma
---- A fine-tuned Pi0.5 checkpoint is a "Model Derivative", defined as any modification to Gemma or work based on it.
- "Distribution" explicitly includes "providing or making Gemma or its functionality available as a hosted service via API, web access, or any other electronic or remote means". Serving your policy from a cloud endpoint is Distribution.
- On distribution you must pass the Section 3.2 use restrictions through in your own enforceable terms, give recipients a copy of the agreement, and mark modified files. The Notice file reading "Gemma is provided under and subject to the Gemma Terms of Use found at ai.google.dev/gemma/terms" is required for every Distribution other than through a Hosted Service, so the API case skips that one duty.
- Google reserves the right to restrict usage, remotely or otherwise, of anything it reasonably believes breaches the agreement.
- Outputs are not Model Derivatives and Google claims no rights in them. The joint angles your policy emits are yours.
LICENSE_GEMMA.txt in openpi is stamped "Last modified: February 21, 2024". The live terms at ai.google.dev/gemma/terms are stamped 1 April 2026. Diff them: every clause quoted above is unchanged, but Section 4.1 dropped the 2024 duty to "make reasonable efforts to use the latest version of Gemma", and the list of covered models moved into an Appendix that names PaliGemma outright. Fetch the live version and record the date.
SmolVLA: the licence field is empty
The SmolVLA code is unambiguous: lerobot is Apache-2.0 and the SmolVLM-2 backbone checkpoints are Apache-2.0. The weights are the problem, because there is nothing there to read. The lerobot/smolvla_base frontmatter ends at inference: false with no license key, the Hub API returns none, and the SmolVLA paper does not contain the string "license" once in 24 pages.
# check any Hugging Face repo's declared licence without cloning it
curl -s https://huggingface.co/api/models/lerobot/smolvla_base \
| python3 -c "import sys,json; c=json.load(sys.stdin).get('cardData',{}); \
print('license:', c.get('license'), '| name:', c.get('license_name'))"
# license: None | name: None
curl -s https://huggingface.co/api/models/lerobot/pi05_base \
| python3 -c "import sys,json; print(json.load(sys.stdin)['cardData'].get('license'))"
# gemmaThis is not bad faith. By the OSAID standard SmolVLA is the most open model here, because the team published the data too: pretraining used a filtered subset of 481 community datasets from the Hub, 22.9K episodes and 10.6M frames. GR00T and Pi0.5 publish nothing comparable. But undeclared is undeclared, and those 481 LeRobot datasets came from hobbyists whose licence fields drift as described below. If you need a written permission for a reviewer, open an issue on the lerobot repository.
ACT: clean, with one ImageNet-shaped asterisk
The ACT case is easy structurally: there is no ACT base model. It trains from scratch on your task, so no vendor checkpoint enters your build. The original ALOHA repository is MIT, copyright 2023 Tony Z. Zhao; the LeRobot port carries an Apache-2.0 header crediting Zhao and Hugging Face; the action chunking model definitions are adapted from DETR, which is Apache-2.0. Every layer is OSI-approved. The asterisk is in the default config.
# lerobot/src/lerobot/policies/act/configuration_act.py
chunk_size: int = 100
n_action_steps: int = 100
vision_backbone: str = "resnet18"
pretrained_backbone_weights: str | None = "ResNet18_Weights.IMAGENET1K_V1"The torchvision code is BSD-3-Clause, but the ImageNet terms of access state that "Researcher shall use the Database only for non-commercial research and educational purposes", and bind a for-profit employer too. Whether that reaches a downstream ResNet-18 weight file has never been tested. To make the argument not exist, set pretrained_backbone_weights: null and train the vision tower from random init, at the cost of more episodes.
OpenVLA and Octo: two MITs that mean different things
Back to the opening. The OpenVLA card declares license: mit in frontmatter, states "License: MIT" in the model summary, and asserts MIT for all checkpoints. The repository README, under "Explicit Notes on Model Licensing & Commercial Use", says the pretrained models inherit restrictions from Llama-2 and fall under the Llama Community License. The upstream Prismatic authors say the same about their own weights.
That difference is not academic. The Llama Community License adds a notice requirement, an acceptable use policy, a bar on improving competing language models, and a separate-licence trigger above 700 million monthly active users. MIT adds none of those. Because Hugging Face indexes the frontmatter, filtering the Hub by MIT returns openvla-7b, so the less careful document is the one everyone sees. Octo is the counterexample: MIT repo, MIT card, a T5-Base language encoder rather than a restrictively licensed LLM, 93 M parameters. Small models on permissive backbones do not accumulate licence debt.
The data layer, where the drift is worst
Dataset licences degrade every time somebody re-uploads a dataset in a new format. The clearest instance sits in NVIDIA's own N1.7 card, which names its SimplerEnv Bridge data as a LeRobot conversion of BridgeData V2.
| Dataset | Licence at the original source | Licence on the Hub re-upload | Note |
|---|---|---|---|
| BridgeData V2, 60,096 trajectories | CC BY 4.0, on the Berkeley project page | apache-2.0, on IPEC-COMMUNITY/bridge_orig_lerobot | Re-upload lists Homepage and Paper as "More Information Needed" |
| Open X-Embodiment, 60 source datasets | Apache-2.0 software, CC BY 4.0 for "all other materials", plus each component's terms | Varies per subset | The collection licence does not override a component's terms |
| GR00T-X-Embodiment-Sim | cc-by-4.0, declared by NVIDIA | Same | Attribution required, which most writeups omit |
| SVLA SO100 PickPlace | apache-2.0 | Same | The SmolVLA reference set, 50 episodes |
A CC BY 4.0 dataset relabelled apache-2.0 by a converter is not thereby Apache-2.0. CC BY requires attribution and Apache-2.0 does not, so training on the re-upload drops an obligation you never knew you had. Open the converted card, find the original project page, compare. Open X-Embodiment states its own split plainly: software Apache-2.0, all other materials CC BY 4.0. Practise on the dataset directory: read the licence before the episode count.
Auditing a policy's licence in about five minutes
Short enough that skipping it is a choice, and it catches every contradiction above.
- 1Read the weights frontmatter, not the rendered page
An absent licence renders as no badge, not a warning. Query the API so it shows as
None.bashfor m in nvidia/GR00T-N1.7-3B nvidia/GR00T-N1.5-3B lerobot/pi05_base lerobot/smolvla_base; do echo -n "$m -> " curl -s "https://huggingface.co/api/models/$m" \ | python3 -c "import sys,json; c=json.load(sys.stdin).get('cardData',{}); print(c.get('license'), c.get('license_name'))" done - 2Look for a second licence file in the repository
GitHub's detector reports one LICENSE. A second file means the project knows the code and the weights differ.
bashgit clone --depth 1 https://github.com/Physical-Intelligence/openpi ls openpi | grep -i licen # LICENSE # LICENSE_GEMMA.txt - 3Grep the README and read every hit
Do not skim. The contradictions live between the first hit and the last.
bashcurl -s https://raw.githubusercontent.com/NVIDIA/Isaac-GR00T/main/README.md \ | grep -n -i "licen\|commercial" # 70: ... fully commercially licensable under Apache 2.0 ... # 601: - **Code:** Apache 2.0 # 602: - **Model weights:** NVIDIA Open Model License - 4Walk up the backbone chain until the terms have no parent
GR00T N1.7 leads to Cosmos-Reason2-2B, Pi0.5 to PaliGemma, OpenVLA to Prismatic and then Llama-2. Note gating: a gated backbone is an account dependency.
bashcurl -s https://huggingface.co/api/models/nvidia/Cosmos-Reason2-2B \ | python3 -c "import sys,json; d=json.load(sys.stdin); print(d['cardData'].get('license_name'), '| gated:', d.get('gated'))" # nvidia-open-model-license | gated: auto - 5Archive what you read, with the date
Upstream edits model cards without a history a reviewer can follow. The copy you can produce in six months is the only one that counts.
bashd=$(date +%F); mkdir -p licence-audit/$d curl -sL https://huggingface.co/nvidia/GR00T-N1.7-3B/raw/main/README.md \ -o licence-audit/$d/groot-n17-card.md curl -sL https://raw.githubusercontent.com/Physical-Intelligence/openpi/main/LICENSE_GEMMA.txt \ -o licence-audit/$d/openpi-gemma-terms.txt
Doing it yourself versus doing it here
You clone the trainer and fetch the base checkpoint yourself, so you own the whole chain, including noticing which checkpoint you took. The two GR00T base models differ by one character in the path and by commercial versus non-commercial in the terms.
# GR00T N1.7: weights under NVIDIA Open Model License, commercial use permitted
CUDA_VISIBLE_DEVICES=0 uv run python \
gr00t/experiment/launch_finetune.py \
--base-model-path nvidia/GR00T-N1.7-3B \
--dataset-path demo_data/cube_to_bowl_5 \
--embodiment-tag NEW_EMBODIMENT \
--modality-config-path examples/SO100/so100_config.py \
--num-gpus 1 \
--output-dir /tmp/test_finetune \
--max-steps 2000 \
--global-batch-size 32 \
--dataloader-num-workers 4
# change 1.7 to 1.5 above and your output checkpoint is non-commercial.
# Nothing in the CLI output will say so.# Pi0.5 via openpi: Apache-2.0 code, Gemma-licensed weights
uv run scripts/compute_norm_stats.py --config-name pi05_libero
XLA_PYTHON_CLIENT_MEM_FRACTION=0.9 uv run scripts/train.py pi05_libero \
--exp-name=my_experiment --overwrite
# SmolVLA via lerobot: Apache-2.0 code, undeclared weights licence
lerobot-train \
--policy.path=lerobot/smolvla_base \
--dataset.repo_id=${HF_USER}/mydataset \
--batch_size=64 --steps=20000 \
--output_dir=outputs/train/my_smolvla \
--policy.device=cudaComplete provenance. You know the URL every byte came from and can archive the licence text next to the checkpoint. For anything that will be audited, this is the right answer.
The training form picks model and dataset, the backend rents a GPU sized by required VRAM, runs the trainer and writes checkpoints to object storage. The base checkpoints are the vendors' own, unmodified: nvidia/GR00T-N1.7-3B, nvidia/GR00T-N1.5-3B and lerobot/pi05_base. ACT has no base model, because it only exists after training on your task.
| Policy | GPU tier | Cost per run | Weights licence you inherit |
|---|---|---|---|
| GR00T N1.7 | A100 80 GB or H100 | 4 to 12 USD | NVIDIA Open Model License |
| GR00T N1.5 | A100 80 GB or H100 | 4 to 12 USD | NVIDIA OneWay Noncommercial |
| Pi0.5 | A100 80 GB or H100 | 4 to 12 USD | Gemma Terms of Use |
| SmolVLA | RTX 4090 or any 24 GB card | 1 to 3 USD | Not declared upstream |
| ACT | RTX 4090 or any 24 GB card | 1 to 3 USD | None inherited |
Because the base checkpoint is the vendor's own file, you inherit exactly the licence in that table and the audit routine above applies unchanged. The platform removes GPU provisioning and format conversion, not the reading. See the training docs and pricing.
There is no licence gate on the training form. Selecting GR00T N1.5 produces a working checkpoint and says nothing about the NVIDIA OneWay Noncommercial License you just bound your output to. The N1.7 on SO-100 guide is the commercial-safe default for this arm.
Whether restrictive weights are worth it
- ACT brings no upstream weights at all, and Octo's are MIT: retain the copyright notice and you are done. No acceptable use policy, no termination clause.
- ACT runs at about 20 ms per action step against 152 ms for GR00T N1.7 and 485 ms for Pi0.5, which matters more than licence text once the arm moves.
- The 24 GB tier costs about 1 to 3 USD per run against 4 to 12 USD for the 80 GB tier, so licence-clean experiments are also the cheap ones.
- No gated backbone. Cosmos-Reason2-2B is gated on the Hub, one more account in your build pipeline.
- ACT needs 50 episodes here and has no language conditioning, so one checkpoint means one task. GR00T and Pi0.5 bring pretrained world knowledge it cannot fake.
- SmolVLA is the middle ground at about 450 M parameters and 30 minimum episodes, but an undeclared licence is arguably worse than a restrictive one you can read.
- The NVIDIA Open Model License does permit commercial use, so avoiding N1.7 on licence grounds alone is overcautious.
- None qualifies as open source AI under OSAID 1.0, so "pick the open source one" is not an available strategy.
What this platform does not solve
AY-Robots rents GPUs, runs vendor trainers on your LeRobot dataset and serves the result. It does not grant you a licence, indemnify you, audit the dataset you supplied, or warn you when the model you picked is non-commercial. Your checkpoint carries whatever terms the vendor's base checkpoint carried.
A second limit shapes what you can ship at all: inference has to sit next to the servos for fast tasks. The control loop runs at 20 to 485 ms per action step depending on model, and public-internet round trips turn a working policy into a hesitant one. The inference pod auto-provisions a GPU and kills itself on an idle watchdog so nothing bills silently, but no watchdog fixes the speed of light. Cloud inference suits slow pick-and-place, not fast reactive motion.

It helps indirectly: every benchmark number in the arena links to the paper or model card it came from, the same document that carries the licence.
85 models, 332 benchmark results, every number sourced
Vision-language-action models side by side, each score linked to the paper or model card it came from, which is the same page where the licence is written. Compare capability and terms in one pass.
Open the arenaA default that survives a legal review
One recommendation instead of a matrix: for a commercial SO-100 product, fine-tune GR00T N1.7, archive the NVIDIA Open Model License text with the date you fetched it, and put the required notice plus "Built on NVIDIA Cosmos" in your documentation. For research, anything here works including GR00T N1.5. For a product with no upstream weight terms at all, train ACT on your own imitation learning data with the ImageNet backbone disabled, and pay for that cleanliness in episodes.
One last licence-adjacent trap: a LeRobot v3.0 dataset crashes the GR00T loader and must be converted down to v2.1, and conversion is exactly where a licence field gets rewritten by whoever ran the script. See the dataset version failure mode, and the first-policy walkthrough. Further reading: how VLA models work, the flow matching lineage behind Pi0.5, and Open X-Embodiment, whose per-dataset terms sit under most of these models.
Can I sell a robot product that runs a fine-tuned GR00T N1.7 policy?▾
By the terms published on 23 August 2026, yes. The N1.7 card releases the model under the NVIDIA Open Model License Agreement and calls it "ready for commercial/non-commercial use". Distributing the model or a derivative requires the notice "Licensed by NVIDIA Corporation under the NVIDIA Open Model License", and because the backbone is Cosmos-Reason2-2B you must also display "Built on NVIDIA Cosmos". GR00T N1.5 and GR00T N1 point at the NVIDIA OneWay Noncommercial License instead.
The repo says Apache-2.0. Why is that not enough?▾
A repository licence covers the files in it, which are code. Weights are a separate artifact hosted elsewhere with their own terms. Isaac-GR00T says so in its License section: code Apache 2.0, model weights NVIDIA Open Model License. openpi is Apache-2.0 and ships LICENSE_GEMMA.txt for the same reason.
What does it mean that SmolVLA's weights have no licence?▾
No permission has been documented where permissions normally are. The card has no license field, the Hub API returns none, and the paper never uses the word. The code is Apache-2.0 and the intent is clearly open, but intent is not a grant. Ask the lerobot maintainers in writing.
Does fine-tuning strip the base model's licence?▾
No. Every set of terms here reaches derivatives explicitly. Gemma defines "Model Derivatives" to include any modification or work based on Gemma; the NVIDIA Open Model License covers Derivative Models; the Llama Community License covers derivative works. Outputs differ: Google and NVIDIA both disclaim ownership of what the model produces, so the joint angles your policy emits are yours.
Is serving a policy over an API the same as distributing it?▾
Under the Gemma terms, yes. Distribution includes "providing or making Gemma or its functionality available as a hosted service via API, web access, or any other electronic or remote means", so a Pi0.5 derivative behind an endpoint a customer's robot calls triggers the distribution obligations. Other licences draw the line elsewhere, which is why the layer-by-layer read matters.
Are any of these actually open source AI?▾
Not by the Open Source Initiative's Open Source AI Definition 1.0, which requires Data Information, Code and Parameters under open terms. All publish code openly; none publishes Data Information at the level the definition asks for. SmolVLA comes closest, since its 481 pretraining datasets are named and public, but its weights carry no declared terms.
Sources
- Open Source Initiative, Open Source AI Definition 1.0: Data Information, Code, Parameters
- NVIDIA Isaac-GR00T repository: README and Apache-2.0 LICENSE
- GR00T N1.7 3B model card, NVIDIA Open Model License section
- GR00T N1.5 3B model card, "ready for non-commercial use"
- NVIDIA Open Model License Agreement, version dated 24 October 2025
- NVIDIA License (the OneWay Noncommercial PDF), section 3.3: research or evaluation purposes only
- openpi repository: LICENSE (Apache-2.0) alongside LICENSE_GEMMA.txt
- lerobot/pi05_base model card, frontmatter license: gemma
- Gemma Terms of Use: distribution, Model Derivatives, hosted services
- lerobot/smolvla_base model card, no license field declared
- SmolVLA: A Vision-Language-Action Model for Affordable and Efficient Robotics
- ACT reference implementation, MIT License, Copyright 2023 Tony Z. Zhao
- OpenVLA 7B model card claiming MIT for all checkpoints
- OpenVLA repository, "Explicit Notes on Model Licensing & Commercial Use"
- BridgeData V2 project page, released under CC BY 4.0
Ready for high-quality robotics data?
AY-Robots connects your robots to skilled operators worldwide.
Get Started