Dear Paul,
I got a lot of useful info via a recent Linux Unplugged podcast [1] mainly covering the release of the phone. The problem with phone-hardware in general, is the fact that a build is needed for a specific phone since auto-discovery of peripherals like on a regular computer is missing. Add to that the fact that electronics are developed more rapidly than foss-drivers an be developed (please read my blogpost relating to this issue [2]). So unless you have a say in the electronics, it is very hard and especially time-consuming to develop this lowest layer as foss. For example the Fairphone has had to stop offering system-upgrades to their phones because of these issues [3], and that is also why project like Neo900 and GTA04 exist. [1] http://www.jupiterbroadcasting.com/77087/ubuntu-calling-lup-79/ [2] http://nicorikken.eu/blog/why-eoma68-will-advance-both-free-software-and-fre... [3] https://blogs.fsfe.org/pboddie/?p=802
So considering that a shipped product is better than a dreamed up one, Ubuntu had to use the proprietary board-support-package with drivers in order to get a kernel running. What is nice of the Ubuntu Phone in particular, is that they've added an additional layer in respect to the Android ecosystem by separating the firmware in a device-specific part and an Ubuntu-part. In this way they can keep updating the Ubuntu-part indefinitely indefinitely and add the lowest layer to create an image per phone. So rather than devices being stuck with old firmware like on Android, you can keep your phone up to date.
I hope that you'd be able to replace the middle Ubuntu-layer and the top Userland layer to run other systems, although I lack insight in that. Then again somebody has been able to reverse engineer the lower layer for the Nexus 5 and therefore there now exists a version for the Nexus 5 as well (although somewhat buggy still). So in this regard anyone can add support for specific hardware and stack the top layers on it.
The Bq phone is based on a phone being shipped with Android, so to answer you questions (please correct me if I'm wrong): - No open bootloader (although it is probably not locked) - No modem separation as they mostly come intergrated (please look into the GTA04 effort [4] for this) - Non-free drivers are needed in the lowest layer - The Ubuntu-store (yet to be officially launched) for the phone would allow non-free programs to be installed, but I guess that is up to the user. * I'm not able to answer whether or not non-free code is shipped apart from the board-support-package. Considering Ubuntu's practice in general, I would assume they favour free, but would eventually choose based on usability or performance. [4] http://projects.goldelico.com/p/gta04-main/
Either way, I nearly bought one but I just missed out by the flash-sale. I'd definitely be ordering one, because I believe this stack is much more freedom-respecting than Android. More frustrating my perfectly fine phone is still on Android 2.2 with a lack of application support and a whole load of known bugs. I haven't looked deep enough into Jolla or Tizen to judge them. Maybe others can elaborate more on this.
Thanks for asking the question and initiating me to write an overview, which is likely to be reformatted as a blogpost for reference.
Kind regards, Nico Rikken