Certainly there not necessarily anything wrong with open source controller software but it’s no Panacea either.
And what surveillance? My heating system isn’t networked at all.
By surveillance I'm referring to what would pass for "remote notifications" of system status (after the possible bad sensor was detected). The IoTrash solution would be to backhaul your system's data to a surveillance cloud, require you to sign up for email spam, install a bespoke app that would spam you with useless notifications, faux-consent to a ridiculous anti-privacy contract, etc. Whereas in the libre world, user-focused incentives are allowed to define functionality and that notification could be a simple single email.
Making the point in general, in order for complex software to not be some terrible black box, it needs to expose its internal state to users who want to see it. Libre software tends to do that (as many users are developers), while non-libre software tends to lock all that up and thus severely limits reliability xor complexity.
Individuals are of course welcome to hack together what they want using Arduinos or whatever.
Again I very deliberately do not have a smart thermostat or other network connections to my heating so no surveillance is going on. I do have network-connected temperature sensor but it’s purely passive.
I too critically rely on heating. As system complexity increases with things like outside temperature sensors, I would much rather have visibility into their workings than not. In the middle of the night, that could be the difference between a quick ten minute diagnose and override, or waiting some hours for an emergency service call.
I had a similar failure with my hot water boiler, where an older solid state control failed such that when the circulator would kick on the burner would shut off. This allowed it to limp along heating, until a day when it was too cold out and I realized it wasn't keeping up.
re: libre software, my point isn't really about being able to audit the code, but rather about having a cross-device software-maintainer-maintained codebase that users choose to use.
FWIW another, probably better, way to mitigate this particular external temperature sensor failure mode would be a second larger control loop. When the indoor temperature is more than a few degrees below the setpoint (not as a result of a scheduled change), the furnace should be less-efficiently creating a larger amount of heat to get back up to the setpoint quicker. Which is funnily enough how people think most thermostats work when they ineffectively turn it up higher to get things warmer faster.