The only closed parts are PowerVR drivers, Wi-Fi firmware and Bluetooth firmware. The closed firmwares will work with recent mainline kernels. PowerVR is working with patches which are unlikely to ever be accepted upstream. It really depends on what you expect from a fully functioning device. If you expect to be able to run a Linux distro for the desktop, that will mostly work. If you expect to have something like Fremantle with everything integrated, where everything works like phone calls, etc, well we're not quite there yet. That's what we're aiming for with Leste. Most of the stuff left to do is in userspace, bar the odd kernel bug. Right now the N900 is the phone with best support in mainline Linux. If you're looking for something more modern, the Droid 4 is catching up.