Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
105 commits
Select commit Hold shift + click to select a range
de09b83
Added timestamp knowledge to agent prompt and info (#1093)
ClaireBookworm Jan 23, 2026
abf24e8
remove README_installation.md and old module docs (#1101)
paul-nechifor Jan 24, 2026
78edb1f
Task/universal schema for joints and hardware ids (#1040)
mustafab0 Jan 24, 2026
f44f5bf
Day1 Docs
jeff-hykin Jan 24, 2026
6b781a5
autogenerate list of blueprints (#1100)
paul-nechifor Jan 25, 2026
6bdfdff
remove base-requirements (#1098)
paul-nechifor Jan 25, 2026
00295e6
mark e2e (#1110)
paul-nechifor Jan 25, 2026
3dcd812
feat: add DimosROS benchmark tests (#1087)
leshy Jan 25, 2026
562ab0f
add observe skill to go2 (#1109)
paul-nechifor Jan 25, 2026
f6264c1
docs: update transports documentation (#1107)
leshy Jan 25, 2026
00b8207
fix: default to rerun native viewer (#1099)
Nabla7 Jan 27, 2026
2228ca2
Fix discord invite link (#1122)
spomichter Jan 27, 2026
88f8074
add documentation fix for macos (#1096)
jeff-hykin Jan 27, 2026
dcd1ab4
remove original method bad serialization (#1121)
paul-nechifor Jan 27, 2026
690389d
add replacement for dask (#1111)
paul-nechifor Jan 28, 2026
9059067
Task/Simplify SDK wrapper: Add backend registry with auto-discovery (…
mustafab0 Jan 28, 2026
8ee61d5
Fix Camera Demo (#1148)
jeff-hykin Jan 29, 2026
3fd3a2d
fix more ruff issues (#1112)
paul-nechifor Jan 29, 2026
e374ec3
Fix - Webcam Image vis through rerun + Skill execution (#1117)
ruthwikdasyam Jan 29, 2026
04a2eb8
Fix/benchmark use iec (#1147)
leshy Jan 29, 2026
ad37d56
fix: add import-untyped to mypy ignore comments for cupy/contact_gras…
leshy Jan 29, 2026
373e347
first pass on docker docs (#1151)
leshy Jan 29, 2026
c4a7ec0
Pubsub pattern subs (#1114)
leshy Jan 29, 2026
4a7e8c4
fix: Pubsub typing (#1153)
leshy Jan 29, 2026
130108a
Skip pre-commit install if hooks already exist (#1162)
leshy Jan 31, 2026
729ac9f
RPC Rework: With Var Renames (#1143)
jeff-hykin Jan 31, 2026
7052565
Modular manipulation stack with Kinematics (IK,FK solvers) & Planners…
mustafab0 Feb 1, 2026
d1f4b8b
fix mypy (#1167)
paul-nechifor Feb 3, 2026
9a375de
Switch ./bin/dev to use ros-dev image (#1170)
leshy Feb 3, 2026
2ff7cee
Add python-lsp-server and python-lsp-ruff to dev dependencies (#1169)
leshy Feb 3, 2026
a4f575c
Simplify Image class to pure NumPy (#1161)
leshy Feb 3, 2026
168aef4
feat: add joint servo and cartesian controller (#1116)
mustafab0 Feb 6, 2026
0ee31cd
GraspGen generator with docker dimos module integration (#1119)
JalajShuklaSS Feb 7, 2026
2a3426e
updated e2e test to use generic task_invoke rpc call (#1212)
mustafab0 Feb 7, 2026
289662a
fix manipulation tests (#1218)
jeff-hykin Feb 8, 2026
6955bd9
Pytest CUDA Marker (#1220)
jeff-hykin Feb 9, 2026
020105c
Feat/Quest VR teleoperation stack (#1215)
ruthwikdasyam Feb 9, 2026
a7c7273
RerunBridge module and CLI (#1154)
leshy Feb 9, 2026
f994d98
Feature: Add gripper control for control coordinator (#1213)
mustafab0 Feb 10, 2026
7a812ff
small-fixes (#1232)
paul-nechifor Feb 11, 2026
381f0f4
Remove all ROS message dependency and old ROS nodes from DimOS, refac…
alexlin2 Feb 11, 2026
4398bb5
Skip metric3d inference tests when xformers is unsupported (#1225)
leshy Feb 11, 2026
dc2998d
Allow LCM encoder to pass through raw bytes (#1223)
leshy Feb 11, 2026
52273c9
Feature: Detection3D and Object support to Manipulation Module (#1236)
mustafab0 Feb 11, 2026
45f38c8
Fix: add missing library dependencies to flake (#1240)
Kaweees Feb 12, 2026
27a7c67
Pin langchain to restore supported providers (#1241)
spomichter Feb 12, 2026
8e491cb
Import Fix & Optimize: G1 without ROS, lazy imports, Fix bad dir nami…
jeff-hykin Feb 12, 2026
e512775
remove tofix (#1216)
paul-nechifor Feb 12, 2026
bc34991
fix(manipulation): broken tests (#1247)
paul-nechifor Feb 13, 2026
261d470
Update README.md (#1250)
jeff-hykin Feb 13, 2026
f4bcb58
chore(graspnet): remove old version (#1248)
paul-nechifor Feb 13, 2026
935677d
Update MCP documentation (#1251)
Kaweees Feb 13, 2026
4ebd25a
mujoco sim module (#1035)
jca0 Feb 13, 2026
ad956e7
Agent refactor (#1211)
paul-nechifor Feb 13, 2026
251f80c
Unified TimeSeriesStore with pluggable backends, global rewrite of ti…
leshy Feb 13, 2026
3b62ddb
feat: FASTLIO2 support with arm64 and hardware-verified localization …
baishibona Feb 14, 2026
dd1104f
mypy (#1257)
jeff-hykin Feb 14, 2026
db05bf0
Create DDS Transport Protocol (#1174)
Kaweees Feb 14, 2026
221fcfb
Odometry Msg Cleanup (#1256)
leshy Feb 14, 2026
1c1f786
Simplify `writing_docs` to just one md file (#1254)
jeff-hykin Feb 14, 2026
c119e5d
Feat: Arm teleop control with Pinocchio_ik - single & dual arm (#1246)
ruthwikdasyam Feb 14, 2026
e5c9764
initial commit: renamed QuestButtons to Buttons (#1261)
ruthwikdasyam Feb 15, 2026
c55f831
fix(exploration): do not block agent loop (#1258)
paul-nechifor Feb 17, 2026
8f080c5
Integrate graspgen in manipulationmodule as a service (#1234)
JalajShuklaSS Feb 17, 2026
2a676a6
fix(person-follow): do not block agent loop (#1278)
paul-nechifor Feb 17, 2026
108df7e
ci: dynamic branch protection via ci-complete gate (#1279)
spomichter Feb 17, 2026
ccb9337
fix(ci): use path filter outputs for test should-run decisions (#1284)
spomichter Feb 17, 2026
08e5241
fix(ci): skip test jobs entirely for non-code PRs, add builds to ci-c…
spomichter Feb 17, 2026
1b1cfcc
Add navigation docker build workflow (#1259)
spomichter Feb 17, 2026
c3db358
Feature: Basic Agentic Pick and Place - reimplemented manipulation sk…
mustafab0 Feb 18, 2026
43b9fc8
Task: Created a how to readme for integrating new robotic arms with D…
mustafab0 Feb 18, 2026
71450f2
Add ARM Support (#1229)
jeff-hykin Feb 18, 2026
d35844f
Feat: Phone teleoperation stack with Go2 example blueprint (#1280)
ruthwikdasyam Feb 19, 2026
bbc6726
Docs/Example For New Rerun API (#1262)
jeff-hykin Feb 19, 2026
4f2d6f9
fix(xarm7-sim): fix broken e2e tests (#1294)
paul-nechifor Feb 19, 2026
7ba4e29
Feature: nativemodule livox and fastlio2 (#1235)
leshy Feb 19, 2026
328af42
Ivan/maindocs2 (#1295)
leshy Feb 19, 2026
86fca5e
Add PR Template (#1172)
christiefhyang Feb 19, 2026
24c5289
Task: Added simulation teleop blueprints for piper +xarm6 + xarm7 (#1…
mustafab0 Feb 20, 2026
15a57ae
readme changes (#1311)
paul-nechifor Feb 20, 2026
a95b456
fix(unitree-go2): minor issues (#1307)
paul-nechifor Feb 20, 2026
32427e7
docs(install): remove direnv, simplify installation instructions
spomichter Feb 20, 2026
dca9e66
fix: broken tests (#1305)
ruthwikdasyam Feb 20, 2026
8f32086
Merge pull request #1315 from dimensionalOS/docs/simplify-install-ins…
spomichter Feb 20, 2026
7331432
fix mmcv install (#1313)
paul-nechifor Feb 20, 2026
3848cbf
chore: bump version to 0.0.10 (#1316)
spomichter Feb 20, 2026
b13d925
fix(realsense): lazy-load pyrealsense2 to avoid import errors in simu…
spomichter Feb 20, 2026
444b242
fix(deps): exclude dds extra from --all-extras (#1318)
spomichter Feb 20, 2026
185877e
chore(deps): remove unused mmcv and mmengine dependencies (#1319)
spomichter Feb 20, 2026
8ab7336
uv pip install extras need quote (#1321)
spomichter Feb 20, 2026
e40cf20
fix(test): add -s to pytest addopts for stdin support (#1320)
spomichter Feb 20, 2026
9d45ead
Fix `uv sync` for some MacOS Systems (#1322)
jeff-hykin Feb 20, 2026
97f74f9
feat(vis): default viewer backend to rerun-web (#1324)
spomichter Feb 20, 2026
0ac309f
DimOS example usage added to readme (#1317)
jeff-hykin Feb 20, 2026
f101945
docs(nix): replace uv with pip (#1326)
ruthwikdasyam Feb 20, 2026
7a90b02
fix(nix): add venv setup to dev install docs (#1328)
ruthwikdasyam Feb 21, 2026
96eae99
feat(logging): improve spacing and colors (#1329)
paul-nechifor Feb 21, 2026
2706124
fix(pytest): autoconf (#1325)
paul-nechifor Feb 21, 2026
cc72eae
fix(docs): add missing testing docs (#1330)
paul-nechifor Feb 21, 2026
db6ec64
fix(readme): ordering (#1327)
paul-nechifor Feb 21, 2026
7461411
docs(readme): restore banner image (#1331)
spomichter Feb 21, 2026
002e456
feat(g1): added rerun visualization for G1 (#1334)
ruthwikdasyam Feb 21, 2026
d7618c1
fix(logging): remove black background from console log colors (#1332)
ruthwikdasyam Feb 21, 2026
1e8119f
fix(g1): add video stream and camera_info to G1SimConnection (#1335)
spomichter Feb 21, 2026
7b1a4c8
chore: bump version to v0.0.10.post1 (#1337)
spomichter Feb 21, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 1 addition & 1 deletion .dockerignore
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ build/
.env.local
.env.*.local

# Large data files
# Large data files (LFS archives only)
data/*
!data/.lfs/

Expand Down
30 changes: 30 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
## Problem

<!-- What feature are you adding, or what is broken/missing/sub-optimal? -->
<!-- Context, symptoms, motivation. Link the issue. -->

Closes DIM-XXX

## Solution

<!-- What you changed and why this approach -->
<!-- Key design decisions / tradeoffs -->
<!-- Keep it high-signal; deep planning belongs in the issue. -->

## Breaking Changes

<!-- Write "None" if not applicable -->

<!-- If applicable:
- what breaks
- who is affected
- migration steps
-->

## How to Test

<!-- MUST be reproducible. If this section is weak, reviewers can't approve confidently. -->

## Contributor License Agreement

- [ ] I have read and approved the [CLA](https://github.com/dimensionalOS/dimos/blob/main/CLA.md).
2 changes: 1 addition & 1 deletion .github/workflows/code-cleanup.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
name: code-cleanup
on:
push:
pull_request:
paths-ignore:
- '**.md'

Expand Down
158 changes: 114 additions & 44 deletions .github/workflows/docker.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,6 @@ on:
paths-ignore:
- '**.md'
pull_request:
paths-ignore:
- '**.md'

permissions:
contents: read
Expand All @@ -22,6 +20,7 @@ jobs:
ros: ${{ steps.filter.outputs.ros }}
python: ${{ steps.filter.outputs.python }}
dev: ${{ steps.filter.outputs.dev }}
navigation: ${{ steps.filter.outputs.navigation }}
tests: ${{ steps.filter.outputs.tests }}
branch-tag: ${{ steps.set-tag.outputs.branch_tag }}
steps:
Expand Down Expand Up @@ -52,6 +51,11 @@ jobs:
dev:
- docker/dev/**

navigation:
- .github/workflows/_docker-build-template.yml
- .github/workflows/docker.yml
- docker/navigation/**

tests:
- dimos/**

Expand Down Expand Up @@ -130,6 +134,57 @@ jobs:
to-image: ghcr.io/dimensionalos/dev:${{ needs.check-changes.outputs.branch-tag }}
dockerfile: dev

navigation:
needs: [check-changes]
if: needs.check-changes.outputs.navigation == 'true'
runs-on: [self-hosted, Linux]
permissions:
contents: read
packages: write
steps:
- name: Fix permissions
run: |
sudo chown -R $USER:$USER ${{ github.workspace }} || true

- uses: actions/checkout@v4
with:
fetch-depth: 0

- name: Checkout ros-navigation-autonomy-stack
uses: actions/checkout@v4
with:
repository: dimensionalOS/ros-navigation-autonomy-stack
ref: fastlio2
path: docker/navigation/ros-navigation-autonomy-stack
fetch-depth: 1
lfs: false
token: ${{ secrets.NAV_REPO_READ_TOKEN }}

- uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}

- uses: crazy-max/ghaction-github-runtime@v3

- uses: docker/setup-buildx-action@v3
with:
driver: docker-container
install: true
use: true

- uses: docker/build-push-action@v6
with:
push: true
context: .
file: docker/navigation/Dockerfile
tags: ghcr.io/dimensionalos/navigation:${{ needs.check-changes.outputs.branch-tag }}
cache-from: type=gha,scope=navigation
cache-to: type=gha,mode=max,scope=navigation
build-args: |
ROS_DISTRO=humble

ros-dev:
needs: [check-changes, ros-python]
if: always()
Expand All @@ -146,92 +201,94 @@ jobs:

run-ros-tests:
needs: [check-changes, ros-dev]
if: always()
if: ${{
always() &&
needs.check-changes.result == 'success' &&
(needs.check-changes.outputs.tests == 'true' ||
needs.check-changes.outputs.ros == 'true' ||
needs.check-changes.outputs.python == 'true' ||
needs.check-changes.outputs.dev == 'true')
}}
uses: ./.github/workflows/tests.yml
secrets: inherit
with:
should-run: ${{
needs.check-changes.result == 'success' &&
((needs.ros-dev.result == 'success') ||
(needs.ros-dev.result == 'skipped' &&
needs.check-changes.outputs.tests == 'true'))
}}
cmd: "pytest && pytest -m ros" # run tests that depend on ros as well
dev-image: ros-dev:${{ (needs.check-changes.outputs.python == 'true' || needs.check-changes.outputs.dev == 'true' || needs.check-changes.outputs.ros == 'true') && needs.ros-dev.result == 'success' && needs.check-changes.outputs.branch-tag || 'dev' }}

run-tests:
needs: [check-changes, dev]
if: always()
if: ${{
always() &&
needs.check-changes.result == 'success' &&
(needs.check-changes.outputs.tests == 'true' ||
needs.check-changes.outputs.python == 'true' ||
needs.check-changes.outputs.dev == 'true')
}}
uses: ./.github/workflows/tests.yml
secrets: inherit
with:
should-run: ${{
needs.check-changes.result == 'success' &&
((needs.dev.result == 'success') ||
(needs.dev.result == 'skipped' &&
needs.check-changes.outputs.tests == 'true'))
}}
cmd: "pytest"
dev-image: dev:${{ (needs.check-changes.outputs.python == 'true' || needs.check-changes.outputs.dev == 'true') && needs.dev.result == 'success' && needs.check-changes.outputs.branch-tag || 'dev' }}

# we run in parallel with normal tests for speed
run-heavy-tests:
needs: [check-changes, dev]
if: always()
if: ${{
always() &&
needs.check-changes.result == 'success' &&
(needs.check-changes.outputs.tests == 'true' ||
needs.check-changes.outputs.python == 'true' ||
needs.check-changes.outputs.dev == 'true')
}}
uses: ./.github/workflows/tests.yml
secrets: inherit
with:
should-run: ${{
needs.check-changes.result == 'success' &&
((needs.dev.result == 'success') ||
(needs.dev.result == 'skipped' &&
needs.check-changes.outputs.tests == 'true'))
}}
cmd: "pytest -m heavy"
dev-image: dev:${{ (needs.check-changes.outputs.python == 'true' || needs.check-changes.outputs.dev == 'true') && needs.dev.result == 'success' && needs.check-changes.outputs.branch-tag || 'dev' }}

run-lcm-tests:
needs: [check-changes, dev]
if: always()
if: ${{
always() &&
needs.check-changes.result == 'success' &&
(needs.check-changes.outputs.tests == 'true' ||
needs.check-changes.outputs.python == 'true' ||
needs.check-changes.outputs.dev == 'true')
}}
uses: ./.github/workflows/tests.yml
secrets: inherit
with:
should-run: ${{
needs.check-changes.result == 'success' &&
((needs.dev.result == 'success') ||
(needs.dev.result == 'skipped' &&
needs.check-changes.outputs.tests == 'true'))
}}
cmd: "pytest -m lcm"
dev-image: dev:${{ (needs.check-changes.outputs.python == 'true' || needs.check-changes.outputs.dev == 'true') && needs.dev.result == 'success' && needs.check-changes.outputs.branch-tag || 'dev' }}

run-integration-tests:
needs: [check-changes, dev]
if: always()
if: ${{
always() &&
needs.check-changes.result == 'success' &&
(needs.check-changes.outputs.tests == 'true' ||
needs.check-changes.outputs.python == 'true' ||
needs.check-changes.outputs.dev == 'true')
}}
uses: ./.github/workflows/tests.yml
secrets: inherit
with:
should-run: ${{
needs.check-changes.result == 'success' &&
((needs.dev.result == 'success') ||
(needs.dev.result == 'skipped' &&
needs.check-changes.outputs.tests == 'true'))
}}
cmd: "pytest -m integration"
dev-image: dev:${{ (needs.check-changes.outputs.python == 'true' || needs.check-changes.outputs.dev == 'true') && needs.dev.result == 'success' && needs.check-changes.outputs.branch-tag || 'dev' }}

run-mypy:
needs: [check-changes, ros-dev]
if: always()
if: ${{
always() &&
needs.check-changes.result == 'success' &&
(needs.check-changes.outputs.tests == 'true' ||
needs.check-changes.outputs.ros == 'true' ||
needs.check-changes.outputs.python == 'true' ||
needs.check-changes.outputs.dev == 'true')
}}
uses: ./.github/workflows/tests.yml
secrets: inherit
with:
should-run: ${{
needs.check-changes.result == 'success' &&
((needs.ros-dev.result == 'success') ||
(needs.ros-dev.result == 'skipped' &&
needs.check-changes.outputs.tests == 'true'))
}}
cmd: "MYPYPATH=/opt/ros/humble/lib/python3.10/site-packages mypy dimos"
dev-image: ros-dev:${{ (needs.check-changes.outputs.python == 'true' || needs.check-changes.outputs.dev == 'true' || needs.check-changes.outputs.ros == 'true') && needs.ros-dev.result == 'success' && needs.check-changes.outputs.branch-tag || 'dev' }}

Expand Down Expand Up @@ -269,3 +326,16 @@ jobs:
# CI: "true"
# run: |
# /entrypoint.sh bash -c "pytest -m module"

ci-complete:
needs: [check-changes, ros, python, ros-python, dev, ros-dev, run-tests, run-heavy-tests, run-lcm-tests, run-integration-tests, run-ros-tests, run-mypy]
runs-on: [self-hosted, Linux]
if: always()
steps:
- name: CI gate
if: ${{ contains(needs.*.result, 'failure') || contains(needs.*.result, 'cancelled') }}
run: |
echo "❌ One or more CI jobs failed or were cancelled"
exit 1
- name: CI passed
run: echo "✅ All CI checks passed or were intentionally skipped"
20 changes: 0 additions & 20 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,6 @@ name: tests
on:
workflow_call:
inputs:
should-run:
required: false
type: boolean
default: true
dev-image:
required: true
type: string
Expand All @@ -20,22 +16,6 @@ permissions:
packages: read

jobs:

# cleanup:
# runs-on: dimos-runner-ubuntu-2204
# steps:
# - name: exit early
# if: ${{ !inputs.should-run }}
# run: |
# exit 0

# - name: Free disk space
# run: |
# sudo rm -rf /opt/ghc
# sudo rm -rf /usr/share/dotnet
# sudo rm -rf /usr/local/share/boost
# sudo rm -rf /usr/local/lib/android

run-tests:
runs-on: [self-hosted, Linux]
container:
Expand Down
5 changes: 5 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,7 @@ yolo11n.pt
# symlink one of .envrc.* if you'd like to use
.envrc
.claude
**/CLAUDE.md
.direnv/

/logs
Expand All @@ -64,3 +65,7 @@ yolo11n.pt

*mobileclip*
/results
**/cpp/result

CLAUDE.MD
/assets/teleop_certs/
24 changes: 24 additions & 0 deletions CLA.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
## Dimensional OS Individual Contributor License Agreement

In order to clarify the intellectual property license granted with Contributions from any person or entity, **Dimensional Inc.** ("**Dimensional**") must have a Contributor License Agreement ("CLA") on file that has been signed by each Contributor, indicating agreement to the license terms below. This license is for your protection as a Contributor as well as the protection of Dimensional; it does not change your rights to use your own Contributions for any other purpose.

You accept and agree to the following terms and conditions for Your present and future Contributions submitted to Dimensional. Except for the license granted herein to Dimensional and recipients of software distributed by Dimensional, You reserve all right, title, and interest in and to Your Contributions.

1. Definitions.
"You" (or "Your") shall mean the copyright owner or legal entity authorized by the copyright owner that is making this Agreement with Dimensional. For legal entities, the entity making a Contribution and all other entities that control, are controlled by, or are under common control with that entity are considered to be a single Contributor. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity.

"Contribution" shall mean any original work of authorship, including any modifications or additions to an existing work, that is intentionally submitted by You to Dimensional for inclusion in, or documentation of, any of the products owned or managed by Dimensional (the "Work"). For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to Dimensional or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, Dimensional for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by You as "Not a Contribution."

2. Grant of Copyright License. Subject to the terms and conditions of this Agreement, You hereby grant to Dimensional and to recipients of software distributed by Dimensional a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, sublicense, and distribute Your Contributions and such derivative works.

3. Grant of Patent License. Subject to the terms and conditions of this Agreement, You hereby grant to Dimensional and to recipients of software distributed by Dimensional a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by You that are necessarily infringed by Your Contribution(s) alone or by combination of Your Contribution(s) with the Work to which such Contribution(s) was submitted. If any entity institutes patent litigation against You or any other entity (including a cross-claim or counterclaim in a lawsuit) alleging that your Contribution, or the Work to which you have contributed, constitutes direct or contributory patent infringement, then any patent licenses granted to that entity under this Agreement for that Contribution or Work shall terminate as of the date such litigation is filed.

4. You represent that you are legally entitled to grant the above license. If your employer(s) has rights to intellectual property that you create that includes your Contributions, you represent that you have received permission to make Contributions on behalf of that employer, that your employer has waived such rights for your Contributions to Dimensional, or that your employer has executed a separate Corporate CLA with Dimensional.

5. You represent that each of Your Contributions is Your original creation (see section 7 for submissions on behalf of others). You represent that Your Contribution submissions include complete details of any third-party license or other restriction (including, but not limited to, related patents and trademarks) of which you are personally aware and which are associated with any part of Your Contributions.

6. You are not expected to provide support for Your Contributions, except to the extent You desire to provide support. You may provide support for free, for a fee, or not at all. Unless required by applicable law or agreed to in writing, You provide Your Contributions on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE.

7. Should You wish to submit work that is not Your original creation, You may submit it to Dimensional separately from any Contribution, identifying the complete details of its source and of any license or other restriction (including, but not limited to, related patents, trademarks, and license agreements) of which you are personally aware, and conspicuously marking the work as "Submitted on behalf of a third-party: [named here]."

8. You agree to notify Dimensional of any facts or circumstances of which you become aware that would make these representations inaccurate in any respect.
Loading
Loading