Shortly after the launch of the Mi3 last October, Xiaomi fans around the world began to heavily criticize Xiaomi for their decision to not release the kernel source for the phone. It’s not something that Xiaomi could neglect to release, either. The General Public License (or GPL) requires the code to be released to the public. More than a year after the phone has been in the public’s hands, Xiaomi is finally releasing the kernel source for the Mi3, and there’s a reason why they’ve waited so long.

First, let’s talk about the release date. Xiaomi announced in a Google+ post yesterday that the kernel source will be available in Q1 of 2015. Xiaomi also mentions that the Redmi 1S kernel source will be available beginning in December of this year.

So, why has Xiaomi not released anything for the Mi3 yet? In a press conference last week, ex-Googler Hugo Barra touched on the company’s reasoning a bit. Apparently, releasing the current source code would give too much information on Xiaomi’s two most upcoming devices. The company would reveal more than what they’d like, which is why they’ve been holding off.

Xiaomi explains,

The kernel source code for these devices contains a significant amount of source code that will be used in two upcoming models. If we release the kernel source in its current state, we will be revealing more than we would like to about future devices. We will change this going forward, but right now it is a constraint we have to live with. We hope you can understand this position, and we’re very sorry for the frustration we may have caused!

It seems as though Xiaomi will do a better job with their code in the future, so we should look forward to getting the kernel source released more promptly next time around.