Wednesday, April 11, 2018

Xiaomi aims to release Kernel Source Code for new devices within 3 months after launch

Xiaomi is a company that's largely renowned for their devices that offer excellent specifications relative to price. Smartphones is just one of their many ventures, but it's how the company has made its name known globally. The company's rapid expansion in markets like India has brought millions of new users onto smartphones running Android, which has resulted in a wave of new users on our forums looking to customize their devices. Unfortunately, Xiaomi has a poor history of complying with open source licenses as they have shown time and time and time again that they are willing to violate the General Public License v2 (GPLv2) by failing to release kernel source code for their devices. The GPL is what makes the developer community on our forums possible, as all Android phones run on the Linux kernel and without access to the source code it would have been nearly impossible for custom AOSP-based ROMs to take off the way they've done on our forums.

All software licensed under the GPL must have its source code be made available upon request. For smartphones running Android, this means that companies like Xiaomi must release the kernel source code for any compiled Linux kernel binaries that are shipped on devices. To this day, however, a huge amount of Xiaomi devices have been released without any available kernel source code releases, despite frequent requests from the developer community and technology media. We decided to reach out to Xiaomi to once again ask when the company would release kernel sources for each of its devices, but this time instead of silence we were met with a surprising announcement from a Xiaomi spokesperson: the company plans to release the kernel source code for any new device within 3 months after its launch.

"As an Internet company, Xiaomi respects the GNU General Public License (GPL) and is committed to an effective compliance.

We are deploying all our resources to achieve a sustainable growth and have been making efforts to speed up our kernel release. We want to make sure that every release is safe and stable.

So far, we have published the kernel sources for many devices. Moving forward, we target to release the kernel source of a device within three months after its launch." – Xiaomi Spokesperson, in a statement sent to XDA-Developers

While we respect this announcement and Xiaomi's renewed commitment to abiding by the GPL, we do still need to point out that 3 months is quite a long time especially when compared to companies like Google, Sony, and OnePlus that regularly release kernel source code shortly after release. A 3-month time-frame is certainly a huge improvement over Xiaomi's previous behavior when previously the company had no public commitments to abiding by the GPL. Xiaomi could take weeks, months, or even years to release the kernel sources for some devices, so 3 months is certainly better than nothing.

The company has provided us a list of devices for which they have already released the kernel source code for.

List of Xiaomi devices with Kernel Source Code Availability

Branch Supported devices
armani-jb-oss Redmi 1S
armani-kk-oss Redmi 1S, Redmi Note Single SIM
cancro-kk-oss Mi 3, Mi 4, Mi Note
cancro-m-oss Mi 3, Mi 4, Mi Note
cappu-n-oss Mi Pad 3
dior-kk-oss Redmi Note Single SIM
ferrari-l-oss Mi 4i
gemini-m-oss Mi 5
gucci-kk-oss Redmi Note Dual SIM
hydrogen-m-oss Mi Max
ido-l-oss Redmi 2, Redmi 3
jason-n-oss Mi Note 3
kenzo-l-oss Redmi Note 3 Full Netcom
land-m-oss Redmi 3S, Redmi 3X
latte-l-oss Mi Pad 2
libra-l-oss Mi 4S, Mi 4C, Mi Note Premium
markw-m-oss Redmi 4 Premium
mido-m-oss Redmi Note 4X Standard
mi1_kernel Mi 1
mi2_kernel Mi 2, Mi 2A, Mi 2S
mocha-kk-oss Mi Pad
oxygen-n-oss Mi Max 2
pisces-kk-oss Mi 3 China Mobile
riva-n-oss Redmi 4A, Redmi 5, Redmi 5A
sagit-n-oss Mi 6, Mi Mix 2
sagit-o-oss Mi 6, Mi Mix 2
santoni-n-oss Redmi 4X
scorpio-m-oss Mi 5, Mi 5s, Mi 5s Plus, Mi Mix, Mi Note 2
thomas-kk-oss Redmi 2 Standard
tissot-n-oss Mi A1
tissot-o-oss Mi A1
whyred-n-oss Redmi Note 5

The source code for each branch can be viewed here. Xiaomi has released way more devices than are listed above, so we took it upon ourselves to compile a list of Xiaomi devices without kernel source code availability.

List of Xiaomi devices without Kernel Source Code Availability

Code-name Device Name
helium Mi Max Pro
hennessey Redmi Note 3 (MediaTek)
hermes Redmi Note 2
lcsh92_wet_jb9 Redmi Note (MediaTek)
nikel Redmi Note 4 (MediaTek)
omega Redmi Pro
polaris Mi Mix 2S
prada Redmi 4
sony/meri Mi 5C
tiffany Mi 5X
ugglite Redmi Note 5A Lite/Redmi Y1 Lite
vince Redmi 5 Plus/Redmi Note 5

In addition, all Xiaomi Mi Box devices, as far as we know, do not have kernel sources available.

This is a huge amount of devices without kernel sources released by Xiaomi. While some devices are extremely old and pre-date the company's explosion into the global smartphone market, an alarming number of these smartphones were also released quite recently. It appears the age of the devices has no bearing on whether or not source code is available, given that many devices released years ago also have kernel sources.

XDA Urges Xiaomi to Continue Compliance with the GPLv2

Xiaomi's recent statement inspires confidence, especially as we've seen the company start to speed up kernel source code availability as the recently released Xiaomi Redmi Note 5 Pro and the Mi 6's Oreo update now have kernel source code availability, so the company is heading in the right direction. In an ideal world, Xiaomi would release all kernel sources for their devices as soon they release as required per the GPL. Furthermore, there are also a number of requirements that software source code released under GPL must follow.

  • Successfully build and produce a valid output file, which is the same format as provided in the binary
  • Contain all source code, interface definition files, scripts used to control compilation, and installation of the executable (it is not required to include the actual compiler/toolchain, but sufficient information should be made available to obtain the SAME configuration, including compiler flags, as used to build the binary version as released)

These are the primary guidelines for providing source codes under the GPL, and the exact same applies to kernel sources. The Xiaomi GitHub issues page is filled with requests for source codes and nobody, official or otherwise, seems to respond. We hope that with this renewed interest in GPL compliance that the company is more transparent about releasing kernel sources for their devices.

It's worth keeping in mind that Xiaomi is not the only company violating the GPL. Companies such as HMD Global have failed to release kernel sources for most of their devices, though that may be changing as the company has finally started to offer them for a few devices. Regardless of other companies' lack of compliance with the GPL, that doesn't give another company the excuse to do the same. With Xiaomi being one of the worst offenders among major OEMs and also one of the most popular among our community, we hope that the company commits to their statement and begins to show process towards becoming more GPL compliant.



from xda-developers https://ift.tt/2qqi8Gz
via IFTTT

No comments:

Post a Comment