At XDA, we have a love-hate relationship with Xiaomi: We love the low-cost revolution they and other Chinese manufacturers have brought to the smartphone race, but absolutely detest them for violating the GPLv2 on multiple occasions.

The GPL situation keeps rocking back and forth, with sources for certain devices being released, while other devices get ignored and pushed back. This makes us see Xiaomi negatively more often than not.

Of late, it seems that Xiaomi is back to its old ways of acting against the interest of the developer community. It all started with a MIUI forum announcement:

Hi MIUIers,

We've locked bootloader for Redmi Note 3 since its launching in order to protect user data safety. As we said before, we'll be making the same change for other Mi devices gradually. Now, the list will include Mi 4c and Mi Note Pro also.

The forum post goes on to explain why Xiaomi had to take such a decision. Citing addition of malware by unofficial resellers as well as the loss of security that is associated with shipping all devices with an unlocked bootloader, Xiaomi had to take the decision to lock bootloader for Mi devices with the best interest of the consumer in mind.

Fair enough. An unlocked bootloader poses a fair few security risks, which are not worth it to an average consumer. Even from a custom ROM community point of view, it is better to have a locked but unlockable bootloader, than to ship all devices with an unlocked bootloader by default. The former gives willing users a choice if they so wish to venture along the "dark" path and still keeps the normal user protected, while the latter simply opens up everyone to the risks irrespective of their need of an unlocked bootloader.

Even Nexus devices, which are intended to be developer reference devices, come with a locked bootloader which can then be unlocked if the user wishes. An unlockable bootloader scenario is also far more favorable than having a device with a completely locked bootloader and no way to unlock it.

Xiaomi does indeed provide a way to unlock the bootloader. Infact, they also detailed the Official Unlocking Tool as well as a Tutorial via a MIUI forum post. The steps to unlock the bootloader of the locked bootloader devices include downloading a zip file and running it through the Updater app on MIUI, logging into the Mi account with unlock permissions on the device, logging into the same Mi account on PC when prompted by the Unlocking Tool and then connecting the device in bootloader mode to your PC. For first timers, this seems convoluted and unnecessarily complex. However, to any other experienced user, these series of instructions are not that difficult to follow. There is also a simplified English guide with image instructions to guide users through the procedure.

So, where's the catch? What is the problem with Xiaomi choosing to lock the bootloader of its devices and giving users an option to unlock them?

The problem is not with the solution, but with the execution. Unlocking the bootloader is not such a straightforward and hassle free process as it may appear on the surface. The roadblock lies with actually getting the Unlock codes from Xiaomi. The procedure is complicated enough to warrant a step-by-step guide for the application process for the code.

The first issue comes with the fact that the site is in Chinese, so you will likely have to use Google translate to not only navigate around the unlock request website, but also to fill in the details, including your "reason to unlock" description -- yes, you must explain to them why you want to unlock the bootloader, so it really is an application process. Not only that, but the confirmation takes between 3 to 21 days to arrive as all requests are manually approved by developers. So now, someone else is in control of your bootloader unlock.

Yet a quick look at the discussion forums, especially the conversations between XDA enthusiasts, reveals even worse aspects of this whole dilemma. Users facing a bootloop, including those that got into that state by updating to the new bootloader-locked ROMs, can only solve the issue by unlocking the bootloader. XDA Senior Member FrankBullitt explains:

And you need to realize that from 6.1.14 onward the locked bootloader means that there is no fastboot available. People are all over the official miui forums reporting bricks after the OTA and no solution is provided at all.

This is inexcusable from xiaomi.

What's more, many users are reporting that if you want to get your request approved within a reasonable time window, you must be a high-rank in the MIUI forums, with talks of 'Diamond' users getting preferred treatment. Given that the application process is done through the Xiaomi website and the requests are manually approved, this is not unimaginable. XDA Senior Member chickentuna explained the issue to a user stuck in a bootloop with no way to solve it:

You would need to achieve a certain status on their forums in order for xiaomi to approve your unlock request. The most interesting part is that once approved, you would need to wait for their SMS containing the unlock code for you to actually unlock your device which may take 15 days or more according to the some of the users who tried unlocking.

As of now, the users affected are those who deliberately flashed the newer ROMs for Xiaomi devices and unknowingly locked their bootloaders. But this will become an enforced standard and will also be distributed through OTAs, so at some point, this will affect a larger portion of the userbase; if it keeps up, it will eventually be on most Xiaomi devices. The biggest slap to the face comes with the fact that your bootloader unlock has to be requested and approved (by an allegedly biased process), and that the unlock request might take several days to be completed.

All in all, this is a very sad development for all Xiaomi fans. With the value they are offering, they have become a driving force in emerging markets and as far as hardware goes, their devices seem hard to resist. But the moment you factor in their MIUI/software, and worse, their GPLv2 transgressions and now, their efforts to lock users out of their devices, the phrase "you get what you pay for" begins making a whole lot more sense.

In one of their FAQs, Xiaomi asks itself "Isn't locking bootloader against Mi's 'geek' spirit?" and, funnily enough, their answer completely dodges the question. And that's because of the inescapable answer. We hope Xiaomi remedies all of this and finds a better, unbiased and universal process, one that doesn't leave users in the dark for weeks. At the very least, we hope that those users that were most affected by this move find a swift solution to their bricks.

If you want to learn more about this issue and discuss with other Xiaomi users, check out this discussion thread.