The software is part of the package and is required to make the machine work - we don't just buy a bundle of components.
They could produce a firmware with the same functionality that the hardware had at your purchase, but make the firmware impossible to upgrade. Essentially giving you what you bought and reimburse any software that required a newer firmware. I wonder if that would work.
A brick with functionality