Hacker News new | ask | show | jobs
by person3 1956 days ago
I never really got this... Surely just forking Android and replacing all the closed source Google apps with open source alternatives would be easier? Why build an entirely new operating system, when Android already uses the Linux kernel and is open source. A free software fork of Android could accomplish all the of the same goals as PinePhone while providing all the benefits of the existing support and ecosystem.

edit: apparently this already exists: https://replicant.us

3 comments

A few reasons:

After a few years (3 if you are lucky), your phone will stop getting updates. I have a Nexus 5 with the last "official" update over 4 years ago. I have a Nexus 5x that stopped getting updates 2 years ago.

https://support.google.com/pixelphone/answer/4457705

To compare, I have a laptop from 2008 (A Thinkpad x200) that runs mainline Debian no problems, and bit the thing will die before it stops getting mainline support. I want a phone where I can like that too.

In all but a select, very few devices, Android is not fully open source, nor will it ever be.

On a Pixel 3a, if you follow the offical compiling guide, there is a HUGE (~400 MB) vendor.img file you are forced to install, and you have to integrate several other proprietary libraries to get the Pixel 3a to even boot.

On top of that, pure AOSP cripples the phone (and by that mean SMS breaks with LTE, you lose voLTE, Wi-Fi calling, etc.) A lot of Android ROMS have to scrape official images to get the binary bits (and it is nor a fun needle in a haystack excerise) to get basically phone functionality in Android.

Running Android without Play Services cripples your phone in a number of ways.

And anyway, Android, even the free software part, will always do what Google wants to do. One may fork Android, but maintaining an ever diverging fork would have an ever growing cost.

And there are aspects of newer Android versions that are less than ideal. For instance, one can see how Termux is struggling to keep working: it is not possible to run binaries that are not part of an Android package (APK) anymore. This is a security feature, but it's not always relevant depending on how you use and manage your OS.

Plus, developing for Android is a pain. You need to download, setup and use a bloated SDK with a non-free license. There's Android Rebuilds [1], but it's not complete.

I trust GNU/Linux distros like Debian, Fedora, openSUSE, Arch, Manjaro to evolve in a direction I like. postmarketOS probably too, but I'm not familiar with it as well.

[1] https://android-rebuilds.beuc.net/

Hasn't the ios equivalent moved to emulation at this point?

Kernel support is there waiting to compiled for user namespace isolated containers. It would just require an official way to launch them as a normal user.

All good points too.

Developing for the Pinephone has been nice! I have been using Mobian for it over SSH, and I am pretty happy with how well it has been going.

The same reason Firefox and Safari don't use Google V8 & Blink. They (mostly Safari) are the only opposition to Google monopolistic control on the web.

You will always be under control of others if you don't take your independence and open-source means little when it is in practice controlled by only one entity.

If you build an OS on top of Android like /e/, replicant & Lineage & etc. , you are doomed to be living in Google' shadow . They'll shut you down anytime you do something they don't like. And even if it is open-source, if you disagree, you'll never have the financial means to maintain an up to date Android fork. Once/if they abandon Android for Fushia, it's going to be hard maintaining all abandoned Android legacy code alone.

Then, there are also technical reasons. We could ask "why create a new UI lib from scratch when we have QT ?". Yes for the end-user it's mostly the same (a bunch of text and buttons), yet people are developing custom UI lib (eg. Blender/Godot), Flutter, React, Svelte, Druid, Moxie, Makepad, etc. This is needed for innovation and/or to fit your own needs.

Real Linux has lots of potential : it can run Blender, Krita, Godot, VsCode, Steam games, any language, FreeCad, KiCad, Matlab, etc. (None of them have mobile UIs, but still are an asset for tablets & convergence). It is not governed by Google or Apple and it has already quite some drivers for several devices (I could just install Bitwig on a Linux tablet, plug a MIDI keyboard and make music).

So there are definitely reasons to take this path and personally I find this far more exciting than Lineage (although I use Lineage daily & I'm super grateful to that it exists)

Why would you run Android on an old underpowered SoC if you can buy a new Android phone with much better specs for the same price or cheaper locally, with much easier to attain warranty and better delivery times?

Pinephone is only interesting because it is getting a progressively better mainline Linux support every day, can run normal Linux distros, has fairly open hardware and a manufacturer that accepts feedback, and works on interesting stuff, like a kinda unique planned external keyboard+battery shell for it.

It's a real pocket computer with HW that I can control without restrictions, SW that I can trust, and don't have to run everything in a sandbox, just like on my workstation.

> Why would you run Android on an old underpowered SoC if you can buy a new Android phone with much better specs for the same price or cheaper locally, with much easier to attain warranty and better delivery times?

The absence of proprietary blobs running on the main CPU alone is already a great deal. This also means that the phone isn't stuck on an old version of Android because of some nasty blob.

> The absence of proprietary blobs running on the main CPU alone is already a great deal.

This. The formulated goal is short, self-contained, not overreaching, and to the point.

...and completely uninteresting - at least for me. Having used GNU/Linux smartphones as my main phones exclusively since 2008 I'm really not interested in any kind of Android device.
Don't newer Android versions have specific GPU requirements? I doubt latest Android will work smoothly on Mali 400.