# openhab-distro: Inside the openHAB Binary Distribution

> openhab-distro assembles the openHAB runtime from Java, OSGi, features, distributions, and launch configuration. It is aimed at contributors and developers who need the distribution build pipeline, while regular users are directed to the official openHAB tutorials.

**openhab/openhab-distro** — The binary distribution of openHAB

- Repository: https://github.com/openhab/openhab-distro
- Website: https://www.openhab.org/
- Stars: 1,389 · Forks: 401
- Language: PowerShell
- License: EPL-2.0
- Published: 2026-10-16 · Updated: 2026-10-16 · Language: en
- Canonical page: https://hysenlabs.com/projects/openhab-openhab-distro

## Why openhab-distro exists inside the openHAB architecture

openhab-distro is the binary distribution repository for openHAB, not the bindings catalog and not the primary repository for every openHAB component. Its purpose is to assemble the parts needed to produce a runnable openHAB distribution. The repository description calls it “the binary distribution of openHAB,” while the top-level layout points to the implementation boundary through `distributions/`, `features/`, and `launch/`. Maven metadata in `pom.xml` and `.mvn/`, together with the `mvnw` and `mvnw.cmd` launchers, indicate that distribution assembly follows a Maven-oriented build layout.

The underlying problem is broader than installing one device integration. The openHAB documentation says that bindings connect bus systems, hardware devices, and interface protocols to the openHAB event bus. A distribution must bring those integrations, automation logic, interfaces, and runtime pieces into a coherent package. openhab-distro represents the packaging side of that arrangement: it provides the repository structure through which the runtime is assembled.

This distinction matters for evaluation. Someone looking for a binding for a particular device should begin with the relevant binding documentation, not this repository. Someone deciding how the full openHAB runtime is composed, packaged, or built should examine openhab-distro. The repository also links contributors to openHAB binding development, but it does not present itself as the location for every binding implementation.

## Java, OSGi, features, and launch configuration

openHAB is described as a pure Java solution built on OSGi. In that architecture, dedicated bindings send commands and receive status updates through the openHAB event bus. The same document says that this event-bus design lets automation rules operate across system boundaries while user interfaces can remain visually distinct from the devices and protocols behind them.

Based on the repository entries, openhab-distro separates the distribution into several concerns. `features/` is the natural location for OSGi feature definitions, `distributions/` represents assembled distribution output, and `launch/` contains runtime launch configuration. `pom.xml` provides the project-level Maven definition, while `.mvn/` stores build-specific configuration. This is a packaging and composition repository around openHAB's Java runtime, rather than a single application script.

That structure also clarifies why this repository is not interchangeable with a general Java application repository. It does not merely contain source code that compiles into one library. Its purpose centers on feature resolution, launch configuration, distribution artifacts, and associated licensing metadata. The repository includes `licenses/`, which is consistent with producing a distributable package that needs to account for third-party components.

The README does not expose the complete feature dependency graph, the production launch configuration, or the exact contents of a generated archive. Those details cannot be inferred from the directory names alone. Engineers who need to verify runtime behavior must inspect those repository areas or consult the official tutorials and developer documentation.

## Official setup path and first-use boundary

The README does not provide installation commands for end users. It directs people who are getting started to the official openHAB tutorials at `https://openhab.org/docs/tutorial/`. As a result, there is no justified command sequence to reproduce in this repository, and inventing one would risk producing the wrong installation or service configuration.

For developers, the documented first route is the openHAB developer documentation. The README links to `https://www.openhab.org/docs/developer/#setup-the-development-environment` for IDE setup and says that this route is intended for developers who want to work with the sources and execute openHAB within an IDE. It also links to `https://www.openhab.org/docs/developer/bindings/` for binding development.

The repository contains `mvnw` for Unix-like environments and `mvnw.cmd` for Windows command environments. Their presence confirms wrapper-based Maven tooling in the project layout, but the README does not state the required Java version or give the exact goals that build a release. It would therefore be misleading to present a generic Maven invocation as an official first use.

A practical first-use decision depends on the reader's role. A regular user should follow the official tutorial for installation and initial setup. A contributor can use the linked IDE setup, then inspect the relevant `features/`, `distributions/`, and `launch/` files. Before attempting a complete build, that contributor still needs the toolchain requirements from the linked developer documentation, because they are absent from this README.

## Build scope, release artifacts, and upgrade implications

The repository offers two documented build-status entry points: GitHub Actions for the `ci-build.yml` workflow and the Jenkins `openHAB-Distribution` job. The README specifically identifies Jenkins as the place to find the latest snapshot builds. This indicates that continuous builds and release packaging are central to the repository, although the README does not publish the Jenkins output format or artifact naming convention.

The release history also distinguishes milestone and stable outputs. Listed releases include `5.3.0.M3`, published on 2026-10-11, and stable releases `5.2.3` and `5.2.2`, published on 2026-10-10 and 2026-10-07. That pattern matters when selecting a target: milestone builds belong to the prerelease line, while the other listed versions are stable distribution releases. The README does not explain upgrade compatibility between these branches.

Maintenance activity is recent enough to report precisely. The repository is not archived, and its last push was on 2026-10-12. Recent commits alone do not guarantee compatibility or operational stability, but they do show that this distribution repository was being changed during the current release period.

An upgrade can affect more than copied binaries. Feature composition, launch configuration, bindings, and bundled dependencies are separate moving parts. Users should confirm the release documentation for migration requirements. The README itself does not document rollback, upgrade paths, or compatibility guarantees, so those points cannot be settled from this repository overview.

## License scope and the limits of this README

openhab-distro uses the Eclipse Public License 2.0, identified as `EPL-2.0` in both the repository metadata and the README badge. For engineers, that means the repository's own licensing signal is explicit. The separate `licenses/` directory also suggests attention to licensing information during distribution assembly.

That does not mean every file or every bundled dependency has the same license terms. A binary distribution may combine components with separate obligations, but this README does not enumerate those components or provide a generated third-party notices report. Accordingly, the safe conclusion is limited to the stated project license. Teams with formal compliance requirements need to inspect the relevant `LICENSE` and `licenses/` content for the exact version being distributed rather than relying on the README badge alone.

The README is also intentionally short and links elsewhere for nearly all operational detail. Installation is delegated to the openHAB tutorials, IDE setup to the developer documentation, binding work to a separate development guide, and snapshot builds to Jenkins. This makes the README useful as a map of the openHAB ecosystem, but weak as a complete build and deployment reference.

That thinness affects project selection. openhab-distro offers direct access to distribution composition and continuous build infrastructure, yet it does not answer several engineering questions locally: supported operating systems, required Java version, database setup, network binding prerequisites, generated archive names, or upgrade procedures. Those omissions are not necessarily defects, because the repository may intentionally delegate user operations elsewhere, but they should be treated as explicit evaluation boundaries.

## IDE development compared with packaged installation

The README presents two concrete paths rather than forcing every engineer through the same repository. Developers can execute openHAB from source within an IDE by following the linked setup procedure. This is the appropriate alternative for contributors who need to inspect feature definitions, modify launch configuration, or understand how distribution components relate.

Regular users have a different route. The project sends them to the openHAB tutorials for getting started, which separates installation-oriented documentation from the source and distribution build repository. The practical difference is the work being performed: the IDE route serves source-level development and contribution, while the tutorial route serves users who want an operational openHAB installation.

For evaluators, this avoids a common category error. openhab-distro can be the right repository for packaging questions even when it is the wrong installation source for an end user. Conversely, choosing a packaged installation path does not remove the need to consult openHAB documentation for add-ons, bindings, and runtime configuration.

The repository does not provide enough information to compare openHAB with another home automation platform. Naming an external product here would add claims absent from the source. The supported comparison available from the README is narrower and more reliable: use the tutorials for a user installation, use the IDE setup for source execution, and use openhab-distro when the question concerns the binary distribution itself.

## Conclusion

Developers and contributors who need to inspect or build the openHAB distribution should use openhab-distro, while ordinary users should follow the official openHAB tutorials instead of treating this repository as a ready-made installation guide. Before adoption, verify that the required bindings, launch configuration, Java build environment, and release artifacts match your target openHAB version, because this README does not document the full build procedure or supported deployment platforms.

## FAQ

### What is the openhab-distro repository used for?

It is the binary distribution repository for openHAB. Its top-level areas for features, distributions, and launch configuration indicate that it assembles the runtime rather than serving as a catalog of all bindings.

### How do I install openHAB for regular use?

The README directs users to the official tutorial at `https://www.openhab.org/docs/tutorial/`. It does not document installation commands in this repository.

### Where can I find openHAB snapshot builds?

The README points to the Jenkins `openHAB-Distribution` job at `https://ci.openhab.org/job/openHAB-Distribution/` for the latest snapshot builds.

### What license does openhab-distro use?

The repository and README identify the project license as `EPL-2.0`. The presence of `licenses/` also indicates that distribution licensing information is maintained within the repository.

## Sources

- [License: EPL-2.0](https://github.com/openhab/openhab-distro/blob/main/LICENSE)
- [openhab/openhab-distro on GitHub](https://github.com/openhab/openhab-distro)
- [Project website](https://www.openhab.org/)
- [README](https://github.com/openhab/openhab-distro/blob/main/README.md)
- [Releases](https://github.com/openhab/openhab-distro/releases)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/openhab-openhab-distro
