logo

drewdevault.com

[mirror] blog and personal website of Drew DeVault git clone https://hacktivis.me/git/mirror/drewdevault.com.git

Pine64s-weird-priorities.md (5012B)


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