So, I know very little and have a poor understanding of the software licenses, hence why I’m asking.
I have a ‘smart’ thermostat that came with the new HVAC system. It is the AprilAire 8920W. It has a touchscreen, connects to wifi, does lots of ‘computer’ things. I cannot imagine that this furnace company built their own OS and kernel and everything else from scratch; it seems most likely it is running linux, yea? And with that, includes libraries and other tools that are under some version of the GPL, yea?
I went down the router rabbit-hole some weeks ago and found the firmware for routers available on the Linksys website, the Linksys site has this ‘GPL Code Center’. I’m finding nothing of the sort from AprilAire, though…
So, if we assume that my ‘smart’ thermostat is running Linux (and, say, busybox, a common GPL-ed tool on small systems, like routers), they are obligated to provide the code for at least those pieces of software, right? They need to give me a CD or have a page on their website (and include the link in the manual) and all that?
Do they need to give me access to the entire firmware as well? The router folks do, but you also sometimes need to re-install the firmware manually, so that may not be a license issue.
However, how would we know if they are violating a license if we don’t know what is running on it?
I’m curious about how the GPL / copy-left licenses work, and wondering if I found someone who is violating it. I also want to hack the thermostat to control it without the motherfuckin’ cloud, but that is a bit separate.
Not necessarily. There are other operating systems and frameworks for embedded devices. Especially for commercial products. It doesn’t have to be something like Linux and GPL code.
https://en.wikipedia.org/wiki/Comparison_of_real-time_operating_systems
This is a list of many other choices with many of them having non-copyleft licenses. And a thermostat is a comparatively simple device. They could also have implemented most things themselves and just taken a network-stack to connect it to the outside world. (I think network is something that is very complex and companies just buy a solution instead of writing all of that code.)