NEXT HMIDocs
Licensing / Licence

Licence

NEXT HMI is free and open-source software under AGPL-3.0. Most people who run it owe nothing and pay nothing, forever. This page is the short, practical version; the binding text is in LICENSE.txt and LICENSE-AGPL.txt.

What you get, free

The open-source build is the whole product. Historian, alarms, recipes, users and groups, peer transfer, the editor, the custom-widget SDK — all of it is in the box.

There is no licence key, no feature unlock and no runtime check anywhere in the code. Nothing phones home, nothing expires, nothing counts your tags, your screens or your operators.

Does the AGPL ask anything of me?

Almost certainly not. Its obligations start only when you redistribute a build or serve a modified build over a network — and then only for changes to the platform.

What you're doing What the AGPL asks
Running NEXT HMI on your plant network, unmodified — commercially, at any scale Nothing.
Building projects, widgets and themes with it Nothing. Your project content is yours (see below).
Handing a colleague the official zip Nothing beyond passing the licence along.
Shipping a modified NEXT HMI inside your machines Offer your recipients the source of what you shipped — or buy a commercial licence instead.
Offering a modified NEXT HMI as a hosted service Same, under AGPL §13, to your network users.

The AGPL never requires payment. A commercial licence is the alternative to complying with the source-disclosure terms, not a fee the licence imposes.

Your project content is yours

The copyleft covers the platform — backend, runtime, editor. It does not reach the content you author with it:

  • pages, layouts, widget trees and property expressions
  • themes and token overrides
  • translations
  • datasource configurations
  • alarms, recipes, users, and the rest of the per-project configuration
  • custom widgets you author under custom-widgets/<Name>/index.tsx

You own all of it outright. Keep it private, license it how you like, ship it as part of a commercial product — with no obligation to release it under the AGPL and no obligation to disclose it under §13. This is stated explicitly so that a strict reading of "derivative work" can't be used to claim otherwise; the full text is in LICENSE-EXCEPTION.md.

A custom widget consumes documented runtime globals on window.__nextHMI__. Using a documented interface does not make your widget a derivative of the platform.

The attribution notice

Every load of the operator runtime shows a boot screen with the product logo and the AGPL-3.0 notice, for a minimum of two seconds. That notice is the open-source build's attribution.

The project setting shell.attribution can hide it (mode: 'hidden') or replace it with your own title and text (mode: 'custom'). It is plain configuration — the build reads and verifies nothing, so changing it is a licence violation rather than something the software stops. White-labelling requires a commercial licence.

When you'd want a commercial licence

Three situations, none of which apply to a plant that just runs the thing:

  • You redistribute a modified build — a machine builder embedding NEXT HMI in shipped equipment, an integrator delivering a modified build to clients, a SaaS vendor hosting one. Priced per shipped unit.
  • You want to white-label — replace the boot-screen logo and notice with your own branding.
  • You want signed installers, an SLA, or a contractual counterparty — available to everyone, including AGPL users who never redistribute. Signed release binaries themselves are free for all users; this option adds the support relationship.

How to buy, and the current pricing, are in COMMERCIAL.md.

Bundled third-party components

Two runtime dependencies are LGPL rather than AGPL — asyncua (the OPC-UA client) and zeroconf (LAN peer discovery), both used unmodified. In the portable and Docker builds they ship as loose, replaceable package directories under lgpl/ beside the executable rather than frozen inside it, so a recipient can substitute their own build. Their full licence texts travel with every release.

The complete third-party inventory is in NOTICE.