Closed Poll: Future Fairphone OS Development

Facebook generation… I like it, so it’s good.

As a relative outsider looking in I wanted to add my two cents. Coming from a free software standpoint and having delved into Ubuntu Touch recently http://nicorikken.eu/blog/ubuntu-calling-for-freedom/ after having looked into the benefits of open hardware designs for mobile platforms (also on my blog) I have now also looked at the option of Sailfish OS. As I have an old Samsung Galaxy S Advance which is perfectly fine hardwarewise but now stuck at Android 2.2 I understand the practical issues of lacking firmware updates all too well.

It seems to me that the goal of the Fairphone OS should be to suit the use cases of a wide variety of users (including non-technical) throughout the lifetime of the hardware, starting in the present. Unfortunately these sub-goals are in conflict with each other. To extend the lifetime of an OS, full control would be ideal, making the case for an open source software stack. To suit the variety of use-cases a wide selection of apps is needed of which newer versions should be supported, making the case for a recent Android version with the important addition of the Google Play Store to allow for vendor-specific apps which aren’t available in say the F-Droid repository. Not seeming to be OS-related is the fact that performant hardware (in the largest possible definition) is needed to again suit the use cases of users in the present and to extend the phone’s value into the future.

To obtain performant hardware Fairphone is likely to only have a limited set of options to consider, as was the case regarding the FP1 when a base model was selected from a catalogue. The unfortunate reality is that most chips nowadays require drivers in binary format, only available under a non-disclosure agreement and only for Android. Luckily Ubuntu Touch and Sailfish OS (by Jolla) support Android hardware by running a minimal Android version with the drivers (Sailfish as well?) and communication to the drivers using libhybris. This frees the rest of the OS from the ties with the underlying hardware. Ubuntu toch for instance intends to keep all their upcoming phones up to date by abstracting the driver part, whilst updating the upper layers for all types of phones they support. Sailfish OS could be used in a similar way. What differs Sailfish OS and Ubuntu Touch other than their interfaces is the fact that Sailfish OS is able to run Android applications using Alien Dalvik, thus giving access to many core apps (e.g. for email and chat) and vendor-specific apps (e.g. for banking and social networks). However this holds a big IF, as this software is to be licensed from Myriad which might not be willing to support phones outside of the Jolla brand http://forum.xda-developers.com/jolla-sailfish/general/alien-dalvik-licensing-issue-t2694127

Assuming Fairphone is able to negotiate any requirements for the hardware or the board support package including the drivers, there is a real potential for building software on the phone which can be kept up-to-date with other developments. Using Sailfish OS with Alien Dalvik seems to tick the boxes, but as this support for Android apps is no guarantee, Ubuntu Touch is still a relevant option or even a more matured version of Firefox OS or Tizen. In that regard a hybrid approach would be possible where users would be able to start off using Android (or another OS if app availability isn’t such a problem) and move to another OS later when more applications have become available.

There are still a lot of questions to be answered, but the question whether or not Alien Dalvik would be available to Fairphone would have the greatest impact on what other options to consider, and thus will need to be answered soon.

4 Likes

I don’t understand why those three options are necessarily exclusive.

For example, on Nexus devices, you obviously have the Official Android upgrades, and you can as well install custom ROMs such as Cyanogen.

Can anyone explain me?

Fairphone has limited resources, so IMO we cannot expect them to provide every option themselves. So I think the question was, where should FP put there efforts in.

Thanks for the reply. I may lack some knowledge about this. I thought releasing official updates or rely on custom ROMs would equally require no effort from FP, but maybe that’s wrong.

Anyway, I read Cyanogen is now selling a complete solution to phone vendors, including the chipset (Snapdragon etc.), the OS and the OS updates. Maybe it’s worth exploring that solution a bit.

Look at this info graphic. It seems to be really complicated.

The FP1 / FP1U have a Mediatek chipset with an unofficial port of CM 11. The FP2 will have a Qualcomm chipset (see Fairleaks) and I expect to see a CM port very soon after the release of the FP2. I don’t think though that FP will provide an official port, but that the company will rather provide all the necessary drivers and stuff for everyone to work on this. We will see how they decide! :slight_smile:

1 Like

that depends: i think there are three factors that contribute to good support on customs roms: 1) number of phones sold. simply mathematics, the more phones on the market, the higher to probability developers are interested, 2) access to drivers and kernel sources, in general “hackability” of the devices, 3) developer interest: phones with special features, good open source support or something unique are more likely to get developers interested.

the current fp1 could only score somepoints in 3), because of the fairness, but the mediatek chipset used is very hard to work with, kernel sources are of bad quality (mediatek) and drivers for recent android releases are missing. plus there are “only” 60tousand out there…

therefore i guess fairphone would need to work with developers more then say samsung to get good ports of custom roms running.

2 Likes

Thanks!

I wonder why big companies didn’t settle down a standard interface for all mobile chipsets, just like they did for PC computers with the x86 standard. :unamused:

2 Likes

I chose option 2 because I’m in a “de-googlization” step of my life for many reasons. I don’t want have all my eggs in the same bag, and actually, that’s what google do with our lifes. But more important than all : I care about my private life.

Anyway, that’s why I chose option 2 : cyanogenmod was a good option, but seems to turn bad, so I vote solution like firefox OS or Ubuntu touch which are quite new, but on the good way I think.

3 Likes
  1. It’s not a stable “standard” (see PowerPC, Itanium, etc.)
  2. There is a standardization. The CPU in our FF is an ARMv7 device.
  3. The problem are the extensions. Comparably with MMX, SSEx, AVX, etc.
    At the moment we are in the “PowerPC” stage, where every version of a CPU requires a unique set of drivers to be fully usable.
    Btw, the GPUs also had several standardization attempts. All failed in the long run, so far.
    Btw2: IMHO, the standardization in the Desktop-PC CPUs is caused by the power of MS.
1 Like

Thanks for the information.

So if I understand you well, a solution I would like would be an Android installation process mimicking the Windows’ one:

  • Installation of an OS only relying on ARM specifications (thus universal)
  • The newly installed OS probes the system and download proper drivers for all the devices (or prompts for installing drivers apk delivered with the phone), including GPUs.

I agree MS’s power (maybe in synergy with Intel’s) allowed that. Maybe Google is powerful enough to do the same.

I don’t know if it would be a great idea, though. I was told state-of-the-art microprocessor architectures could not enter our PCs and that we were all bound to obsolete inefficient architectures in our PCs because of that x86 standard supported by Intel/MS.

1 Like

Sry, won’t work. The time of standardization is gone.
Android is an open sourced OS. Unless the license forbid the modification of special parts, you can’t enforce certain API. The CPU vendors just replace the original code with modified closed source like they do right now.
The main difference is that a phone is sold with a fixed OS, unlike the PCs. Again this is the Apples PowerPC strategy.
Drivers download after installation never solves the problem with an unsupported OS. If Intel decide to not provide network drivers for its desktop motherboards for windows server os, you’re mostly out of luck. Good that windows is designed well enough and “unmatching” drivers from different windows do work. But it wouldn’t work if Microsoft allowed vendors to replace windows kernel with their own.
Let’s face it: open software invites this behavior. And the vast majority of people (money spenders) do not care about it. All they want is What’s App running. And PCs were designed by geeks for geeks. Smartphones are designed for kids to spend money on. “I want it to work, I don’t care how it works” is a well known statement even from IT folks.

2 Likes

Voted for Open source. Don’t need another proprietary OS, there are enough to suck big time. However since it is already Android would like to at least keep up, with maybe not the latest but not so old nothing works.

Only Free Software is really fair. The efforts should alway go in this direction.

2 Likes

I agree only if we mean free as in speech and not as in beer :wink: developer need something to eat and drink after their efforts :wink:
Bye! :smile:

3 Likes

Well… I do not agree.
A fair software include a fair payment to the developer.

1 Like

Hello,

FP already release the kernel code! the problematic area is everything else!

1 Like

Hi @Freedim. you are quite close ! There is currently indeed a strong coupling between hardware and the software (way stronger than on the Intel platform). ARM only specifies the CPU and buses . Most of the rest (Interrupt handlers , IO , GPU , GPIO, I2C , video driver etc) gets merged on the system on chip and gets accessed via direct memory access (e.g. no self describing PCI bus).

If we look at the mobile market the story is a little more complex because the system on chip vendors also provide the modem (baseband) functionality that not running on the main ARM core but is needed to make a phone call.

3 Likes

If Firefox OS will be supported, i won’t hesitate for a second to buy a Fairphone.

1 Like

Yes, that’s exactly what I meant.