As everybody who reads this site on a regular basis knows, I'm a strong advocate for Free and Open Source Software (FOSS). What I don't spent quite as much time talking about are my preferences regarding hardware. The reason for this is pretty simple. My hardware preferences are pretty fleeting. While I have been a dedicated user of Linux for years, I struggle when it comes to identifying an equivalent entity on the hardware side of the fence.
Mind you, in person I get asked this kind of thing all the time. Relatives like to ask the tell-tale question of, "What laptop should I buy?" Hell if I know. Half the time I barely know what to buy for myself much less them. The reality is that I have started to integrate FOSS standards into my hardware selection process. This makes it exceedingly difficult to buy hardware as there really isn't any hardware out there which meets the high standards set by FOSS.
That's as much a testament to the awesomeness of FOSS as it is to the lackadaisicalness of the hardware companies. But its not just the front line hardware companies that are the issue here. The problems on the hardware side of the fence actually go much deeper than the OEMs themselves. Take the processors for instance. When purchasing a run of the mill laptop your typical choice is between hardware built around an Intel processor and hardware built around an Intel processor. Yes you read that correctly. In the world of portable computing involving a keyboard, ARM is pretty non-existent minus a few hobbyist options such as this or even this. Sadly I own versions of both of those and I can confirm that neither is suitable for daily use.
So whats the problem with Intel? Well the answer to that is complicated and can generally can be summed up with two words: A lot. To be more specific Intel Management Engine is a pretty big problem. What is Intel ME? Well it's basically another processor built into your Intel processor which runs its own OS and has access to everything your processor has access to. It also runs an OS you have no control over. In other words for the typical FOSS advocate: It's the anti-christ. On top of all this, Intel ME has recently been diagnosed with a variety of security holes. But wait, that's not all. Intel has additional problems, not the least of which concerns a raft of security issues revolving around their chip design which are beginning to emerge.
Okay so how about AMD? Forget it. Not only is their presence in the mobile computing space pretty minimal but their processors ship with something known as a "Platform Secure Processor". It is the equivalent of Intel ME and it too has massive security holes. What about ARM? I wish. Right now ARM just isn't competitive enough in a laptop space to be able to produce a performant processor and/or system unencumbered enough to please a FOSS advocate such as myself. While we've got a few FOSS friendly pieces of ARM hardware such as the Raspberry Pi, they just aren't good enough for day to day end user tasks such as browsing the web.
Okay so having said all that, I have a confession to make. I'm typing this to you on a laptop that is powered by an Intel processor. That's right. My current laptop of choice is a Purism Librem 15 rev3. Now to be clear: Purism is on the right side of this battle. Their laptops are expensive. Why? Because they are taking the time to fight this battle and they take it very seriously. For starters Purism laptops ship with Intel ME neutralized and disabled. Most of the ME subsystem has been completely removed from the system firmware (except the tiny part this is actually required to boot the system). In addition the system doesn't rely upon a closed source BIOS or UEFI component and instead uses open source firmware known as CoreBoot.
The hardware inside the Purism can be operated entirely via FOSS drivers, no binary blobs required. To be blunt: I love this laptop. However, even I had to compromise on this ideal to some extent. For example: The wifi card the Purism ships with may be completely usable with FOSS drivers but it also happens to be terrible and doesn't have 802.11ac capability. I have since rectified that by replacing it with an Intel 8260. It has its quirks in this particular configuration (needs to reboot after a cold boot in order for the wifi card to work, but this is negated for me by a perfect implementation of sleep and wake) but it was worth it as my wireless performs wonderfully. I have a compatible Broadcom card that I purchased which exhibited promising results during my initial testing as it appeared to not suffer from this quirk. However Broadcom's reputation in the FOSS world is pretty bad though this card does have FOSS drivers via the broadcom-wl driver. That driver does however require a firmware binary blob similar to the Intel one. Nevertheless I will probably be giving that card another shot down the road. Yes to be clear: While I am a FOSS advocate, I am also a pragmatist.
Prior to the Librem laptop, I was using a Lenovo Thinkpad t460s which unceremoniously fried itself after a year and a half of daily use one morning four months ago while I was docking it. While it was a decent laptop with solid Linux compatibility, the truth is that the Librem is far superior. My Linux experience has been frought with far less drama on the Librem than it was on the t460s. Prior to the t460s I was using a Lenovo Thinkpad Carbon X1 (3rd Generation) which was handed down to my wife after a year. She was using it until a few days ago when an unfortunate drop of a few inches onto carpet rendered the laptop unusable.
So what did I replace her Lenovo with? Not a Purism sadly as I just don't have that kind of scratch (nor time as shipping times seem to vary on Purism hardware). Instead I bought her a System 76 Galago Pro with a very close to baseline configuration as her requirements aren't particularly high. System 76 makes a solid laptop. I have owned several of their models over the years and I have generally been pleased with them. The only thing that drove me into the arms of Lenovo from System 76 to begin with was a desire for more battery life. Sadly while it appears that System 76 has yet to tackle this issue, they are working to make their hardware more free by disabling Intel ME on their shipping hardware. To be clear: This is a huge step forward and represents a more mainstream adoption of an approach that until recently was considered the sole provision of conspiracy theorists and privacy hardliners/kooks such as myself.
Of course it doesn't hurt that the Galago Pro is small, cute and appears to be widely coveted throughout the Linux community. While I have yet to receive it, I have very high hopes for it. My wife on the other hand is estatic. Why? Well as it turns out this is actually the first laptop I have ever purchased just for her. She has for all intents and purposes been using my hand-me-downs for almost 14 years now. You know what though? I'll sneak some time with it. I can't help but to be jealous of it.
What would I recommend the average run of the mill user buy? In truth, I have no idea. I'm simply not in tune enough with the needs and desires of the average user. In addition, most of them want Windows compatible systems and to be honest: That is the absolute last thing I would want. At the end of the day the diametric opposition in our requirements means that I am thoroughly unqualified to offer advice in that situation.