9 ms·
I've never really understood why we chase Android-alikes on mobile platforms instead of trying to build on mainstream Linux. I know some folks in the nix commun
by tfrancisl 28d ago
I've never really understood why we chase Android-alikes on mobile platforms instead of trying to build on mainstream Linux. I know some folks in the nix community (nix-on-droid and other projects) have tried to bring us closer to this, but projects like Graphene seem to have a lot of traction.
- Gigachad 28d agoBecause you need app support. Not even Microsoft could pull that off.
- inigyou 28d agoDoesn't windows run android apps natively now?
- dzikimarian 28d agoIt doesn't. There was a plan, but Microsoft abandoned it.
- AstralSerenity 28d agoThey did end up releasing Windows Subsystem for Android via the Windows Insider Program, which was enough for the OSS community to take it over after it was abandoned. It still exists and has worked quite well for my use case: https://github.com/MustardChef/WSABuilds https://github.com/MustardChef/WSABuilds
- nextaccountic 28d agoWhat about running the whole Android infrastructure, but on top of a non-Android Linux distro? And this, on top of a Android kernel (otherwise you won't have the drivers yo uneed) The advantage being, we can manage packages using a regular Linux distro
- tfrancisl 28d agoThis is exactly where my head goes. There's nothing special about this hardware other than its small form factor. Sure, some desktop apps would likely want a different skin, but thats hardly limiting.
- saidinesh5 28d agoA lot of "non Android Linux distributions" like sailfish os actually use a lot of Android infrastructure to keep working. Drivers doesn't just mean the kernel. It's the user space binary blobs and services that need to talk to the kernel to enable the hardware. Other than that there's waydroid, alien dalvik etc.. that run another Android instance in a container. The thing is a lot of Android applications use safety net/other methods to make sure they only run on. "Approved"/stock hardware.
- realusername 28d agoYou can't because a lot of apps check that the phone is controlled by Google with Play Integrity. Google thought about this, don't worry. They learned their lesson after CyanogenMod tried to compete by offering an alternative. Non-Google Android are now dead except in China.
- imthatsteve 28d agoCyanogenMod became LineageOS and its still going strong, im typing this on an unofficial lineageOS build right now.
- realusername 28d agoIt still exists yes but Google tightened the screws to make sure it just keeps to be an hobbist project and not a competitor
- arxari 28d agoWell for me I use Lineage without even MicroG and everything I need works - yes even banking
- puzzlingcaptcha 28d agoApp support, stable ABI, uniform UI/UX, hardware vendor cooperation...
- tfrancisl 28d agoI dont think app support is all that important. Most apps are garbage as they are ime, so rebuilding from scratch, or using existing software that runs fine on linux, would keep me happy.
- jorvi 28d agoYou mean Microsoft proactively kept shooting devs in the kneecaps? Leaving phones behind on old incompatible OS versions 2 times in 3 years and switching app frameworks 3 times in 4 years does not a good app developer experience make. Piled on top of that, Google became actively hostile to 3rd party developers building support for YouTube (and Gmail and Gmaps, but those had workarounds / alternatives).
- Yokolos 28d agoWhat a colossal disaster. I was a huge Windows Phone fan, so their yearly missteps were quite painful to watch. I was especially annoyed when my first gen WP wasn't going to get an upgrade to WP8. My HTC 7 Pro is still my favourite phone I've ever owned, but after that I finally gave up and switched to Android.
- tcfhgj 28d agoMicrosoft could, but abandoned just as they gained traction in Europe
- sunaookami 28d agoI miss my Windows Phone...
- deaton 28d agoMicrosoft can barely pull off their flagship desktop operating system, so that doesn't say much.
- Cider9986 28d agoAOSP has way better security and therefore privacy than desktop linux.
- arxari 28d agoThis is something that no Linux phone enthusiast seems to understand. Also if we use atomic distros with flatpaks and whatnot that mimic Android security the end user basically ends up having to essentially use Termux (but busybox or something similar) on their Linux phone as well
- grapheneos 28d agoAtomic distributions don't provide the security of verified boot or the far better mandatory app sandbox and permission model on Android. Flatpak is catching up to Android from 15 years ago, but it isn't mandatory. Android continues making backwards incompatible privacy and security improvements via new target SDK versions on a yearly basis with apps forced to adopt it within around a year. It continues moving towards a more private and secure model for apps. GrapheneOS makes our own major improvements to the permission model, but we cannot enforce apps adopting it and need to design it all to be backwards compatible. We do that for Contact Scopes, Storage Scopes, our Sensors toggle and other features but not everything can be done that way. For our exploit protections, we have toggles to work around apps with memory corruption bugs or bad practices such as dynamic code loading. Android can enforce apps improving in a way we can't do. We're starting from a platform with a mandatory app sandbox and relatively modern exploit protections though. Android also does support using hardware memory tagging or HWASan to test apps even though many developers aren't using those to clean up their memory corruption bugs.
- armadyl 28d agoThank you for actively commenting in this thread with detailed responses
- drnick1 28d ago[flagged]
- compass_copium 28d agoGOS is broadly compatible with most phone use cases out of the box--chat, mail, browsing. A Google Play profile lets me use almost all apps (including my bank apps, but I understand that's not true for everyone). In principle I agree about a Linux phone, but the gaps are much greater. I am also sympathetic to the GOS team's arguments that sandboxing on Android is better, and important on a device that allows control of essentially my whole life (2FA apps etc.)
- grapheneos 28d agoAOSP even without the GrapheneOS improvements has drastically better privacy and security than a traditional desktop distribution. A mobile Linux distribution with a much better privacy and security model than traditional desktop Linux is still Linux. A similar approach can also be used on a laptop or desktop too. We provided a much more detailed reply at https://news.ycombinator.com/item?id=49364220 https://news.ycombinator.com/item?id=49364220.
- compass_copium 28d agoCheers, thanks for all the work you do on the project. There is still a philosophical reason for supporting a version of Linux for mobile devices that is not dependent on Google, but is community-driven, for users with different priorities. That is not really relevant to the GOS project though, and the fact that GOS is probably the easiest way to get a Play Services-free mobile device kind of drags it into discussions that it doesn't necessarily belong in. Again, thanks for your work, and I appreciate your team's focus on your goal of the best security possible.
- inigyou 28d agoAll the existing apps are on Android and iOS. Graphene lets you run them. You can't have a bank account on a Linux phone* because they won't let you, but you can on Android including on Graphene. * before replying snarkily that Android is Linux, please take a long walk off a short pier, thanks
- jambalaya8 28d ago[flagged]
- dethos 28d ago> Graphene lets you run them. It seems not all of them, and that things will only get worse if recent news comes true.
- sehw 28d agoI use my web browser to access my bank and tell banks that require apps to go fuck themselves.
- tfrancisl 28d agoWhat's stopping me from using a browser to log in to my bank? Assuming my bank is one of the ones that requires you to lock down sideloading (they aren't, but i know many are).
- gf000 28d agoWell, it's kinda hard to scan a QR code displayed on your screen when the camera is attached to its back (semi-joking)
- Alpha3031 28d agoSome banks are app only and/or build MFA functionality into their apps.
- wseqyrku 28d agoYou know the web is also bits and bytes right? Someone who has a say should fix it so banks can do whatever they need right in the browser.
- geremiiah 28d agoI don't either. Don't we have free market capitalism? Why don't I have a Linux phone? And why do I need to worry that my government and banking apps won't work if I get a Linux phone?
- rcxdude 28d agoBecause in a free market you can't compel someone to support your niche platform, nor even compel someone to create the niche platform you want. The market for a Linux phone is tiny because there's almost no reason for the average phone user to prefer it over android.
- fsflover 28d ago> you can't compel someone to support your niche platform You mean, a browser?
- post-it 28d agoBecause you don't have capital.
- gf000 28d agowell, apparently not even Microsoft had enough capital. It's almost like the free market only works when we have well-defined and regulated markets. This has been known by Adam Smith and quite logical, yet people expect Google and Apple giga-corporations with monopolies to somehow abide by the laws of selling grains on the market.
- tfrancisl 28d ago"Trust me guys, the free market will work, it's just that no-one ever earnestly tried it before!!" No. This is the end state of any semblance of laissez-faire economics. Full stop. Massive accumulation at the top, power to those with capital, rags for the poorest.
- attila-lendvai 28d ago
- QwenGlazer9000 28d agoEveryone else mentioned the app support which is true, but for graphene specifically, they do not like desktop Linux at all because they don't like its security. They would much rather build on AOSP than desktop linux.
- asnelt 28d ago[flagged]
- armadyl 28d agoI believe the timely security patch issue will be resolved with the Motorola phones due to the OEM partnership. Long term in the future, surely the open source community forks AOSP itself and maintains it. The worst option would be giving up and trying to focus on Linux (desktop) imo.
- grapheneos 28d agoTraditional desktop Linux heavily involves big tech companies including IBM (Red Hat). AOSP has a massive amount of non-Google companies and individuals working on operating systems based on it. It would survive without Google. You're misinformed about security preview patches. It has nothing to do with Google being hostile. Additionally, our security preview releases have regularly included patches for components not specific to Android such as wpa_supplicant prior to those being publicly disclosed by the upstream projects.
- fsflover 27d ago> Traditional desktop Linux heavily involves big tech companies including IBM (Red Hat). Yes, for some definition of "heavyly" that you chose. Yet no single megacorp can decide single-handedly on the future of Linux or do this: https://news.ycombinator.com/item?id=49364745 https://news.ycombinator.com/item?id=49364745 > AOSP has a massive amount of non-Google companies and individuals working on operating systems based on it. Can you define "massive" in, e.g., percentage of lines of code? This looks unsubstantiated to me. The parent has a good point and shouldn't be flagged.
- StrLght 28d agoAOSP is Linux. If by "mainstream" Linux you mean something like postmarketOS, I'd suggest you look up reviews or give it a try yourself. A few months ago, people were reporting a hard time placing a call, taking a photo, etc.
- throwIeoeor 28d agoBecause Android is miles ahead in terms of security, permission management, app separation, power management, privacy... Linux crowd can not even agree on compositor, and if systemd or sudo is a good idea.
- thesuitonym 28d ago> Linux crowd can not even agree on compositor, and if systemd or sudo is a good idea. This is actually a feature.
- bigfishrunning 28d agoWhy should Linux users have to agree? run what you want, it's your computer.
- tclancy 28d agoWell, if you want a mass market device that runs Linux, you have to meet the market. Otherwise we can start tracking 2525 as the year of Linux on the smartphone. If man is still alive.
- bigfishrunning 28d agoThe concept of a mass market device is sort of incompatible with the freedoms we generally associate with linux -- Android is really the closest thing we can hope for. It runs a linux kernel, a very non-standard userspace, and is relatively locked down (when compared to a general purpose linux distribution) I think "linux smartphone" would end up looking very similar -- some UI on top of a kernel with a very non-LSB userspace; therefore the concept is really not all that compelling
- tclancy 28d ago> The concept of a mass market device is sort of incompatible with the freedoms we generally associate with linux But take that far enough and you get Stallman'd into a corner where someone points out that's great, but no phone for you.
- kotaKat 28d agoAll we had to do was build PWAs instead of native apps and instead all we did was build PWAs into bad browser wrappers.
- cosmic_cheese 28d agoI don’t see PWAs becoming dominant so long as web development stubbornly retains its highly atomized “bring your own everything” philosophy. At the very minimum, there needs to exists a community-accepted web UI framework with a similar level of “batteries included”-ness in terms of scope and depth as that of SwiftUI/Compose, or preferably that of UIKit. The existence of such a framework would make the various tradeoffs with going web-only sting less and make that the advantageous route, not just the cost-cutting route that it’s seen as now (and why those bad browser wrappers continue to proliferate).
- dzonga 28d agoonce Huawei was forbidden from using Android - that's when people ie western markets & the world at large should've shifted. look at HarmonyOS. in China - there's no google apps available on their 'android' versions. their platforms are already performant and fluid - so people should build on that.
- RobotToaster 28d agoIt's a shame that the newest version of harmonyOS isn't open source.
- Eueudhsbsj32 28d agoIt seems like such a missed opportunity for China to challenge American dominance overseas.
- owaislone 28d agoApps. We'd love a completely different OS and it is viable on desktop because web almost does everything but on mobile you're basically locked out of very essential functionality like banking, transit, messaging etc. The compatibility layers aren't good enough (yet) to offer a seamless experience.
- gunalx 28d agoAlso almost any native desktop app forced to mobile has broken ux.
- otekengineering 28d ago[flagged]
- matheusmoreira 28d agoBecause without Android I can't run WhatsApp and my bank's app on my phone, which promptly reduces it to a paperweight. I wish it wasn't so, but reality refuses to cooperate, so let's just be happy that we've got GrapheneOS which is so good it has its own column in Cellebrite's support matrix.
- fsflover 28d ago[flagged]
- DANmode 28d agoYour point is valid for every flavor of Android except GrapheneOS. GrapheneOS’ security model makes that of desktop Linux look like a joke. This is an objective analysis based on x86 security, GrapheneOS hardening (including isolation and hardened mem allocator), Pixel hardware security.
- kllrnohj 28d agoEven AOSP has selinux enabled by default with very comprehensive and scoped policies. That, along with app isolation and permission system, already leaves desktop Linux far, far in the dust on security.
- grapheneos 28d agoIt also has many other advantages including the OS and app ecosystem heavily using memory safe languages from the beginning, which has greatly increased over time. The majority of new code added to the OS has been in memory safe languages for years. Android is replacing Java with Kotlin and C++ with Rust but it was always using a lot of Java and moved to using ahead-of-time compilation for it with Android 5. It then moved to a more complex way of compiling it but GrapheneOS has kept using ahead-of-time compilation. It has much better adoption of modern exploit protections and far better testing with sanitizers for both the kernel and userspace. It enables us to do even better because most of the memory corruption bugs caught by MTE are resolved. We do still need to resolve more, but it would be far more impractical for us to do it on the desktop. Android uses SELinux for both whole system MAC and MLS policies with deep OS integration. It uses it for a massive amount of kernel attack surface reduction with allowlists for socket protocols, devices, ioctl commands and other functionality. It's far different from the traditional targeted approach used by desktops or even rare use of whole system SELinux for desktops/servers. It's nearly a completely different thing in practice. The OS has it deeply integrated in userspace for enforcement beyond in the kernel and it's developed around it. It's the main basis for the app sandbox and a lot of other isolation in the OS. OS processes are specifically split up and have IPC set up in a way that they can be contained well with it. The mandatory app sandbox with yearly backwards incompatible privacy and security improvements as part of new target SDK versions is the most important difference. It's the basis for GrapheneOS being able to do much better. Having the infrastructure it already has available means we can add our features such as Contact Scopes, Storage Scopes and our Sensors toggle on top. We plan to add a lot more, but there are also the yearly improvements we get in the baseline such as how Camera, Microphone and Location have supported one-time grants for years, can only be used while apps are in use once granted (with Location have an extra layer of background opt-in) and precise vs. coarse location.
- deaton 28d agoBecause the Android Runtime (ART) is very necessary to run APKs, and APKs are the only non-iOS standard for packaging mobile apps that is supported enough to be viable. Without it, you might get some open source apps to run on a linux phone, but you won't have banking apps, clash of clans, or a million other things people really would like to have on their phones.
- drnick1 28d agoLike others have said, it comes down to apps mostly. But there is also the fact that Google and others have spent more than a decade optimizing the OS for appliances. Android was built from the ground up for mobile devices and handles things like background apps, notifications, and charging as expected on a phone. All of this could be ported or rebuilt, but the work has already been done for Android and billions of devices prove that it works.
- grapheneos 28d agoAOSP even with the GrapheneOS improvements provides far better privacy and security than a desktop distribution. Those are the hardest things for a desktop OS to accomplish since they cannot force the whole software ecosystem to conform and very few developers care about it. Developers largely treat their own code and dependencies as trusted. Few developers are inclined to heavily invest resources in limiting their own access and capabilities. The baseline sandbox provided by AOSP enables the GrapheneOS improvements because of how much is standard. https://news.ycombinator.com/item?id=49364220 https://news.ycombinator.com/item?id=49364220
- gf000 28d agoBecause it's a mobile platform and "GNU+Linux" is laughably terrible in this space. It's almost like Android has put millions of expert dev hours into making it the most used OS in the world. Like GNU+linux on laptops only works the way it does because of android-upstreamed battery saver kernel features. But a mobile is also people's most used devices with all of their data, bank accounts etc there - it has to be safe. And GNU+linux has not even a single thought about security, while android just has it worked out (every app runs as its own user, so it's even built on standard UNIX security). A mobile OS also has to race to suspend and for that it needs cooperation from "apps" -- desktop apps just run, they don't care about anything besides SIGKILL. That's not a workable model on a mobile and android solves it. And I say all that as someone who runs linux everywhere I can and I absolutely love it. It's imo the best kernel out there -- but the userspace is not where it should be and if anything, the correct question would be what can we take from Android and add to GNU+Linux. (And nix is fantastic, but it's a packaging solution, I don't really see how it comes into question here. I can run nix on my android phone just fine by the way)
- tfrancisl 28d agoNix comes in because im tired of dealing with procedural solutions to things that should be solved declaratively. I run NixOS everywhere I can because I can actually reason about what is installed on the system. "Package management" like apt and pacman and even app stores has never done it for me. As to your other userspace concerns... these are all solveable. Perhaps with some elbow grease, but devices like the Steam Deck prove that mobile linux isnt as much of a problem re: userspace as you claim. Ed.: I'd also like to add that the fuss around security is _mostly_ Google propaganda. Android is not meaningfully more secure, _without application level changes_ than Linux.
- qlte 28d ago> but devices like the Steam Deck prove that mobile linux isnt as much of a problem re: userspace as you claim. So.... by relying on yet another company with multiples of $10B in revenue who spent a lot of time and money to build (and maintain) an entire custom frontend/compatibility layer to provide a stable UX for managing apps without intimidating non-tech savvy users? Where security isn't even a distant priority as it's a restricted store in a proprietary walled garden exclusively for games (and not your banking app or crypto wallet or browser tabs)? SteamOS, very similarly to Android, entirely depends on a corporate benefactor leveraging a parallel user space that happily bypasses the "normal" community-supported parts of a typical Linux desktop distro wherever they present an obstacle. It proves that a company with deep pockets could indeed create a new mobile Linux distro (by writing lots of checks and cutting out large chunks of desktop Linux in favor of custom implementations entirely under their control).
- florianherrengt 28d agoI have a Pinephone Pro. It's nowhere near usable as a daily driver.
- fsflover 28d agoThis is not a good example. Pinephone Pro had a very small developer community (of volunteers) and thus quite undeveloped software. It was discontinued for this reason. Librem 5 and Pinephone are usable as daily drivers, albeit they do require compromises.
- dethos 28d agoYes, there's SailfishOS, there's Ubuntu Touch, and a couple more. It would be nice if one of them could gain traction so people can have a third choice.
- godelski 28d agoSeems like it's the same problem as chromium. Is it better to get off the Google controlled ecosystem? Yes. Is it easier to leverage the Google controlled ecosystem? Also yes. People will tell you that chromium is "more up to date" as if Google wasn't the one setting the standards, making it impossible for anyone else to be similarly complete. Seems like we have a very similar problem here...
- lotharcable 28d ago> I've never really understood why we chase Android-alikes on mobile platforms instead of trying to build on mainstream Linux. Because there is no such thing as "mainstream Linux" when it comes to anything related to user-facing consumer software. Not on desktops, not on tablets, not on phones. I mean you invoked "mainstream Linux" and "Nix" in the same paragraph. That alone should clue you into why this, absolutely, does not work. See here is the problem: https://wiki.pine64.org/wiki/PinePhone_Software_Releases https://wiki.pine64.org/wiki/PinePhone_Software_Releases "Linux enthusiests" would rather muck around with rewriting the same software over and over and over again because they dislike using GTK or whatever, and put monumental amount of efforts making new package managers, then, say, getting the ability to take simple photographs using a phone camera. I mean... In that page there is no less then 25 different "Linux Phone OSes" listed. None of them actually work. They are all going to be slow, they are all going to burn through battery life. There is no meaningful security to speak of. If I handed a unlocked "Linux phone" to somebody and said "take a photograph of me"... The chances of that actually working is slim to none. Meanwhile we have Android OS that is proven to work. It is open source. It is used by, literally, billions of people. The security model is as good as it gets. It has better application support then Windows. Taking something that works and then making it more secure and more open and more privacy focused is infinitely more productive and meaningful then trying over from scratch because you want a phone based around Nix packages or whatever. Even if Google decided to close source Android from now on and be actively hostile to any open source kernel modules... Forking the Android that exists today and trying to make it work is exponentially more likely to yield positive results then, say, starting on a Debian-based "Linux phone OS". And Android can still use nix-pkgs if you really wanted to.
- bossyTeacher 28d agoOne word: ecosystem. Phones are useless bricks without an ecosystem. This is why we only have 2 operating systems for portable devices when we used to have more than twice the amount.
- grapheneos 28d agoAndroid is a massive operating system family and exists without Google Mobile Services in the OS. It's entirely possible to turn things around in terms of Google gradually taking more control from OEMs and squeezing out competition.
- grapheneos 28d agoGrapheneOS primarily exists to greatly improve privacy and security compared to the Android Open Source Project (AOSP). AOSP provides far better privacy and security than a traditional desktop Linux distribution. It has a strong mandatory app sandbox, an increasingly good permission model moving more and more towards case-by-case consent, broad use of memory safe languages throughout the OS and app ecosystem, strong MAC/MLS policies developed as part of the whole OS, modern exploit protections, verified boot with downgrade protection for the whole OS and far more. GrapheneOS starts from the already good privacy and security of AOSP and greatly improves upon it. We greatly improve the permission model, exploit protections and much more but we depend on starting from a foundation that's already decent. Moving to a far less private and secure desktop software stack is going in the opposite direction from GrapheneOS. GrapheneOS doesn't exist to simply provide an alternative to mainstream operating systems but rather to offer much better privacy and security. We wouldn't be doing that if we were forking a desktop Linux environment and doing similar work for it. It would be nowhere close to the privacy and security of simply using an iPhone. That's a major part of why GrapheneOS is based on AOSP rather than it solely being about compatibility. Desktop distributions are incredibly far behind on privacy/security and lack any clear path to achieving the same things. Every year, Android makes backwards incompatible privacy and security improvements as part of a new target SDK version. Android retains compatibility with legacy apps, but apps distributed through the Play Store (and other app stores to an extent) are required to move to the new target API level within around a year. This results in apps being forced to conform to a gradually improving privacy and security model. There's no such thing for desktop Linux apps but rather apps choose how much they want to participate in nascent sandboxing efforts. GrapheneOS has near perfect compatibility apps from the Play Store via our sandboxed Google Play compatibility layer with the exception of banking and government apps. 90% of banking apps currently work on GrapheneOS because it greatly succeeds all of their security requirements and is only wrongly banned by a subset of those apps. These apps are gradually adding more anti-tampering and attestation checks for the hardware and OS, so maintaining compatibility has required us to gradually add more functionality working around it. We've also had to actively convince apps to stop banning non-Google-certified operating systems or to permit GrapheneOS and other secure options alongside doing it. A growing number of apps are choosing to stop banning using GrapheneOS due to pressure from our expanding userbase. Android is a large Linux operating system family. It's the mainstream form of Linux on personal computers. Android users are Linux users. For privacy and security, using a monolithic kernel written in C is definitely not a good thing. Doing much better than we are today partly requires moving away from so heavily depending on the Linux kernel for security. Android does a lot of Linux kernel hardening with attack surface reduction and exploit protections which are improved by GrapheneOS, but it's not enough. The massive torrent of severe vulnerabilities being discovered in the Linux kernel is going to get worse before it gets better and will remain a problem. Adopting hardware-based virtualization for isolation of apps and OS components including drivers is an important part of our roadmap.
- tclancy 28d agoBeyond the other answers here, doesn’t it make sense there were some reasonably bright people involved in the initial “let’s build a phone OS” and that given it’s sold more than a billion devices, maybe what Linux on a mobile device looks a heck of a lot like Android?
- getpokedagain 28d agoBecause every attempted Linux phone gets zero battery life. I'd like to be able to leave the house for more than 3 hours.
- pjmlp 23d agoBecause as proven since OpenMoko that isn't what the general public wants, tiny Gtk and Qt apps, alongside a UNIX shell. Also if you only appeal to those that care about having exactly that, the sales will never be high enough to keep a sustainable business, unless it is at the scale of a phone vendor at least like Jolla.