Open-source project
VDA5050/VDA5050 avatar
VDA5050/VDA5050

VDA 5050 is a published protocol, and the PDF outranks the repository

Official Specification document for the VDA 5050

524 stars157 forksUnknownMIT

At a glance

What is it?
The VDA5050 repository holds the specification document and its JSON schemas for communication between mobile robot fleets and a central fleet control, versioned by the VDA and the VDMA. It is a standard rather than an implementation, with a deliberate version ladder, a monthly triage meeting, and a legal notice that spells out how little support you are entitled to.
Who is it for?
VDA5050 suits an integrator building a fleet control system that has to talk to robots from several suppliers, and it does not suit a team looking for a client library, a simulator or a reference implementation, because the repository contains a document and schemas and nothing that runs.
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 25 days ago.
What is it written in?
GitHub does not report a main language for this repository.

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

Editorial analysis

A protocol between fleet control and robot fleets

VDA 5050 is described as an open standard for communication between mobile robot fleets and a central fleet control. The problem it addresses is concrete: a warehouse running automated guided vehicles from more than one supplier otherwise ends up with a separate integration for each vendor, and the fleet control has to speak a different dialect to every robot type on the floor.

The standard is developed jointly by the German Association of the Automotive Industry, the VDA, and the VDMA, together with the IFL at the Karlsruhe Institute of Technology, and with contributions from the mobile robot industry. The homepage of the project points at the VDA's VDA 5050 page, which is where the published document lives.

The audience for the repository is therefore not an application developer looking for a dependency, but the people who write and maintain the agreement: implementers, integrators, suppliers and the standards body itself. The repository is a document and a set of schemas, and the primary language is listed as unknown because the content is prose and data, not a program.

The version in the README is 3.0.0, and the repository layout matches that reading. The English specification is the file `VDA5050_EN.md`, the machine readable part lives in the `json_schemas/` directory, and `assets/` holds the supporting files.

The published PDF wins when the repository and the VDA disagree

There is a precedence rule in the README, and it is the first thing to understand about working with this repository. The note says the team is constantly working to improve VDA 5050, and that if there are any differences between the markdown document and the JSON schemas on GitHub and the published document by the VDA, the PDF on the VDA website is valid.

That is an unusual and sensible arrangement. The repository is where work happens, so at any moment it can contain a change that is drafted, discussed, or merged but not yet published. The PDF is the artefact that carries authority, and it is what a court, an auditor or a supplier's legal team would point at. Anyone implementing against the repository has to know which of the two they are reading.

The consequence for a working group is that merging into the repository is not the same as releasing a version. A pull request against the development branch can be correct and still not be part of the published standard, and the released 3.0.0 is the version that the VDA has published.

For an integrator, the safe procedure is to implement against the published PDF, use the JSON schemas in the repository as a working reference, and treat any difference you find between them as a documentation question to raise rather than as a bug in your code.

The version ladder tells you whether a change breaks integrators

The contribution section defines how proposed changes are classified, and the classification is what a compatibility promise is built on. Three milestones are named.

V3.0.1 covers minor changes such as typos and fixes. V3.1.0 covers non-breaking, backward-compatible changes. V4.0.0 would cover breaking changes, which would mean reworking structures or variable names, and the README notes that a version 4 is currently not planned.

Reading the ladder from the bottom gives you the compatibility contract. A patch release cannot change meaning, a minor release can add things as long as existing messages still work, and anything that renames or restructures a field waits for a major version that nobody has scheduled. For a protocol that a fleet control and dozens of robots have to agree on, that is the important part of the design: the interface is expected to keep working for years, and the version numbers tell integrators what kind of change to expect before they read the diff.

The alternative shape for such a standard is a fast moving one where a small change ships weekly and every consumer has to track the main branch. This one chooses the opposite, and the milestone tags on the issues are the mechanism that keeps the promise visible to the people waiting for their change to land.

Triage happens in a monthly meeting, and the branch layout shows it

The contribution model has two tiers, and the README is candid about them. If you work for a VDA or VDMA member, you are asked to speak to your contact person about joining the working group. Everyone else is free to raise issues or suggest improvements to the protocol using GitHub issues.

The triage step is described next. GitHub issues will be marked by the VDA and VDMA team as VD(M)A in progress if the issue is discussed in the monthly VDA 5050 meetings. If the issue is accepted by the team, it receives a milestone tag indicating when the change will be added to the document, following the version ladder above.

So an issue is not a ticket with a promise. It becomes discussed, then accepted, then scheduled into a version. The label tells you where it stands, and the milestone tells you which release will carry it. That is a workable model for a standard, and it also means the queue of accepted improvements is visible in the repository rather than hidden in a meeting.

The branch layout follows the same logic. Pull requests should be created against the development branch, and the main branch contains the latest published version, which the README states is currently version 3.0.0. Contributors are expected to work in the branch that is going to be published next, and consumers are expected to read the branch that is already published.

The support policy says plainly that you get no support

The README contains a legal notice about the scope of support for VDA 5050 on GitHub, and it is unusually direct. Use of the repository and all content, information and support services in it is at your own risk. With the release of a new version, the core team may provide support for that version at its own discretion. There is no legal entitlement to support, maintenance, troubleshooting, further development or a timely response at any time, and in particular no legal obligation to process issues or to review and accept pull requests.

The next paragraph draws the line in the other direction. No support is provided for any previously published version of VDA 5050, and any responses to issues or other feedback are given on a voluntary basis, are non-binding, and do not constitute recognition of any legal obligation.

The disclaimer repeats the pattern for the content itself. There is no guarantee of accuracy, completeness, timeliness, suitability for a particular purpose or availability. All information and advice is provided voluntarily and without legal claim, no contractual relationship and in particular no support, service or consulting contract is established, and liability for damages from the use or non-use of the information, from incorrect or incomplete content, or from failure to provide support is excluded, including indirect and consequential damages and lost profits, with liability for intent, gross negligence and injury to life, limb or health left unaffected.

For an engineering team this is a useful thing to know before, not after, a deadline. The standard is maintained by an industry body and a working group, and if you need a guarantee, you need a contract with a supplier rather than an issue tracker.

A slow release history, MIT licensed, still being worked on

The release history shows the pace the standards process implies. Version 2.0.0 was released on 2021-11-25, version 2.1.0 on 2024-08-19, and version 3.0.0 on 2026-03-18. That is a major version roughly every few years, with the minor release in between taking almost three years.

For a protocol that ships as a document and a set of schemas, that cadence is coherent. There is no binary to rebuild and no library version to support, and the compatibility promise in the version ladder only means something if it is kept. A standard that released a minor version every month would be a document nobody could pin.

The repository is MIT licensed, with the terms in `LICENSE.txt`, which is the permissive licence that lets anyone reuse the specification text and the schemas without restriction, including in a closed source product. The last push to the repository was on 2026-09-28 and the project is not archived, so the development branch is being worked on, which is where the next set of accepted changes accumulates before a release is published on the VDA site.

Editorial conclusion

VDA5050 suits an integrator building a fleet control system that has to talk to robots from several suppliers, and it does not suit a team looking for a client library, a simulator or a reference implementation, because the repository contains a document and schemas and nothing that runs. Before you design against it, read the legal notice in the README and check the published PDF on the VDA site, since the README states that where the markdown and the JSON schemas on GitHub differ from the published document, the PDF is the valid one.

Frequently asked questions

What is VDA 5050 and who developed it?

It is an open standard for communication between mobile robot fleets and a central fleet control, developed jointly by the VDA and the VDMA with the IFL at the Karlsruhe Institute of Technology and contributors from the mobile robot industry. The current version in the repository is 3.0.0.

What files does the VDA5050 repository contain?

The English specification as `VDA5050_EN.md`, the machine readable part in the `json_schemas/` directory, supporting files in `assets/`, a `README.md` and a `LICENSE.txt` with the MIT licence.

If the VDA5050 repository disagrees with the VDA document, which one wins?

The README states that the PDF published by the VDA is valid if there are any differences between the markdown document and the JSON schemas on GitHub and the published document. Implementations should therefore follow the published PDF and treat repository differences as a documentation question.

How are changes to the VDA 5050 protocol classified?

Accepted issues receive a milestone tag: V3.0.1 for minor changes such as typos and fixes, V3.1.0 for non-breaking, backward-compatible changes, and V4.0.0 for breaking changes that rework structures or variable names, a version the README says is currently not planned.

What support can I expect from the VDA5050 repository?

The legal notice says use is at your own risk, that support for a new version may be provided at the core team's discretion, and that there is no legal entitlement to support, maintenance, troubleshooting or timely response. No support is provided for previously published versions.

Official sources

  1. License: MIT
  2. Project website
  3. README
  4. Releases
  5. VDA5050/VDA5050 on GitHub
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/vda5050-vda5050.svg)](https://hysenlabs.com/projects/vda5050-vda5050)

Was this useful?