ref: 709d530e02562604dc3af3dd209aba92068d3d14 jleightcap.srht.site/blog/openphone.md -rw-r--r-- 12.9 KiB
709d530ejleightcap Merge branch 'phone' into main 7 months ago

#author: Jack Leightcap date: 2022-04-08 read: 20 min style: ../style.css title: Smartphones are Shit: the Case for LineageOS and the Pinephone toc: True


Don't smartphones... kind of suck? How many times have you had to replace a phone in the past 10 years? Do you have a drawer of random crap with a growing pile of phones, or have you tried to absolve some regret and taken a few trips to an e-waste "recycler"? The battery no longer holds a charge; it gets way too hot; replacing a cracked screen costs more than just getting a new phone; new updates are unbearably slow; updates stop altogether; support stops altogether.

#Longevity: Hardware

Compare your phone to a desktop computer: while not perfect by any means, most desktop computers are so modular they can be Ship of Theseus'd many times over. Does a fan start making a horrible noise? You can probably find a replacement on eBay for pretty cheap if you know what to look for. Even if you're not tech-savvy, you can pay a premium to have a repair shop fix the fan for you.

Bit of an unfair comparison considering you don't keep a desktop in your pocket -- what about something like a laptop? Historically, laptops have been pretty repairable, but as time goes on less and less so. Spill a drink on your laptop keyboard, have fun,

MacBook Keyboard Replacement {{{ Apple Really Doesn’t Want You To Fix This - MacBook Keyboard Replacement, © 2022 Hugh Jeffreys via Invidious }}}

If you can sacrifice some 'sleekness' and a maybe a little bit more weight, laptops sold in bulk to companies or schools are becoming the last bastion of laptop repairability. I'm writing this on a laptop from 2008 that's held up just fine with a battery replacement and some memory upgrades made easy by a very repairable design.

x200 {{{ Laptop Repairability: X230 Exploded View, © 2022 XY Tech }}}

Smartphones? Repairability and modularity are actively avoided by manufacturers. Just taking apart a modern iPhone is a warranty-voiding, screen-cracking, glue-ripping operation. If your battery doesn't hold a charge, even if every other component of the phone is working just fine, the implicit (and even sometimes explicit) goal of smartphone manufactures is for you to just buy another phone.

The issues this runs up against are Circular Economy and Planned Obsolescence, see M. Barros, E. Dimla: From Planned Obsolescence to the Circular Economy in the Smartphone Industry: an Evolution of Strategies Embodied in Product Features via sci-hub

#Longevity: Software

Hardware's lifespan is always finite; everything breaks eventually. The more frustrating source of turnover is software obsolescence. Apple has a very good stated support window of 5 years, but as developers engineer software targeting only the newest and most powerful phones, you start to notice updates making your apps slower. Eventually you stop getting updates all together. The same applies for the other major smartphone operating system Android.

This is the tragedy of modern software: we've built abstract software systems that can be replicated infinitely at no cost, don't inherently degrade, don't wear out with use; but ever-increasing demand for more complexity and novelty makes software "rot" just the same as hardware.

#Open Source

But... how can I get stuff done on my 2008 laptop while my 2018 smartphone struggles to open Slack? Like, installing Windows on this laptop is totally possible, but Microsoft has no financial incentive to support this hardware let alone test their products' usability on it. This means, as far as Microsoft is concerned, I can either use something way too slow to be usable or something that stopped receiving security updates half a decade ago.

A remedy is Open Source.

"What is open source?" is easier to answer by describing what it is not. The code that runs on an iPhone, for example, is totally inaccessible to the end user. If you've wondered why something was broken, even if you might have the skills to fix it, you have no power besides complaining to Apple and hoping they eventually bless you with a fix. While much less user-facing, the same applies to hardware design. Sure, this makes sense for Apple from a consumerist, hyper-capitalist perspective; Apple doesn't want other companies to freely benefit from their novel engineering efforts. From a longevity and sustainability perspective: this closed source model leads to repairability being at best a marketing feature rather than design principle. But plenty of incredible engineering work has been done totally opposite this philosophy: under open source! Even if you don't personally care about the internals of how some hardware or software works, imagine if repair shops or volunteers had access to hardware and software designs -- these accessible designs would allow support for old phones far beyond what manufacturers intended!

In contrast to releases of iOS (the very base software that makes up an iPhone), a fully open-source alternative -- the Linux kernel -- is cautious to the point of paranoia about both backwards compatibility and hardware support. The open-source internet browser Firefox has consistent releases and a community maintainers that make accessing the internet on weaker computer hardware easy. Plenty of older, more light-weight software and protocols like RSS or IRC -- even email! -- certainly aren't flashy but allow living in the modern digital age without overabundant resource use.

This is the promise of open source. While profit-driven companies have little to no incentives to support end-of-life devices, open source builds on a collective commons of labor. The motivations for open source can seem totally counter-intuitive under a system of only closed source choices, but open source technology forms the backbone of the internet, develops the tools used to build almost all software projects, and provides user-facing software like Firefox.

I think a reasonable objection and unique challenge in open source is not environmental sustainability, but labor sustainability. With no corporate backing structure, is this something you can or should rely on? I'd argue yes: see J.-F. Boujut, F. Pourroy, P. Marin, J. Dai, and G. Richardot, Open Source Hardware Communities: Investigating Participation in Design Activities via sci-hub

Open source technology, While no means a magic bullet and certainly having its own unique set of challenges, has proven itself more suitable for sustainable technology.

#Open Source and Smartphones


If this sounds promising, what's a solution that exists now, even if imperfect?

A part of the common smartphone operating system Android is already open-source (the Android Open Source Project, AOSP). The functionality of AOSP, however, is only a very core piece of an Android smartphone. Google itself adds its own closed source software that allows access to the Google Play Store, the assumed default for downloading new Android apps. Different phones use different hardware, and phone manufacturers (Samsung, Motorola, Google) also have proprietary software specific to that hardware.

A current solution, building on top of AOSP, is LineageOS. What LineageOS does, to oversimplify an incredible amount of effort, is reverse engineer and provide replacements for these closed source pieces of software. The result is an open source Android smartphone operating system with a much longer support window, allowing phone hardware to be useful long after intended.

If this sounds promising, and you're at the point of needing a new phone, consider:

  • Finding a smartphone supported by LineageOS. Buy one second hand! Maybe find a broken phone -- otherwise e-waste -- and see if it can be repaired. Other projects similar to LineageOS exists that support an ever wider set of hardware.

More in line with an overarching goal of hardware sustainability, an exciting project is the Fairphone which is close to a drop-in replacement for existing Android phones. See T. Wernink, C. Strahl, Fairphone: Sustainability from the Inside-Out and Outside-In via sci-hub

  • Installing LineageOS. If you are somewhat tech-savvy, the instructions are very well written and easy to follow. If not, consider finding a repair shop familiar with Android phones; or even some online vendors sell phones with LineageOS pre-installed.

This is what I use personally and would recommend to most people.

![LineageOS on a OnePlus]width=20%

{{{ my OnePlus phone showing the LineageOS logo }}}

If you have previously used an Android smartphone, LineageOS will feel very familiar. You can choose to use something like F-Droid as an open-source equivalent of the Google Play Store or install proprietary software on top of LineageOS that allow access to the existing pool of Android apps if needed.

But, there are some limits to this:

  • The hardware that LineageOS runs on... is still proprietary! LineageOS alone doesn't solve problems like batteries being impossible to replace or no availability for replacement parts.
  • The software isn't even fully open source! The lingo for this is binary blobs, meaning there's some small closed-source 'blobs' of code deep in LineageOS that control small pieces of hardware.

Of these binary blobs, the most fraught is the software used for the modem. The modem alone makes the goal of a totally open smartphone nearly impossible. Qualcomm has a legally-approved monopoly over effectively forcing use of proprietary software for any smartphone. See E. Hagemann, Essential Facilities, Essential Patents, and the Essential Oversight of Qualcommm via SSRN


So, if you want a true open source phone, both hardware and software, what can you do? A promising project with a very active community is PINE64's Pinephone. The Pinephone doesn't build on AOSP and instead is a totally group-up approach using the Linux kernel directly. This is not something I'd recommend unless you're truly dedicated to open source and want to be early to the first generation of open source telephony.

Pinephone with SXMO

{{{ my Pinephone running a Linux distribution with SXMO }}}

I've used a Pinephone intermittently, and my experience is that

  • Using the tools I'm familiar with from desktop computers to do things on my phone is fantastic. My phone feels more like an extension of how I use computers already rather than being a walled-off monolith.
  • Being familiar with and preferring modest software on a very old computer is useful. RSS feeds, mpv+youtube-dl, IRC, email all work great right out of the box.
  • Transferring a phone number is ideally as easy as putting the SIM card in the phone. I had a lot of issues with this, but the issues were just a result of Verizon being a terrible company.
  • Software support is still early in development. A lot of what most smartphone users would consider required is not available. For example, alternatives to navigation apps like Google Maps are still very early in development. When you go to a bar you get to be the weirdo that doesn't have Venmo and can't scan the dumb QR code menus.

But... I really hope the Pinephone succeeds! It's one of the very few ongoing projects I'm genuinely excited about. I would love to use the Pinephone as my daily use phone. I think the Pinephone gets as close as possible to the desktop computer idiom and makes smartphones feel like what they really are... just a really small computer!

That modem issue I mentioned for LineageOS? The Pinephone community is actively working to reverse engineering and provide a replacement to the standard binary blob. It's an isolated effort and not going to be included in any stock installation -- other projects don't want the legal culpability. This is an awesome example of a distributed open source community taking on an issue that would never be tackled otherwise. See: pinephone-modem-sdk, EG25-G reverse engineering

#TL;DR: Where to Go From Here?

The next time you reach the end of an artificially short smartphone lifespan, I'd encourage you to stop the cycle of predestined e-waste and refuse to support the companies that make it happen. Buy a phone second-hand.

LineageOS is a mature, user-friendly software solution that exists now. But, it's a stop gap. I hope soon the Pinephone is a viable solution for the first smartphone -- both hardware and software -- that isn't shit.