Skip to content
PPHYSICAL AI GUIDESTART HERE →

Field guide

Open-Source Robotics Project Health: A Practical Audit

A practical framework for evaluating ROS 2, Gazebo, MoveIt 2, LeRobot, Isaac Lab, and other open robotics projects by releases, support, governance, artifacts, tests, and reproducibility.

By Physical AI Guide Editorial TeamPublished Updated

The short answer

A healthy open-source robotics project is not merely active. It provides a versioned, supportable path from installation to the exact robot workflow you need.

That path should connect:

  1. a maintained release or pinned revision;
  2. an explicit license for every required artifact;
  3. installation and compatibility documentation;
  4. runnable examples or reference configurations;
  5. tests for the interfaces you depend on;
  6. issue and change-management practices;
  7. evidence that the workflow can be reproduced outside the original development environment.

Repository stars, a recent commit, and a polished demonstration are weak substitutes. A project can be popular while its required driver is unmaintained. It can merge code every day while its stable branch lacks the feature you need. It can publish a model without the processor, dataset schema, calibration, or evaluation code required to run it.

This guide provides an audit for projects such as ROS 2, Gazebo, MoveIt 2, LeRobot, and Isaac Lab. These tools are not direct competitors. They occupy different layers of the physical AI developer stack. The goal is to judge whether each selected component is fit for a declared workflow.

Start with the dependency, not the brand

Before looking at repository activity, write down what the project must do in your system.

A useful dependency statement includes:

  • the function you need, such as middleware, simulation, motion planning, data recording, or policy training;
  • the operating system, accelerator, robot, sensor, and middleware versions;
  • the required interfaces and data formats;
  • the update period you can tolerate;
  • whether the system is a research prototype, internal tool, customer product, or safety-related machine;
  • the evidence required before an update reaches hardware.

This prevents a common comparison error. ROS 2 coordinates distributed robot software. Gazebo simulates integrated systems. MoveIt 2 provides manipulation planning and related tooling. LeRobot provides robot-learning data, policy, evaluation, and hardware workflows. Isaac Lab provides simulation-centered robot-learning environments and task workflows. A single popularity ranking cannot tell you which layer you need or whether the layers work together.

The eight-part project health audit

1. Release and support policy

Ask whether the project distinguishes stable releases from development work.

Record:

  • the exact version or commit;
  • release date;
  • maintenance status;
  • expected support end date, when published;
  • supported operating systems and dependency versions;
  • patch and security update process;
  • migration notes between release lines.

A long-term support label is valuable only when it covers the packages and platform you intend to use. A maintained upstream release does not automatically maintain every third-party driver, plugin, robot description, or model attached to it.

Development branches need extra controls. Pin the commit, archive the resolved dependency environment, run your own regression suite, and define the condition for moving to a newer revision.

2. Governance and maintainer continuity

A healthy project makes decision-making inspectable. Look for named maintainers, contribution rules, review ownership, release responsibilities, and a forum for design changes.

Useful evidence includes:

  • maintainer or working-group lists;
  • public contribution and review rules;
  • design proposals or decision records;
  • regular release ownership;
  • more than one organization capable of reviewing critical code;
  • a documented route for reporting security issues.

Corporate sponsorship can provide resources, but it is not the same as community continuity. Community governance can broaden participation, but it does not guarantee that your particular hardware integration has an owner. Evaluate the subsystem you need, not only the umbrella project.

3. Artifact completeness

The word “open” must apply to the artifacts required for the claimed workflow.

Depending on the project, check for:

  • source code;
  • build and dependency files;
  • versioned packages or containers;
  • robot descriptions, assets, and calibration files;
  • model weights and processors;
  • dataset schemas and examples;
  • training and evaluation configurations;
  • test fixtures and expected outputs;
  • licenses for code, models, data, media, and third-party assets.

A public repository containing a README and demonstration assets is inspectable, but it may not be runnable. A model checkpoint without its preprocessing and action-decoding contract is incomplete. Our open-source humanoid reproducibility audit applies the same principle to hardware, bills of materials, assembly, calibration, control, and physical trials.

4. Installation and reproducibility

Test the documented path from a clean environment. Do not let a maintainer’s workstation stand in for reproducibility.

Record:

  • machine and operating-system image;
  • compiler, language, driver, middleware, and accelerator versions;
  • installation method;
  • exact dependency resolution;
  • sample command and expected result;
  • undocumented fixes required;
  • build and first-run time;
  • hardware needed to complete the example.

A quickstart should establish more than import success. For a simulator, load and step a reference world. For planning software, execute a reference plan in a declared scene. For a learning framework, load a dataset, train or load a policy, run evaluation, and preserve the result. For hardware support, record a safe read-only check before enabling actuators.

5. Tests and continuous integration

A passing badge is only the beginning. Determine what is actually tested.

Separate:

  • unit tests for local logic;
  • integration tests across packages;
  • simulation tests;
  • hardware-in-the-loop tests;
  • regression tests for recorded failures;
  • performance or latency tests;
  • release-package installation tests;
  • compatibility tests across supported platforms.

Coverage numbers can still miss the interface that matters to you. Add a small contract test for every dependency boundary your robot relies on, such as message fields, coordinate frames, action dimensions, controller rates, sensor timestamps, model preprocessing, and reset behavior.

6. Documentation and migration quality

Documentation health is not measured by page count. It is measured by whether a user can identify the right version, complete a workflow, diagnose a failure, and migrate safely.

Look for:

  • versioned documentation that matches the release;
  • installation prerequisites;
  • concepts and interface contracts;
  • complete examples;
  • troubleshooting guidance;
  • upgrade and deprecation notes;
  • links from errors to actionable diagnostics;
  • clear separation between stable and development documentation.

Unversioned examples are risky in robotics because a small interface change can alter topics, action spaces, calibration, controller behavior, or generated assets.

7. Issue handling and change risk

Open issue counts do not rank project quality. Large projects naturally accumulate more requests, questions, and subsystem reports.

Inspect a sample instead:

  • Are regressions labeled and assigned?
  • Do maintainers request reproducible examples?
  • Are stale reports closed with an explanation?
  • Are breaking changes announced before release?
  • Do fixes receive tests?
  • Are hardware-specific failures routed to an identifiable owner?
  • Does the project distinguish support questions from verified defects?

Measure the issues that match your dependency surface. A simulator rendering problem may be irrelevant to a headless training workflow, while a timestamp regression may invalidate every recorded episode.

8. Physical and operational evidence

Software health does not prove robot performance. After the project passes a software audit, test the complete physical loop.

For the selected robot and task, record:

  • attempted and successful runs;
  • controller mode and action rate;
  • latency and missed deadlines;
  • resets, interventions, and manual recovery;
  • sensor and calibration failures;
  • collisions, protective stops, and rejected commands;
  • output quality and task duration;
  • performance before and after upgrades;
  • rollback success.

The robot demo evidence checklist provides a compact protocol for keeping autonomy, resets, speed, variation, failure, and deployment claims separate.

A source-backed snapshot of five project surfaces

The following snapshot was reviewed on September 28, 2026. It records public release and documentation surfaces, not a universal ranking.

Project Primary role Public evidence reviewed What the evidence supports What still requires your test
ROS 2 Middleware and software integration Public repository and versioned release records, including the Lyrical patch release published in August 2026 Active release engineering and an inspectable development line Compatibility and lifecycle behavior across your selected packages, drivers, transport, and operating system
Gazebo Integrated robot simulation Gazebo release schedule, versioned documentation, and the gz-sim repository Declared release lines, platform guidance, and a maintained simulator codebase Fidelity for your sensors, contact, plugins, timing, and ROS integration
MoveIt 2 Manipulation planning and related tooling Public repository, getting-started documentation, and contribution guidance Inspectable planning software, tutorials, and a public contribution path Planner behavior, scene updates, collision models, controller integration, and timing on your robot
LeRobot Robot-learning data, policy, evaluation, and hardware workflows Versioned documentation and release records, including v0.6.1 A broad, documented workflow with versioned releases and public integrations Support and correctness for your robot, dataset, processor chain, policy, benchmark, and physical evaluation
Isaac Lab Simulation-centered robot learning Public repository, release records, and task-design documentation Versioned framework artifacts and documented task workflows across reinforcement and imitation learning Accelerator compatibility, simulator dependencies, reproducibility, task fidelity, and transfer to your hardware

This table deliberately avoids a total score. ROS 2 can be healthy middleware without being a policy trainer. LeRobot can support a policy workflow without providing the production controller or safety system. Gazebo and Isaac Lab can both be useful while serving different simulation and learning requirements.

How to read common signals

Recent commits

A recent commit proves that someone changed the repository. It does not prove that the change reached your stable release, fixed your issue, passed your platform, or preserved compatibility.

Use commit activity to answer narrower questions:

  • Is the relevant branch receiving fixes?
  • Are releases cut from that work?
  • Are changes reviewed and tested?
  • Is your subsystem touched by maintainers or only drive-by contributors?

Stars and forks

Stars measure attention. Forks can mean contribution, experimentation, abandonment, or automated mirroring. Neither is an operational result.

Use them for discovery, then move to versioned artifacts, release policy, issue handling, tests, and a clean-room reproduction.

Number of integrations

A long compatibility list expands the possible surface. It can also increase maintenance burden. Confirm whether an integration is:

  • maintained in the core project;
  • maintained by a third party;
  • tested in continuous integration;
  • covered by current documentation;
  • compatible with the release you chose;
  • exercised on physical hardware or only in simulation.

Open-source license

Read the actual license and the dependency tree. A repository-level software license may not cover model weights, datasets, robot assets, vendor SDKs, fonts, media, or generated files.

License compatibility is a legal and distribution question. It is not proof of technical quality or production readiness.

A successful tutorial

A tutorial is a useful smoke test. It proves that one documented path worked under your recorded conditions. It does not establish performance, reliability, security, or physical safety.

Turn the tutorial into a repeatable baseline. Pin it, automate it, and rerun it before accepting dependency updates.

A practical selection worksheet

Use one row per project or subsystem.

Field Evidence to record
Required function The exact capability this dependency provides
Selected version Release tag or immutable commit
Support window Maintained status and stated end date
Platform contract OS, middleware, compiler, accelerator, driver, robot, and sensor versions
Artifact contract Code, packages, models, processors, data schemas, assets, and licenses
Clean install Reproduction date, environment, commands, deviations, and result
Interface tests Messages, frames, timestamps, action spaces, controller rates, and reset behavior
Regression suite Failures that must stay fixed
Update policy Review interval, acceptance gate, and rollback procedure
Physical evidence Trials, speed, quality, intervention, recovery, and safety events
Owner Person or team responsible for integration and upgrade decisions
Exit plan Replacement path and data or interface portability

A project should fail the selection gate when a required field has no defensible answer. “Popular,” “actively developed,” and “used by major companies” do not fill missing compatibility or ownership fields.

Red flags

Treat these as investigation triggers:

  • only a development branch is documented;
  • the release used in a paper or demo is not tagged;
  • installation depends on unpinned packages;
  • the model or dataset license is absent or different from the code license;
  • examples omit preprocessing, calibration, action decoding, or reset logic;
  • a supported robot is listed but no maintainer or automated test covers it;
  • issue reports receive workarounds without regression tests;
  • breaking changes appear without migration notes;
  • a benchmark cannot be reproduced from public configurations;
  • simulation success is presented as physical validation;
  • one maintainer controls a critical subsystem with no continuity plan;
  • an update cannot be rolled back without rebuilding the complete environment.

None of these proves that a project is unusable. Each increases the evidence or engineering burden required before adoption.

From evaluation to operations

Once a project is selected, keep the health audit alive.

  1. Pin production dependencies. Preserve tags, commits, lock files, containers, model hashes, and dataset versions.
  2. Track upstream releases. Review changes on a schedule instead of updating during an incident.
  3. Run contract tests first. Catch interface and data changes before a full robot trial.
  4. Use a hardware acceptance suite. Exercise safe motion, timing, stops, recovery, and the real task.
  5. Record deviations. Maintain local patches and the upstream issue or pull request connected to each one.
  6. Plan rollback. Keep the previous known-good system deployable.
  7. Recheck ownership. A working dependency can become a risk if the responsible maintainer or internal owner disappears.

For robot-learning systems, preserve the complete data and policy contract. The LeRobot practical guide shows why datasets, processors, evaluation environments, correction workflows, and hardware execution need separate verification even when they ship through one framework.

Bottom line

Open-source robotics health is a fit-for-purpose evidence question.

A strong project exposes releases, support boundaries, governance, artifacts, tests, documentation, and changes clearly enough for another team to reproduce a declared workflow. A strong adopter then adds its own interface tests, physical acceptance protocol, update gate, owner, and rollback path.

Choose the smallest maintained set of projects that closes your required perception-to-action loop, then verify every dependency boundary on the robot you will actually operate.

Frequently asked questions

How can I tell whether an open-source robotics project is healthy?

Check whether the exact release you plan to use is maintained, documented, licensed, tested, reproducible, and compatible with your hardware and dependencies. Recent commits are useful, but they do not replace a support policy, release notes, migration guidance, working examples, issue triage, and a tested installation path.

Are GitHub stars a good measure of robotics software quality?

No. Stars show attention, not compatibility, safety, release stability, support quality, or successful use on your robot. Use repository popularity only as a discovery signal. Evaluate the versioned artifacts and the complete workflow you need.

Does an open-source license make a robotics project production ready?

No. A license grants stated permissions and sets conditions. It does not prove that the software is maintained, secure, deterministic, safe, supported, or compatible with a production system. Review licenses across code, models, datasets, assets, and dependencies separately.

Should I use the main branch or a stable release?

Use a maintained stable release by default. A development branch may contain needed fixes or features, but it also increases integration and migration risk. If you must track development, pin an exact commit, preserve a working environment, and define an update and rollback policy.

Can one health score rank ROS 2, Gazebo, MoveIt 2, LeRobot, and Isaac Lab?

Not usefully. These projects serve different layers, and a project can be strong for one workflow while unsuitable for another. Keep release maintenance, governance, documentation, artifacts, testing, hardware coverage, and operational fit as separate fields rather than hiding them in one number.