A call for libre phone development


Some years ago I bought the third telephone of my life. It's an archaic looking "feature-phone" which I want to last as long as possible. I'm not planning to buy anything more.

In fact, I always wanted sustainable phones. The first one was a sturdy Nokia that followed me everywhere for 10 years (and once waited faithfully for me in a mud pool for hours). The second one was a ZTE Open with Firefox OS installed, because I wanted something customizable, tinkerable, and as much free and open source as possible. Unfortunately, as you may know, the project was canceled and all I was left with was an incomplete, outdated and buggy OS written in Javascript. The only alternatives for a somewhat sustainable and open phone were projects like Fairphone, which seems to go in the right direction.

But I don't want an expensive 500€ smartphone. I don't want an easily breakable touchscreen, and I'm convinced there's a way to refurbish all the cheap "feature-phones" to make something usable and fast without all the fuss of a multiple Gigabytes operating system on it. I'm not planning to watch Youtube videos on my phone, only send good old SMS, so the idea of buying a cheap feature phone, and see what I could do about it started to sprout in my mind.

I bought a cheap 10€ phone with a digit keyboard, and kept it in a drawer as an emergency tool for about two years. Then the emergency came in: the screen of my Firefox OS phone broke, and typing on it became an exhausting experience, to say the least. So I switched to the cheap feature phone, and although it has a decent hardware, the software stack is completely out of place. What can we do about it?

Maybe we can live in a world where phones are used to place calls and send messages? Maybe we can live in a world where landfills are not stuffed with computer systems thousand times more powerful than what made us go to the moon, but still considered "old" because they cannot run the latest version of Snapchat? I'd like to live in that world, so I started a journey of retro-engineering to discover if I could make this dumb phone my phone.

We already have all the technology we need

I digged down and discovered that the operating system running on such phones was always some version of something called Nucleus OS. While the phone is branded by a French company, the hardware and software is completely made in China, and runs a crappy OS they don't even own the source code of. This means they can hardly control what's happening, and just build it and sell it. The OS is cranky, looks and feels old, and is completely closed source.

On the hardware part, it runs on a surprisingly powerful System-on-Chip made by a company called MediaTek (on mine, it's a MT6261), with 4MB of Flash memory, 4~8MB? of RAM, and speed ranging from 300 to 500 MHz. For a $3 chip, it's an amazingly cheap piece of modern technology, definitely not used at its full potential by the software stack (alas made by the same company). Compared to an Arduino or a Raspberry Pi, it's just better, cheaper and smaller. If there was a way to somehow make good software for it... It could become the best platform for hackers to make their own phones (or other DIY projects), and empower citizens with control over their mobile life. Because there is no backdoored security mechanisms on those phones, and no spying systems, they would became fully trusted free and open source mobile plateforms.

So what prevents us from using this awesome piece of technology? Well, some renowned hackers (known as bunnie and xobs) started reverse-engineering those things, and even built an open hardware implementation of a phone called Fernvale. In 2014, they disclosed the project to the hacking community and told us about the difficulties they had and the challenges of working with closed and obscure systems like these.

What I found was the most interesting thing they built was actually not software (though it permitted me to go as far as dumping the whole ROM and flash memory from my phone by following their tracks), but the framework and processes they designed to cope with IP infringements and stay in the legal zone of reverse-engineering.

Gōngkāi, a different kind of openness

In China, intellectual property is not considered the same way as in the Western world. There's a concept called gōngkāi (simp. 公开, trad. 公開) which means "open" or "to make public". It's not the same openness as in the western open source framework. It's more of an agreement that copying copyrighted content is good for all parties if you somewhat also agree to give back some of your work under the table, possibly from mouth to ear.

It has allowed companies to exchange knowledge, innovate and grow exponentially compared to western companies. This means we are, as engineers, researchers and entrepreneurs, being far outpaced by eastern companies, and are starting to lose all control over the hardware computer industry. When eastern companies can develop thousands of different phones and play with custom and powerful hardware directly ordered from the factory, western startups are stuck with doing kickstarter campains for shitty accessories for smartphones. They get to build phones, we get to build applications and accessories.

Slowly but steadily, the door to hardware knowledge is closing. Each year, we know less how to build phones and computers. Soon, we won't be able to know how phones work anymore, and it'll be too late for anyone to take back control.

With Meltdown and Spectre, we are only starting to understand how dangerous it can be to overlook the creation of processors. Viruses can be surmounted because they live in the same realm as software, but nothing keeps you safe from the hardware playing tricks on you, because there is no hardware you can install to watch over hardware. Once a backdoor has been engraved into silicon, it's there to stay. No Asian company is ready to divulgate blueprints to the outside world. The less we know, the better they can control the market.

I find absolutely awesome that China, and East Asia in general, has achieved such a development in technology and engineering knowledge. It is a great opportunity for them, and I'm not blaming them for doing so. But as developers looking for freedom, we must fight back if we want to keep a foot in the game. In some countries, hackers, but also activists and journalists, are frequently imprisoned for trying to obtain digital freedom, and we must help them, and get their help.

Take back your digital life

This is why more and more people are pushing for a real development of open hardware and open firmware. Not only for the DIY community of tinkerers, but also as a mean to free all users of computers and phones from the dangers of putting your life into a device you don't control, which can fail you at any time and is impossible to get fixed by a local business.

We are in danger of getting locked out of our digital life anytime. We may even be subject to something worse: being subtly tracked and incited to act a predicted way unconsciously (the recent scandals at Facebook are a first hint at what is possible). Don't get me wrong, I am not advocating conspiracy theories. There is obviously no secret organization pulling strings behind the scenes to control the mass or something (because humans are by nature completely unable to get to this level of organization to begin with). But it is my responsibility as a technically aware citizen working in the field of computer science to inform everyone that those strings actually exist and are just waiting to be pulled.

In fact, they are sometimes used by spy agencies around the world, but it's occasional and targets specific individuals. What might really be dangerous is in case of a global war, in which individual liberties will definitely be violated pretty quickly.

Whatever happens in the future, we'd better be ready. It may not be a war, but the rise of Google, Facebook, and other giant technology companies knowing every aspect of our lives is already a threat to our privacy, and may become a threat to our lives.

We need more open source hardware. We need more public awareness about using technology without knowing who's in control. Buying an Apple product makes you dependent of Apple in a more intricated way than just a seller/buyer relationship. You are giving away your photos, your contacts, your habits, your religious beliefs, your political inclination, your blood pressure, your health, a complete history of places you've been to, the name of your doctor, your boss, your mom, your job location, your home address and all that information can disappear in Apple's pocket (or any subcontractors) anytime without you having anything to say against it. You are giving away a complete resume of your life to be able to use the latest shiny technology. Is it really worth the price?

Hackers of the world united

With this article, I want to call out for hackers, all around the world, to unite and fight back our rights to possess and dispose of our data. In Europe, a big step has been done with GDPR, but we need more initiatives from citizens and experts in computer science.

Phones are becoming the new computer, and the new medium from which information is consumed, produced and exchanged. We need to retro-engineer phones, and build a completely Free and Open Source operating system for them.

Some groups have already started working on this, and I encourage curious developers to join them:

  • The OsmocomBB project, the only FOSS implementation of the GSM stack
  • The Nuttx project, an embeddable operating system suited for phones
  • The Fernvale project, an open hardware plateform to study the MT626x, started by bunnie and xobs
  • The postmarketOS project, which tries to make an operating system for phones based on linux (as a replacement for Android when updates become too large)

All those projects share a same goal: finally have free and open source software, and hardware, for the phone industry. We fought a lot to get linux and free software in the desktop world, but the trend is shifting toward mobile phones, and we are losing this industry to fake open source like Android, which are closed plateforms pretending to be open source, but are just using linux as a way to spy on people and force them into throwing away their phones for a brand new one because "the latest update made my phone sluggish".

We are even more losing it in the hardware side, where phones are only to be made by Asian factories, keeping the so called "open hardware" restricted to gadgets.

If you are a developer eager to discover more about "low-level" programming, eager to share some of your skills to build a world in which anybody can update one's phone to one's own operating system, then join some of those projects and try your hands at something new!

If you are not a developer, but have been messing around with rooting your phone, customizing it and trying to get more freedom in the way you want to use it, then spread the word!

Hackers and tinkerers have a great opportunity today to make something more than just hacking software or hardware: we have an opportunity to free the people from being dominated by big IT companies. It may just be a small step forward, but I'll be hard working at it. What about you?

Tags: english, technology, slow-tech, diy, sustainability

Back home