A lot of modern software, ours included, is built on top of components we didn't write ourselves. Most of those come with terms that are perfectly fine for the kind of proprietary software we sell to a customer, like Parking ANPR. Some don't, and the difference matters a lot once you're the one signing the contract.
Not every open license means the same thing
Some open licenses are written on the assumption that anyone using the software also gets its source code. That's a reasonable assumption for another open project. It's a real problem for closed-source software we sell to a single customer: including a component under those terms in a shipped product would mean either opening up our own code, or arranging a separate commercial agreement first.
Keep the stricter pieces out of what ships
Where a component like that is genuinely the best option for a job, it can often still be used to prepare something, rather than to run inside the finished product. We've done exactly that: a stricter-licensed tool is used once, on a development machine, to produce a file the shipped app then runs through separate, unrestricted software. The stricter tool itself never gets bundled into the installer, and it's never imported by anything a customer's machine actually runs.
Prove the swap didn't change anything
Swapping how something runs is only safe once you've actually checked it doesn't quietly change what comes out the other end. We run the same real, captured data through both the original and the swapped version and compare the results directly. They come back identical. Skipping that check would just mean hoping, and hoping isn't a licensing strategy.
Why this is worth doing at all
None of this changes what the software does for the person using it day to day. It just means we can hand a customer a finished, closed-source product without owing anyone else a fee for a piece of tooling that was only ever meant to help build it, not to be part of what gets sold.
Want to talk about something like this?
We take on new projects across agentic systems, web, mobile and custom software.