logo

drewdevault.com

[mirror] blog and personal website of Drew DeVault git clone https://hacktivis.me/git/mirror/drewdevault.com.git
commit: 442051276c5383a30e6ba62b1a6a726bdef990a7
parent 82f148d8dc40bdc1f1dbdc90ec5873dc7a7412b1
Author: Drew DeVault <sir@cmpwn.com>
Date:   Tue, 18 Jan 2022 19:56:47 +0100

Pine64's weird priorities

Diffstat:

Acontent/blog/Pine64s-weird-priorities.md82+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 82 insertions(+), 0 deletions(-)

diff --git a/content/blog/Pine64s-weird-priorities.md b/content/blog/Pine64s-weird-priorities.md @@ -0,0 +1,82 @@ +--- +title: Pine64 should re-evaluate their community priorities +date: 2022-01-18 +--- + +Pine64 has a really interesting idea: make cheap hardware with low margins, get +it into the hands of the FOSS community, and let them come up with the software. +No one has ever done this before, at least not on this scale, and it's a really +neat idea! Pine64 is doing a lot to support the FOSS community bringing up its +hardware, but I'm afraid that I have to ask them to do a bit more. + +There's a handful of different roles that need to be filled in on the software +side of things to get this ecosystem going. Ordered from most to least +important, these are (broadly speaking) as follows: + +1. Implementing and upstreaming kernel drivers, u-Boot support, etc +1. Building out a robust telephony stack for Linux +1. Building a mobile user interface for Linux +1. Maintaining distros that tie it all together + +Again, this is ordered from most to least important, but in practice, the +ecosystem prioritizes them in reverse. Pine64 themselves contribute no labor to +any of these focus areas, and though they provide some funding, they provide it +from the bottom of this list up, putting most of it into distros and very little +into the kernel, bootloaders, or telephony. This is nice, but... why fund the +distros at all? Distros are not the ones getting results in these focus areas. +Their job is to *distribute* the results of community efforts. + +Don't get me wrong, the distros do an important job and they ought to get the +funding they need, but this is just creating fragmentation in the ecosystem. As +one example, we could be installing the Linux distribution of our choice on the +Pinebook Pro using a standard aarch64 UEFI ISO installer, just like we do for +any other laptop, if someone spent a couple of weeks upstreaming the last 6 +patches to mainline Linux and put together a suitable u-Boot payload to flash on +the SPI flash chip. But, instead of one working solution for everyone, we have +20+ Linux distros publishing Pine64-specific images to flash to microSD cards. + +The favorites, which is apparently Manjaro,[^1] compete for funding and then +spend it each according to their own discretion working on the same problems. If +we instead spent it on the focus areas directly, then Manjaro and all of the +other distros would benefit from this work for free. The telephony stack is +equally important, and equally sharable between distros, but isn't really +getting any dedicated funding. You can't have a phone without telephony. The +mobile UI is also important, but it's the easiest part to build, and a working +phone with a shitty UI is better than a phone with a pretty UI that doesn't +work. + +[^1]: I will go on the record as saying that Manjaro Linux is a bad Linux + distribution and a bad place to send this money. They have a history of + internal corruption, a record of questionable spending, and a plethora of + technical issues and problematic behavior in the FOSS ecosystem. What limited + budget there is to go around was wasted in their hands. + +The work is getting done, to be fair, but it's getting done very slowly. Many of +the distros targetting Linux for mobile devices have people working on the +important focus areas, but as a matter of necessity: to accomplish their goals +when no one else is working on these problems, they had to become experts and +divide their limited volunteer time between distro maintenance and software +development. As a result, they've become experts with specific allegiances and +incentives, and though there's some patch sharing and collaboration between +distros, it's done informally across a dozen independent organizational +structures with varying degrees of collaboration based on a model which was +stapled onto an inherently backwards system of priorities. In a system with +limited resources (funding, developer time, etc), these inefficiencies can be +very wasteful. + +After I got my hands on the PineNote hardware, I quickly understood that it was +likely going to suffer even moreso from this problem. A course change is called +for if Pine64 wants to maximize their odds of success with their current and +future product lines. I think that the best strategic decision would be to hire +just one full-time software developer to specifically focus on development and +upstreaming in Linux mainline, u-Boot mainline, ModemManager, etc, and on +writing docs, collaborating with other projects, and so on. This person should +be figuring out how to get generalized software solutions to unlock the +potential of the hardware, focusing on getting it to the right upstreams, and +distributing these solutions to the whole ecosystem. + +It's *awesome* that Pine64 is willing to financially support the FOSS community +around their devices, and as the ones actually selling the devices, they're the +only entity in this equation with the budget to actually do so. Pine64 is doing +some really amazing work! However, a better financial strategy is called for +here. Give it some thought, guys.