With Arduinos or equivalent and low-cost sensors you can easily build something like this yourself. Open Hardware makes the hardware part pretty easy.
What makes Nest really cool is the thought and testing they’ve put into design, which is what differentiates a really smart thermostat from one that’s not much smarter than a clunky programmable-by-day-and-time thermostat that you have to haggle with any time you want to do something different. You’ll find that takes longer to do, even with open source software. (I haven’t yet been bit by the Nest bug, and keep a sufficiently irregular schedule I’m not convinced it’ll work well for me, but on the other hand, it’d be interesting to tinker with an open version.)