From the very beginning, Open Source software has been an important topic for Fairphone – it’s part of our history and DNA.
On every smartphone we produce and sell – we publish as much source code as we legally can. And we share all of this information publicly with our users and community on our Fairphone Code website.
Following this ambition we are excited to announce that today, we are happy to release the source code for Android 11, Android 12 and Android 13 for Fairphone 4.
You can find instructions for browsing, viewing and downloading the source code on code.fairphone.com. If you are interested, you can also send patches and contributions to our Gerrit instance at https://gerrit-public.fairphone.software.
We are publishing two different kind of source trees:
“odm” (Android 12 and Android 13 only): This is the source tree from our hardware and software supplier T2Mobile. It contains all Android and Linux kernel sources that we can publish, excluding some proprietary components. It is not possible to actually build this from source, since it depends on proprietary toolchains and sources.
Integration (“int”): This is a restructured and cleaned up source tree that we use to prepare for long term maintenance. It contains all basic device sources, configuration and customization, but is missing some partner and network-specific customization. You can build this tree from source, after downloading separately packages proprietary blobs.
Feel free to discuss the release, and let us know if you have any questions or feedback!
Firstly, a big thanks for making this and the associated binary blobs available!
I’ve just tried building Android 12 for FP4 and after fixing a weird issue with ccache, which is seemingly specific to Android 12, the build appeared to get most of the way through before failing. I ran the build a 2nd time to confirm and the (shorter) output can be found here:
We had missed to merge a CL related to this which caused this compilation issue. It is now fixed as the CL is now merged. For reference, this was the fix.
The Android 13 sources too contain two different kind of source trees: odm(which cannot be used to build from source) and int(fully buildable but contains minimal changes).