Open-source project
commaai/openpilot avatar
commaai/openpilot

openpilot: A Robotics OS That Turns 300+ Cars into Level 2 Driving Platforms

openpilot is an operating system for robotics. Currently, it upgrades the driver assistance system on 300+ supported cars.

63,651 stars11,368 forksPythonMIT

At a glance

What is it?
openpilot is an open-source operating system that upgrades the driver assistance systems in over 300 cars, but it requires specific hardware, a supported vehicle, and a clear understanding of its alpha-quality status.
Who is it for?
Adopt openpilot if you own a supported car, have a comma four or compatible hardware, and accept its alpha-quality, research-only nature with no warranty. Do not adopt it if you need a plug-and-play product, lack a supported vehicle, or cannot comply with local regulations.
Can I use it commercially?
Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
Is it still maintained?
Yes. The repository last received commits 1 day ago.
What is it written in?
Mainly Python, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on September 14, 2026, and from our analysis. They are not legal advice.

DEEP OPEN-SOURCE ANALYSIS

What openpilot Actually Does

openpilot is not a self-driving car kit. It is an operating system for robotics that, in its current form, upgrades the factory driver assistance system on over 300 supported cars. The project's README states that it is 'an operating system for robotics' and that it 'upgrades the driver assistance system' on those cars. That means it takes over functions like adaptive cruise control and lane keeping, using the car's existing sensors and actuators. The target user is someone who owns a compatible vehicle and wants a more capable, open-source version of the stock ADAS. It is not for building a robot from scratch, despite the robotics framing. The scope is narrow: you need a supported device, a supported car, and a car harness. Without those three, openpilot does nothing for you.

The Hardware and Car Requirements

The README lists four things you need: a supported device (currently a comma four, sold at comma.ai), the software installed via a URL, a supported car from the 300+ list, and a car harness to connect the device to the car. The comma four is the reference hardware. You can run openpilot on other hardware, but the README warns it is 'not plug-and-play.' That is a significant constraint. The software installation is not a typical package manager install. On a comma four, you enter a URL during setup. For release versions, that URL is openpilot.comma.ai. For other branches, you use different URLs. The hardware requirement is not optional. Without a comma four or equivalent, you are on your own to figure out the wiring and power. The harness is car-specific, so you must buy the right one. This is a system with a tight hardware-software coupling, not a general-purpose OS you can flash onto any phone.

How the Software Is Delivered: Branches and URLs

openpilot uses a branch-based delivery model. The README presents a table of prebuilt branches for different comma device generations. For the comma four, the release branch is release-mici, installed from openpilot.comma.ai. There is also release-mici-staging for early access, nightly for bleeding-edge development, and nightly-dev for experimental features. For the older comma 3X, the branches are release-tizi and so on. For a newer device called chestnut, there are separate branches like release-chestnut. The key mechanism is that you do not clone a repo and build. You point the device installer at a URL, and it pulls the branch. This is a convenience for end users, but it also means you are trusting comma's servers to serve the correct code. The README warns that nightly branches are not stable and 'do not expect this to be stable.' For developers, running master is supported, but the recommendation is to use the prebuilt branches. This delivery system is unusual for an open-source project, but it makes sense for an embedded device where the user is not a developer.

Under the Hood: Safety and Testing Claims

The README makes specific safety claims. It says openpilot observes ISO26262 guidelines, referencing docs/SAFETY.md. The safety model is enforced in a component called panda, written in C. The README mentions software-in-the-loop tests that run on every commit, and a hardware-in-the-loop Jenkins test suite. It also says comma runs the latest openpilot in a 'testing closet' with 10 comma devices continuously replaying routes. These are concrete claims, but they are not independent certifications. The README does not say openpilot is ISO26262 certified, only that it 'observes' guidelines. That distinction matters. You should not assume regulatory approval. The safety testing is extensive for an open-source project, but it is internal. The README also includes a prominent disclaimer: 'THIS IS ALPHA QUALITY SOFTWARE FOR RESEARCH PURPOSES ONLY. THIS IS NOT A PRODUCT.' That is a direct statement about maturity. If you are considering this for daily driving, that warning should shape your expectations.

Getting It Running: Commands and Config

For a quick start on a developer machine, the README gives a one-liner: bash <(curl -fsSL openpilot.comma.ai). That is the only command shown. For a car install, the procedure is different. On a comma four, you enter a URL during setup. For release, that URL is openpilot.comma.ai. For staging, it is openpilot-test.comma.ai. For nightly, openpilot-nightly.comma.ai. There is no mention of configuration files or environment variables in the README. The configuration is essentially choosing the branch URL. Once installed, the device connects to the car via the harness. The README points to comma.ai/setup for detailed installation instructions, but those instructions are not in the README. So the actual wiring and calibration steps are not covered here. What is clear is that the setup is not a typical software install. It requires physical work in the car, and the README warns that running on non-comma hardware is not plug-and-play.

Limitations and Where It Is the Wrong Tool

The most obvious limitation is the hardware lock-in. You need a comma four or a compatible device, and a supported car. If your car is not on the list, openpilot will not work. The README says 300+ supported cars, but that is a finite list. The second limitation is the alpha quality warning. The README explicitly says it is not a product and you are responsible for complying with local laws. That means you could be legally liable for using it on public roads. The third limitation is the data upload default. The README says openpilot uploads driving data to comma's servers by default. That is a privacy consideration. If you do not want your driving data sent to comma, you need to change that setting, but the README does not say how. The wrong tool scenario is clear: if you want a reliable, certified ADAS upgrade, or if you drive an unsupported car, or if you are uncomfortable with data collection, openpilot is not for you. It is also not for someone who wants to build a general-purpose robot, despite the 'operating system for robotics' description.

Alternatives and the Open-Source Landscape

The obvious alternative is the stock driver assistance system that your car already has. It is closed-source, but it is certified, tested, and supported by the manufacturer. The difference is that stock systems are conservative and limited. openpilot aims to be more capable, but it trades certification for openness. Another alternative is to use a different open-source ADAS project, but the README does not name any. In the broader ecosystem, there are projects like Autoware for autonomous driving research, but those are not drop-in upgrades for production cars. openpilot's approach is unique because it targets specific consumer cars and provides a complete hardware-software bundle. The trade-off is that you are tied to comma's ecosystem, including their hardware and their servers for data. If you want to avoid that, you would need to use a different project, but you would lose the plug-and-play nature that openpilot offers for supported cars.

Maintenance, Upgrades, and License Implications

openpilot is actively maintained. The last push was June 2026, and there are recent releases: v0.11.1 in June 2026, v0.11.0 in March 2026, and v0.10.3 in December 2025. The release cadence is roughly quarterly, which is a sign of ongoing development. Upgrades are handled through the branch system, so you can move to a new release by changing the installer URL or waiting for an over-the-air update on the device. The README does not describe an upgrade process in detail, but the branch structure implies that updates are delivered through the same URL mechanism. The license is MIT, which is permissive. However, the README includes an indemnification clause that holds comma harmless from any claims arising from your use of the software. That is not standard MIT language. It is a legal risk you should review. The README also states that some parts are under other licenses. So while the core is MIT, you cannot assume the entire codebase is free of additional restrictions. For a project that controls your car, you should read the license and the safety docs before installing.

Editorial conclusion

Adopt openpilot if you own a supported car, have a comma four or compatible hardware, and accept its alpha-quality, research-only nature with no warranty. Do not adopt it if you need a plug-and-play product, lack a supported vehicle, or cannot comply with local regulations. Before installation, verify your car is on the supported list (docs/CARS.md), check the harness compatibility, and review the MIT license's indemnification clause and data upload defaults.

Official sources

  1. Official documentation
  2. Official README
  3. Project repository
  4. Release notes
Community notes

Community notes