What can vendors do to help

From postmarketOS

The #postmarketOS-mainline Matrix channel is home to many Mainline-Linux-on-phones efforts. While the members are a crucial part of the procedure of getting pure Linux reliably on their devices, the vendors can significantly help with this process!


Making debug ports available

Homegrown developers often view their phones (and other devices) as black boxes, as they lack technical reference manuals and other useful pieces of information. This is where debug ports come in: from debugging an error in BSP code, to getting output from a fresh port of Linux, BSD or any other kernel/OS, it is crucial for many to have a way of communicating with the device that requires little to no setup. Many manufacturers, like Samsung, SONY or Xiaomi have exposed debug interfaces in one way or another (be it via the USB port, or pins on the motherboard), which let devs have a far easier time knowing what's going on with their code.


Not using (double-)signed firmware and other high-security features

Linux and Android, while they do have their security flaws (as every piece of software does - no code is perfect), are often plenty secure for an average user. Vendors tend to lock down their devices in ways that even a potential attacker would probably not bother exploiting. Requiring the firmware to be signed essentially removes the possibility of creating aftermarket solutions, as the chip won't function properly if the signature doesn't match the manufacturer's. While sounding like a feature, it is indeed a fatal flaw. When the vendor support ends, say 2 years after the device's release, users are stuck with potentially unsafe firmware that they are not able to replace. It does not have to be that way, as it seems not to be enforced by either chipmakers or OS makers. Yet many device manufacturers choose to blow given fuses, or otherwise set some bits that disallow tinkering on your own.


Sharing schematics

Many OEMs take pride in their devices. Why not share the excitement with us, consumers on a deeper level? Having the access to schematics is often crucial for exploring new OS options. For example, how is one going to know whether it's safe to power on regulator A without regulator B if one isn't told how/whether these are connected? And then, how would one know the precise model number of a part, so that new developments can include the required code for it?


Sharing design quirks

Everybody makes mistakes. After all, we're just humans. It's a part of our nature. Do not be ashamed of the mistakes you've made in your design. Instead, embrace them by giving us, the developers a warning and an explanation on what can we do to overcome them. If, for example, your memory chip erases itself when it gets a certain command - tell us! We'll figure out how not to pass the deadly bitstreams to the chip, making it safer for device owners.


Making devices available to developers

The postmarketOS-mainline chat includes some prominent developers, who have proven their abilities by getting Mainline Linux (and various other pieces of software) to run on off-the-shelf consumer devices, like phones or tablets, that were never meant to be used with it. These people are often limited by two factors: lack of time and devices to develop on. While the first one is often a very complicated subject that can not be solved in a simple manner, the latter one very much could be. Some device makers are known for providing devices to known developers (like Pine64). It's a great way to provide people with tools they need to build a better future for Free and Open Source projects. It's not even about giving them access to the latest and greatest - quite contrary in fact! postmarketOS's motto mentions a "10 year lifecycle", which - proven by the likes of ST-Ericsson U8500 being mainlined (i.e. having the Mainline Linux kernel ported to them) - is in fact possible! On the other hand, it's a good way to dispose of old stock in a responsible way :wink:


Choosing hardware wisely

There are some chips that are known for their closed nature, likes of which are PowerVR GPUs, or MediaTek SoCs - mainly due to the lack of public documentation and lackluster Open Source codebases. While price is often a great factor, there are vendors who choose their chips solely for the purpose of building a device as Freedom-respecting as possible (such as Purism with their I.MX8MQ-powered phone). This also goes for Wi-Fi/Bluetooth chips, basebands and other components, including the smallest ones, like sound codecs.


Releasing the source code

The GPL2 License requires one to make the source code of a modified program available at request. Sadly, many vendors violate the license by not releasing their modified versions of the Linux kernel and sweeping it under the rug. This harms the Open Source movement, as we cannot just guess what was inside and reverse engineering a monolithic kernel is not a pretty task, even with 95% of the common source available.



But why?

While many for-profit companies see no use in preserving electronic devices for longer, the buyers certainly do. This plays very well with the recent Right to Repair movements, because people realize that they do not need to swap out their hardware every year or so. Apart from saving money, keeping your devices for longer is a net positive for the planet, keeping them out of landfills.