11 Aug 2026 · 4 min read

Half your sites have nobody looking at a screen. They still have a SCADA licence.

edge · open-source · scada

Most estates end up standardising on one product at the edge. It is a defensible instinct — one skill set, one support contract, one thing to patch — and it means every site gets the same gateway whether or not it needs one.

Look at what those sites do, though, and they are usually two different jobs. Some have operators, screens, alarms somebody acknowledges, control logic somebody is accountable for. Others have a sensor, a panel, a network drop and nobody in the building. The second kind of site is collecting data and sending it somewhere. That is all it does.

a site with operators
· screens somebody watches
· alarms somebody acknowledges
· control logic
· a protocol driver
· a buffer
uses most of the licence
a site with nobody in it
· a protocol driver
· a buffer
uses two lines of it
The same estate standard applied to two jobs that share almost nothing. Only one of these columns is using what it was given.

At those sites the licence is buying a protocol driver and a buffer.

What I actually tested

Not an opinion piece. Two sites, side by side, feeding the same central historian.

One is a licensed gateway historising locally with store-and-forward, which is the standard answer. The other has no SCADA product on it at all — a small publisher that reads the signal, writes each reading to a local queue on disk, and sends it to a broker at the centre. Both produce a reading a second, so I can count rows afterwards and compare them bucket for bucket.

Then I cut the link to each of them for about two and a half minutes.

Both buffered. Both backfilled every reading with its original timestamp when the link came back. Counted in ten-second buckets, neither lost anything.

licensed gateway, local historianevery reading, original timestamps
no licence, small publisher + disk queueevery reading, original timestamps
Rows recovered after an identical link cut at two sites. The difference between these two bars is the licence, and it is not visible in the result.

The unlicensed site did the job the licence was being bought for, at that site, for nothing.

The part that changed my mind about transport

There is a second finding buried in that test, and it is the one I would actually act on first.

The licensed approach historises at the site and lets the database connection carry it. That works, and I have the numbers to say so. But think about what is crossing the link: a database connection, stateful, with a pool that thrashes on reconnect, one round trip per write, and a spool that flushes as a burst of bulk inserts across the link that just proved unreliable.

The other approach carries small messages over a session that expects to drop, and writes the database at the centre on a local network.

a database connection
· stateful pool· one round trip per write· bulk-insert burst on reconnect
small messages
· session that expects to drop· batched, tiny payloads· ordered replay from a queue
What each design puts on the unreliable part of the network. One of these was built for data-centre conditions and is being asked to work in a field cabinet.

Both survived my test because my test was a clean cut of a healthy link for a known duration. Real links are worse than that. They degrade, they flap, they run at a fraction of their rated speed for an afternoon. Given a choice between sending database transactions and sending small events across that, the events win on every property that matters, and the database write happens somewhere boring.

So the rule I would write on the wall is not about licensing at all: carry events across the link, write the database at the centre.

What the licence is actually for

I want to be careful here, because "use open source and save money" is a lazy argument and usually a wrong one.

At a site with operators, a SCADA product is buying things that take a long time to build and longer to be trusted: alarming with shelving and acknowledgement, an interface people are already trained on, control logic with an audit trail, and a vendor who is accountable when it breaks at three in the morning. Rebuilding that on a broker is a project with no end date. The licence there is cheap.

At a site with nobody in it, the same licence delivers a protocol driver and a disk queue. Both of those are ordinary infrastructure, available in several mature open implementations, and the one I tested is small enough to read in a sitting.

WORTH PAYING FORalarming with shelving and acknowledgement
WORTH PAYING FORan interface people are already trained on
WORTH PAYING FORcontrol logic with an audit trail
WORTH PAYING FORsomebody accountable at three in the morning
ORDINARYa protocol driver
ORDINARYa disk queue
Everything a SCADA licence delivers at the edge, split by whether it is hard to obtain elsewhere. A site that only needs the bottom two is paying for the top four.

The question is not which product is better. It is whether a given site has anybody standing in front of it.

The architecture this implies

The reason estates standardise is that a mixed fleet sounds like two of everything to run. It does not have to be, as long as the sites agree on how they talk rather than on what they are.

Put one messaging backbone in the middle. Licensed gateways publish to it. Open agents publish to it. The centre ingests one stream into one historian and cannot tell which kind of site a reading came from, because at that layer there is no difference — it is a tag path, a value and a timestamp.

licensed gatewaysite with operators──▶
licensed gatewaysite with operators──▶
open agentcollect-only site──▶
open agentcollect-only site──▶
one backbone · one historiancannot tell which site a reading came from
Two kinds of edge, one ingest path. The centre never learns which site was licensed, which is what keeps the second product from becoming a second estate to operate.

Then the edge decision becomes per site instead of per estate. A site that grows operators can be given a licensed gateway later without changing anything at the centre. A site that never will does not pay for one in the meantime.

What I would look at first

Count the sites in your estate where nobody is standing in front of a screen. If that number is small, this whole argument is not worth your afternoon and you should standardise and move on.

If it is half the estate, then work out what those sites are actually using from the product you have put there — my guess is a driver and a buffer — and price that against a backbone you probably already need for other reasons.

Then, whichever way you go, look at what is crossing the link. If the answer is a database connection, that is worth changing regardless of who you buy the edge from.

The rig, the cut, the queue depths and the eighty lines of buffering are in the lab notes. The licensed estate this was measured against — and the failover finding that reshaped it — is in the estate lab and its companion post.

Keep reading

Newsletter

New essays, by email.

SCADA, cloud, AI, and the plant floor — a short email when something new is published. No noise, unsubscribe anytime.