Android phone manufacturers that refuse to release kernel source code should be boycotted. This is a desecration of Linux free software licenses.
Those that do not allow bootloader unlocking should also be resisted, as they infringe user freedom. Void the warranty? That does not matter. But giving no unlock tool at all is another matter. If the manufacturer treats flashing ROMs as destructive behavior, and unlocking makes it impossible to restore original functions (such as Samsung Knox blowing a fuse), then that is even more despicable.
At present, only Google does this best, followed by Xiaomi, OnePlus, and companies such as Fairphone. Yes, we do not like Google’s monopolistic posture, but because Pixel is its own device, the related compilation documentation is clearer and more understandable than that of other vendors. Xiaomi’s phones have the advantage of low prices, and compared with low-price competitor Realme, they have more flashing possibilities.
From my own experience, I bought a Sony Xperia 5 II. Surprisingly, Sony actually does release source code regularly. Although it took the online community two years before someone made a LineageOS ROM and got it mainlined, Sony is still releasing source code despite its market share constantly falling, which deserves respect. For Xperia 1 series and later devices, the functions lost after unlocking are not as many as in the past. There is no need to back up the TA partition or anything; as long as you lock it again, those functions immediately come back.
Android phones inevitably contain proprietary firmware, but this is a negotiable part. At minimum, manufacturers must release kernel source code. For proprietary firmware, someone in the online community will always find a way to extract it from the official ROM. This at least allows developers to compile usable third-party ROMs, possibly even replace original vendor software with free software, and avoid being limited by the vendor’s support period.
Some companies responsibly write that their products use open source software and include the original license terms, which is good. For example, a TP-Link router I bought before included a paper BSD license. But one must not be misled by this kind of behavior. The software includes open source components? Is the code of the entire software open source? Or are only the GPL parts forced open source?
Some companies say they support open source, but what they really mean is that they only provide a binary to the outside world, and the so-called published “source code” is merely the open source components used, not the source code of the core components. For example, AidLinux. I strongly suspect it is basically a Termux shell, and the source code published on Github is merely sample code, with none of the application body’s code at all. They do not respond to questioning, only emphasizing that they are a one-stop solution.
Actually, they are not lying either. They never said they were open source software. But this is exactly where some companies are cunning. They think they can attract users of open source tools without needing to publish source code, using a performative Github repository to fool users. Now even RHEL can technically bypass the GPL through charging money. We do not know what other tricks commercial companies will use to abuse open source software in the future.
When searching for open source software, you must know how to distinguish the degree of openness of software, preventing yourself from being lured away by proprietary software. I think companies selling SaaS should at least open source their software clients. It is acceptable for the server side to be closed source for business considerations, such as ProtonMail; of course, fully self-hostable open source software like Joplin is even better. As for pure web services that depend on closed source, such as Google Docs, one must be especially careful and actively seek self-hostable solutions.


