About OpenWebHMI

An open-source, web-first SCADA/HMI platform for small and mid-size industrial systems. The product core is AGPL-3.0-only, the wire-protocol packages are MPL-2.0, and development happens in public on GitHub.

Mission

Industrial automation has been locked behind closed source and per-server licenses for decades. There is no equivalent open-source platform with reach comparable to Inductive Automation Ignition or Rockwell FactoryTalk Optix. Most open-source HMIs are toy-scale, abandoned, or single-language stacks that don't address the SCADA + HMI surface seriously.

OpenWebHMI's goal is a credible open-source platform a small or mid-size plant could actually run — without a JVM, without per-server licensing. Rust handles the plant-facing core, TypeScript handles the designer and browser runtime, and CPython workers provide an automation surface without placing Python in the control path.

How it's built

The project is built with explicit human direction and AI-assisted implementation. The workflow is public, reviewable, and durable:

  • Claude — design, architecture, and code review.
  • Codex (GPT) — development, debugging, refactoring.
  • The maintainer — steers product direction, accepts work, and runs hardware validation.

Every task brief, working note, code review, and merge verdict lives in docs/agents/tasks/ as a versioned markdown file. The protocol is documented in docs/agents/README.md. Anyone can read the project's full development history, review by review, by reading the repo.

Contributing

Contributions are welcome. The main contribution surfaces are drivers, components, and script libraries; packaging and distribution contracts for third-party extensions continue to mature before 1.0.

  • Drivers (Rust) implementing the Driver trait.
  • Components (TypeScript / React) declaring a propsSchema that drives the designer's property panel automatically.
  • Script libraries (Python) exercising the system.* standard library within the documented host.

Read docs/contributing.md ↗ for the PR workflow and quality bar.

License

OpenWebHMI's product core is AGPL-3.0-only; only the Rust and TypeScript wire-protocol packages are MPL-2.0. Commercial use remains permitted under those terms. There is no alternative commercial license, activation server, module fee, or per-server fee. Revisions through a8cbdbc keep their prior MIT grant; it has not been revoked.

License map and canonical terms ↗ · Transition FAQ ↗

User-created plant projects and process data are not claimed by the project. Software copied into a project remains governed by its license. OpenWebHMI™ is an unregistered mark; the project does not use ®.

Maintainer

Sergio Gallegos · project maintainer. Review the roadmap and progress, share what you like or would change through GitHub issues, or connect on X and through the personal website for updates and follow-up conversations.

Sponsorship supports development, hardware validation, testing, and documentation.

Status

Pre-alpha. The architecture, roadmap, and feature scope are documented; foundation hardening and validation remain in progress. Don't deploy this anywhere that matters yet. A 24-hour validation run against a physical Rockwell PLC is the binding real-hardware gate before 1.0; other protocol claims remain limited to their recorded test evidence.

As of October 2026, allow at least another year before a public beta: October 2027 or later, subject to scope and validation. This is a planning horizon, not an announced release date. Optional edge + cloud services for multiple locations remain a post-1.0 direction. Follow the roadmap ↗