16 ms·
The Search for a Free/Open Source Mobile Operating System
- commoner 5y agoWayDroid has been making progress on Android emulation for Linux, building upon the code of Anbox. Demos of WayDroid on a OnePlus 6 running postmarketOS, and a Moto Z2 Force running Ubuntu Touch: https://www.xda-developers.com/waydroid-android-apps-on-linux/ https://www.xda-developers.com/waydroid-android-apps-on-linu... Source code: https://github.com/waydroid https://github.com/waydroid
- saladuh 5y agoThis is awesome! Thanks for sharing this. I didn't know we were this close to viable linux phones. There's those tiny handful of android apps you may need and this pretty much solves it. I wonder if microg is working in waydroid? I'd assume it's possible.
- commoner 5y agoNot sure about WayDroid, but microG is confirmed to be working on Anbox after patching the default device image to enable signature spoofing: https://forum.pine64.org/showthread.php?tid=9815&pid=65378#pid65378 https://forum.pine64.org/showthread.php?tid=9815&pid=65378#p... Anbox can also be used with Google Play Services. The Arch Linux AUR offers a recipe for building an Anbox image with Google apps (see PKGBUILD for code): https://aur.archlinux.org/packages/anbox-image-gapps/ https://aur.archlinux.org/packages/anbox-image-gapps/ The AUR also has recipes for Anbox images that include Magisk root and Xposed: https://aur.archlinux.org/packages/?K=anbox https://aur.archlinux.org/packages/?K=anbox
- saladuh 5y agoThanks. I knew anbox worked with GApps, good to know microg works too
- onkoe 5y agoSpeaking of Anbox, development has almost halted after their kernel modules were effectively made worthless so that any "host" system's kernel has to be built with Anbox's required features. I love the fact that it's starting to come back with these Linux phones. :)
- neilv 5y agoLike the author, I've tried a ton of open source handheld platforms, and I've recently moved to CalyxOS for my daily driver. (And about to sell a box o' devices to help cost-justify buying a second Pixel for a backup CalyxOS device.) As Android devices go, CalyxOS seems a good choice, if you're willing to not have all the Google service conveniences. I actually found some of the UX smoother than on iPhone, and e-mail worked better. Though note that CalyxOS is not as polished for privacy out of the box as users might assume. One big problem is that Android is massive, and also doesn't seem to have been designed or deployed in practice to be privacy-friendly, nor especially open source-friendly. Even back in the FirefoxOS days, if you built that from source, it was clear there was no way you could audit or maintain all its Android dependencies (my hope was that they'd throw out the Android layer as soon as they could). I have some hopes for Purism's Librem 5 Phosh running atop a mainlined Linux with open drivers (and ideally firmwares) on many devices at many price points. Though available hardware tends to be fundamentally insecure. There also seems to be an additional barrier of US carriers imminently requiring VoLTE, and in some cases only allowlisting a small number of models.
- CyberRabbi 5y agoHow are cross-distro Linux app packages looking these days? Not so much the packaging aspect but the sandbox environment they set up to run third-party apps in peace. Is this something librem is working on?
- m4rtink 5y agoI would expect lots of mobile apps to ship via Flatpak these days.
- CyberRabbi 5y agoDoes flatpak create a sandbox comparable to iOS?
- kaladin-jasnah 5y ago> There also seems to be an additional barrier of US carriers imminently requiring VoLTE, and in some cases only allowlisting a small number of models. Is this all carriers, or just some? I know that AT&T is the main one since I'm affected by it (their whitelist arbitrarily removes my OnePlus 6 from being supported this February despite the phone supporting VoLTE), but I heard that other carriers such as T-Mobile are still working without VoLTE. Either way, the whole "requiring VoLTE" thing could even be a problem for some custom ROMs (not even GNU/Linux phones) since I believe VoLTE support is something that ROMs sometimes miss, which will be pretty bad. While I'm not a full "privacy" user (yet), I use custom ROMs for extending the lifetime of my phone and getting newer updates than I would on the stock ROM, and carrier limitations could seriously threaten a lot of things.
- temp8964 5y agoBecause many important apps (banking and other financial services, major shopping sites, most Authenticators ) don’t provide open source versions, I don’t see how this thing can end up be practical for daily usage. Maybe it can be useful for criminals, underground hackers, but not a normal person.
- commoner 5y agoUsing a FOSS OS does not require the user to exclusively use FOSS apps on the OS. Compatibility layers, emulation, and virtualization improve the selection of apps on FOSS platforms before native alternatives become available.
- temp8964 5y agoWould you still go through Google store for the apps I mentioned, or used apk files from 3rd party stores?
- commoner 5y agoYes, the most convenient way to install most proprietary apps on Android using a FOSS client is through Aurora Store, a frontend for the Google Play Store: https://auroraoss.com/download/AuroraStore/ https://auroraoss.com/download/AuroraStore/ Other sources I trust include: - APKMirror (operated by Android Police): https://www.apkmirror.com https://www.apkmirror.com - Aptoide (only trust signature-verified "Trusted Apps", including all apps in the main "apps" store/repository): https://aptoide.com https://aptoide.com - Direct downloads, when offered by the developer
- II2II 5y agoThe utility of these platforms depends upon what you use your phone for rather than some amateurish classification of people. Personally, I have never tied myself down to particular apps. What I use tends to be fairly generic and doesn't compel me to use a particular implementation by a particular company. I suspect a great number of people are like that. While my case is due to a lack of interest in the latest fads and an interest in open technologies, someone else may do so for security and privacy, while others may be interested in investing their energy in pursuits other than gadgets. As important as technology is to the functioning of modern society, I think there is a tendency to forget that some technologies have very little lasting impact.
- reilly3000 5y agoI’m bummed to hear about a bad experience with the Librem phone- I was hoping that would be a better experience than I had with the PinePhone which was slow and essentially broken for calling and camera usage. It may have improved since last year but at the time calls would rarely work properly, either by not connecting, failing to interrupt the session properly, or have latent echo of one or both sides of the call. They provide several distros which is nice so your results may vary.
- emacsen 5y agoThe LibreM phone is just too darn chunky and heavy. I didn't get into details in the article, but I do on the Fediverse: https://emacsen.net/@emacsen/106811743118755156 https://emacsen.net/@emacsen/106811743118755156
- waah 5y agoIt appears the /e/ phones are indeed available in Canada and the US, https://esolutions.shop/shop/e-os-teracube-2e/ https://esolutions.shop/shop/e-os-teracube-2e/ Just make sure to select your language and country at the top. No support for Verizon however.
- Apocryphon 5y agoWhat about some other projects beyond Android and Linux? Sailfish OS? Tizen? KaiOS? Technically even WebOS was open-sourced and still around as LuneOS, but its last update was Halloween 2019, so it's likely defunct.
- chrisseaton 5y ago> Sailfish OS? Tizen? Those projects were a bizarre affair. There was I think Maemo, Moblin, LImo, SLP, Bada, Leste, MeeGo, Mer, Tizen, Sailfish, Nemo... all forks, merges, reforks of the same thing. They seemed to spend all their time and energy continually rebranding, forming and disbanding consortiums, creating new websites and logos. They never just got on with it. Ridiculous wasted effort when the market was possibly still just about open to them.
- Apocryphon 5y agoWell, Nokia finally got it together with MeeGo, but then Elop had to sell the farm and hitch their horse to Windows. Tizen is reputedly of bad code quality, especially security-wise. Sailfish is still out there as Jolla scraps away. It’s a pity, as those projects did attract some powerful backers, who just weren’t very committed to them.
- tadfisher 5y agoMy favorite Daily WTF thread is about Samsung's adventures with the Enlightenment toolkit in Tizen: https://what.thedailywtf.com/topic/15001/enlightened https://what.thedailywtf.com/topic/15001/enlightened
- m4rtink 5y agoIt's essentially a perfect description of a clash between a rather hardcore technical community with some academic/student background and a typical Korean Corporate conglomerate, with the expected end result.
- jcelerier 5y ago
- swiley 5y agoWhat is this about how there’s no UI to target? Target X11 and make sure your app works on small screens with a single button mouse. That’s it.
- 3np 5y agoSomething I'd like to have an explainer for: What is Halium, are there any compromises involved in relying on it?
- joemazerino 5y agoThe author fails to note that the Pixel devices Calyx/Graphene run on also include proprietary binary blobs for vendor.
- emacsen 5y agoI specifically addressed that Calyx and Graphene require binary blob drivers: > ...especially the Android-based OSes, which use non-Free binary blob drivers. I then explain why someone may choose to use a binary blob driver OS anyway, which is essentially that the current threats we face as individuals by surveillance in the form of large companies (specifically Google and Apple) personally outweigh the freedoms of Free Software for me at this time. I'm making this choice consciously, knowing it's a compromise. I personally believe it's a compromise we need to make right now since the alternative is either a non-functional phone or to wait until there's a 100% Free phone and be subject to surveillance in the meantime.
- joemazerino 5y agoMissed that, my apologies. I will note that it is the device (Pixel), not the OS, that has the blob requirement. Projects like Replicant demonstrate how Android can be completely Free and Open.
- emacsen 5y agoAuthor here. Feel free to ask any questions.
- mpol 5y agoHi, thank you for this article :) I would have enjoyed a more thorough write-up of Pinephone and a few popular Linux-distro's and how far they get in regards to a daily driver for you. What I do miss is that both phones are still mostly labeled as developer phones. I read another comment where you made a point about urgency, but I still think you might be expecting too much here :) Also, I would be interested in a good review of Sailfish and Ubuntu Ports. Sailfish on a recent Sony Xperia, like the 10II, and Ubuntu on a device that is listed as good support for a daily driver. I hear different things of Ubuntu ports, but I think testing it on a Pinephone might do it short. I wonder what device people use for UB when using it as a daily driver. That might give a more usable device than the Pinephone. Though it will have its limits as well.
- ellis0n 5y agoAmazing reading! I working on the Animation CPU mobile OS toolkit for creating custom secure OSes and apps from scratch. t has everything geek and non-geek development needs, a minimalistic core and api, builtin ide with realtime reverse debugger, code and nocode, powerful graphics, runs on linux, ios, webasm or pure hardware, etc. But here is an issue, it's not public and not open-source. Сan you advise me where to start the FOSS way, build community etc? Here a little bit details: https://animationcpu.herokuapp.com/ https://animationcpu.herokuapp.com/
- emacsen 5y agoMy only suggestion right now mitght be to read my friend Karl's book. "Producing Open Source Software", which has a bunch on community. Or Jono Bacon's book "The Art of Community" is also good. One thing you may find, sadly, is that with SOO many projects out there, yours might not get a lot of fellow developers. But this sounds like a wonderful idea for a project!
- chrismorgan 5y ago
- kgarten 5y agoSwitched to GrapheneOS with the Pixel 5. Email/Calendar integration works fine (K-9 Mail). Signal as instant messenger. Organic Maps as Map application. Replaced Apple Watch with GadgetBridge and a Mi 6 band (cheaper and I have easy access to all data, you need to sync once with their app after you get the key you can delete it ... did the setup on the iphone and copied out the key with a commandline python script from github). Syncthing is amazing (local sync of audio books, camera images). AntennaPod is equally amazing as a podcast client (I prefer it to overcast switching from the iPhone). Other apps I'm using regularly: AnkiDroid So far so good, not having the Google Services seemed ok, except: 1. still in search for good camera application, recommendations welcome. 2. a replacement of Reeder as an RSS reader (so far have not found a solution that works for me). Yet, just started programming for it a bit and have to say I love flutter. It's pretty polished (and great for my needs).
- chairhairair 5y agoSorry, what does Flutter have to do with the rest of your comment?
- wilsonfiifi 5y agoI'm guessing writing their own apps to replace missing functionality
- kgarten 5y agoSorry, this was a bit out of context. As the other commenter assumed, it is for replacing/extending the functionality of the phone. For example, I wanted to access the heartrate and other mi band data and it's quite easy with gadgetbridge and my own flutter app. I tried similar apps before with SwiftUI and the Apple Watch and it was pretty much a disaster (although I have working knowledge of objective C ...). Dart came easy and flutter seems super powerful to me ( I just re-implemented my first very simple ios game in just a day. that's the objective c version https://apps.apple.com/us/app/blanks/id286883373 https://apps.apple.com/us/app/blanks/id286883373 ). Will publish/open-source the other one, when it's polished.
- yyyk 5y ago>It does come with a catch... Using Aurora Store could be considered a violation of the Google Terms of Service and Google could terminate your account for it. Aurora has the option of logging in using an anonymous profile instead of your 'true' account. Why not use that and avoid any risk?
- mmcallister 5y agoWhat if you have a paid application?
- yyyk 5y agoYou're right, Aurora doesn't allow that with an anonymous profile (not sure if it allows that even with a true profile). However, an anonymous profile is enough to download banking apps which are a major blocker to switching to Free OSs.
- commoner 5y agoAccording to other users, if you previously purchased an app through the Play Store, you can log in to Aurora Store with the Google account that you used to purchase the app, and then download it through Aurora Store. However, in-app purchases don't work. https://www.reddit.com/r/CalyxOS/comments/jtq1xc/can_you_get_paid_apps_with_aurora_store/ https://www.reddit.com/r/CalyxOS/comments/jtq1xc/can_you_get...
- akc3n 5y agoMight want to check out GrapheneOS's latest developments regarding it's Sandboxed Play Services https://grapheneos.org/usage#sandboxed-play-services https://grapheneos.org/usage#sandboxed-play-services GrapheneOS has support for installing the official releases of com.android.vending (Google Play Store), com.google.android.gms (Google Play services), com.google.android.gsf (Google Services Framework) as regular sandboxed apps in a specific profile. These receive no special privileges and the OS itself doesn't use them for anything. They run as unprivileged, sandboxed apps like any others. GrapheneOS simply provides fallback code teaching them how to run without any of the special privileged permissions and SELinux policy they depend on having. Even within the same profile, apps not explicitly choosing to use Google services won't use them because the OS doesn't integrate support for it or use it as the backend for APIs in the OS like the stock OS. Also, this was tweeted recently explaining the up and coming improvements, how they were made and an insightful look at how the sandboxed play services compatibility layer works. https://twitter.com/GrapheneOS/status/1430362107875401732 https://twitter.com/GrapheneOS/status/1430362107875401732
- holri 5y agoThe more people, especially geeks and programmers, use and improve completely free systems, even if they have deficiencies now, the sooner we as a society are free. There is a responsibility for knowledgeable and competent people that goes far beyond the selfish need. It also makes fun and appreciation to do the right thing, more than any convenience can ever give.
- emacsen 5y agoThis is a difference of opinion, but I've been using and promoting Free Software since 1997. I've used entirely 100% Free operating systems. There's nothing wrong with taking this position for oneself. You can certainly restrict yourself to a 100% Free stack, but there are two big problems with this position: 1. We have an existing threat right now that is not theoretical but entirely practical and immediate, and that is the surveillance system built into every smart phone that runs a proprietary OS- or roughly 3.5 billion devices. In 2020, 2.8 billion phones ran Google's Android operating system and thus were subject to the ways that Google surveils them. The ultimate goal should be Freedom, complete Freedom, but the position of "Wait until it's 100% Free" isn't going to work for many people. If we can get even 1% of people to de-Google their device and run a Free OS with Free apps, even if there are some binary blobs, just 1%, we'd be at 35 million people. That's almost the entire population of Canada (38 million). I'd rather move 38 million people into the FLOSS world, using Free Software, understanding our ethos and supporting our community- and most importantly, out of the hands of companies who harm them, rather than tell them "Wait until we can give you a 100% Free experience." These people need our help now. 2. If you take this position to its logical conclusion, you will demand a 100% Free physical computer as well. This is possible now, or at least partially possible though not yet 100% practical. With phones, the radio itself is proprietary, and that's by design. There are requirements of the device by the FCC (in the US) that allow the phone to take over the functions of the primary CPU and memory, even. Using a mobile phone is a compromise on its own and thus we return to the first problem- do we tell people "Don't use a mobile phone?" because at that point we're simply seen as Luddites in the eyes of most people and we lose the opportunity to help others. The threat of surveillance is real, and I'd rather take a measured approach than tell people to just get rid of their devices altogether. When I started using Free Software in 1997, it started out as a pragmatism thing. It's only later that I learned about the ethics. Let's give people real alternatives today!
- istillwritecode 5y agoAndroid does not require an account. It only requires an account to use the play store.
- commoner 5y agoYes, and with Aurora Store, you can use the anonymous login feature to avoid needing your own Google account to get apps from the Play Store. https://auroraoss.com/guides/anonymous-logins/ https://auroraoss.com/guides/anonymous-logins/
- cycomanic 5y agoI wonder about SailfishOS, has anyone tried it recently? I used to own a Nokia N9 and it was the best mobile OS I've ever used, but unfortunately the N9 just stopped charging one day. I've always been thinking about trying Sailfish out again, but have not had a phone that was compatible for a while, so am wondering if I should just get a compatible device just to try.
- boudin 5y agoJust as a side note, Sailfish is not fully open source.
- fractalf 5y agoI tried it on the PinePhone and instantly loved the UX. Unfortunately, like boudin said, it's not fully FOSS which is sad cause I really wished the "future" mobile alternative to Android/iOS would be something like this. Sailfish should open up their code fully, it would probably benefit them in the long rum
- m4rtink 5y agoYeah, I still personally think they got zero benefit from keeping the source closed. But as already mentioned up thread, some of their current investors might be a bit more conservative in these regards and they still need them to survive. So oh well - at least we have something usable before some of the distros started on the PinePhone come off age. :)
- Kbelicius 5y agoI use it as a daily driver for about 2 years now. I've never used any other mobile OS so I can't make any comparisons. I run it on Sony Xperia XA2 with android app support. Its been stable, no issues so far. Updates are regular with UI improvements and new features.
- usr1106 5y agoI use it. You can feel their severe development resource constraints everwhere. The browser is years behind. Native apps are rather limited. I bought the newest supported hardware 3.5 years ago. It is stuck at Android 4.4, which is supported by fewer and fewer apps. Whenever they support new HW, it takes quite a while to stabilize. Not sure what is the situation right now. My guess would be the newest supported HW is getting obsolete already and nothing new has been announced.
- akc3n 5y agoWhere /e/ shines in terms of easy of use, and Graphene shines in terms of security, Calyx has made wonderful choices in terms of privacy. "GrapheneOS is focused on substance rather than branding and marketing. It doesn't take the typical approach of piling on a bunch of insecure features depending on the adversaries not knowing about them and regressing actual privacy/security. It's a very technical project building privacy and security into the OS rather than including assorted unhelpful frills or bundling subjective third party apps choices." More info: https://grapheneos.org/features https://grapheneos.org/features
- bayesian_horse 5y agoMy primary pain point, last time I did the research, was that UBPorts for example, doesn't support full-disk encryption. That might have changed by now, and I'm not sure about the others. But I'd say encryption-at-rest is a basic requirement for a privacy-enhancing OS.
- fragileone 5y agoFull disk encryption is insufficient even, iOS and Android have since moved to file-based encryption for increased security.
- kop316 5y agoI know at least pmOS and Mobian have FDE.
- busymom0 5y agoOne thing I have yet to understand and maybe I am missing something is that why is there no web-only OS for mobile? Something which literally is based on websites only and there's no concept of apps. Is there something like this which can be installed on an Android phone?
- betwixthewires 5y agoLike a web browser?
- jiffygist 5y agoThanks for the Aurora rec. It works great. I needed few proprietary apps and was looking for a way to get google play apps without installing any google services or downloading apks from untrustworthy sites.
- liorben-david 5y agoA linux-esq ecosystem for mobile would be sick
- betwixthewires 5y agoI just want to address 2 gripes I have with the article. 1) AOSP, not ASOP, you even spelled out the acronym and made this mistake twice, 2) OSM is phenomenal. OSM maps are not bad. IMO the accuracy, even in the US, is better than Google, particularly in rural areas. There's this project https://github.com/pnoll1/osmand_map_creation https://github.com/pnoll1/osmand_map_creation also that bundles in address data from OpenAddresses, plugging what is the biggest gap that gave Google a de facto monopoly. IMO it is a very, very important project. The only things I can see being a problem for some people at this point is traffic data, which is not a problem for me, and POI which to me is a non feature, it's basically advertising. And you can do much more with it than with google, I have overlay maps for example that show me all public lands in the US and which department controls them, as well as a light pollution overlay map. I would recommend OSM for navigation over Google any day of the week even beyond the fact that it is FOSS.
- goffi 5y agoI find OSM pretty good for POI actually. I'm using OSMAnd~ (the F-Droid version), and more often than not I can find directly a shop or restaurant by name without Internet activated. It's also great to find practical things like water point, transport station, etc. In some rare cases though, I can't find something, in which case I'm looking elsewhere and use coordinates which is easy to do with the sharing system of Android. Speaking of transports, OSMAnd has a beta transport mapping for a while which is working quite well by my experience (use in combination of Transportr which is also really good, depending on the city where I am, one may be better than the other). The only important missing thing is indeed traffic information, but depending on where you're living, it may not be such a big deal.
- xanaxagoras 5y agoWhat do you use for maps, OsmAnd ?
- betwixthewires 5y agoYep.