For as long as there have been Android phones, manufacturers have been skirting requirements of the GNU General Public License. Chinese manufacturers have been repeat offenders, although they’re not the only ones who’ve been tardy in releasing kernel source – mandated under the current GPLv2 license.

So, what is the GPL and what does it have to do with Android?

GPL stands for the General Public License, currently in its second version (hence v2). The Android kernel is based on Linux, software which is licensed through the GPL and made freely distributable as long as parties release the source of any modifications made to that code. Each Android device has a slightly modified kernel, hence the need for each phone, tablet or device to have its individual source released. That source code also has to be “complete” – to the point that someone can compile the source to create a working kernel.

While there’s no exact time-frame for release, it’s customary to see larger OEMs making kernel source available around the time a device hits the market. HTC has previously stated that the time-frame equates to around 90-120 days, although this has been refuted.

So, companies who release Android devices basically have to make the working kernel source code for each device they release. Simple right? Apparently not.

In the last couple of years a number of Chinese manufacturers have been making inroads into the world’s smartphone market, using Android’s open source code software as the basis of their device’s operating systems. Of the five biggest smartphone manufacturers in the world Chinese companies make up 3: Huawei, Lenovo and Xiaomi.

Although legal requirements to release source are not as heavily enforced in eastern markets, in western markets agencies such as the Electronic Frontiers Foundation are certainly interested in violations. With companies moving to western markets, dotting those i’s and crossing those t’s is something that many companies will have to watch.

Xiaomi is well known for violating the GPLv2 licence – the company is still yet to release the source for their Mi3 kernel, months after the phone was released. With their recent move to sell accessories in the US, they will certainly have to look at ensuring that they are producing legally required source code, as mandated.

Another Chinese manufacturer aspiring to break into the profitable western markets is Oppo, recently launching an Australian presence as a first step on the way to enter other markets. Oppo now sells six phones locally via their Australian website, with a presence in Australian phone retailer AllPhones. Oppo began selling their low-cost 4G compatible smartphone – the Neo 5 – in September last year, after announcing it a month earlier. Oppo has yet to release the kernel source of the Oppo Neo 5 and currently has no ETA for doing so.

A local CyanogenMod developer of note has recently made public requests to Oppo to release kernel source for the phone, adding repeated requests which seem to have so far gone without an ETA for the release of source.

While there’s no specific time frame within which a manufacturer must release their kernel source, 3 months seems to be the most that the community will tolerate (as HTC has discovered). The Oppo Neo 5 was released in Australia on the 2nd September last year, meaning that next week it will have been out for 6 months – with kernel source yet to surface.

After reaching out to Oppo for comment and an eta on when they would be releasing the kernel source for the Oppo Neo 5, they advised that:

they are currently working hard to be able to release the file asap and will let you know as soon as this happens.

So what happens from here? If Oppo continue to be unable or unwilling to provide the kernel source for the Neo 5 then they will be in violation of GPLv2. Any kernel developer in the world who has contributed to the Linux kernel no matter how big or small can hit them with a violation notice.

At this current moment there are a number of Australian developers who fit into this category, and they keep an eye on violations by companies in Australia, with Kogan the last target. Action against Kogan didn’t occur, as they released the source before lawyers became involved, but the implications are clear – if Oppo does not release the kernel source they will be in violation of GPLv2 and legal action is a possibility.

If a company was to violate the Android kernel GPL by not releasing their source code, they could be prevented from ever distributing the software ever again – that is, they’d never able to sell another Android device they have manufactured.

While this is not Oppo Australia’s fault it most certainly is their problem – they will have to deal with any consequences that may arise regarding local availability of their devices should they continue to deny the source to the developer community.

Oppo Australia needs to start putting pressure on their parent company in China, to release the kernel source for their products in a timely manner before consequences arise.

The kernel source for company’s two newest phones – the N3 and R5 – is available already, although the R5 release seemed to lag behind the N3. Some developers have speculated that Oppo’s internal processes for release of this source code are improving. There’s also speculation that the delay in releasing the kernel source for the Neo 5 is an overreaction on the company’s part to legal action launched by MediaTek last year against a number of open source repositories.

We’re waiting to hear back from Oppo with further information on a release date, or from any developers with a claim to the source code released under the GPL.

Is a manufacturer’s adherence to the GPL license important to you as a consumer, or a developer? Tell us in the comments.

Inline Feedbacks
View all comments

i agree, this is frustrating. i am currently trying to get them to release the kernel source for the Mirror 3. its a great little device and has a lot of potential. what pissed me off is they tried to say its “not advisable and that it would void my warranty if they release the source code”…….. looks like this will turn into a long fight.


Some more context: I asked for kernel source code as they are LEGALLY REQUIRED to supply when you ship a Android device back in November informally and formally in December.. I’ve been in contact with several engineers at Oppo who deal source releases. I do understand that there has been some delays (I heard a rumor of MTK DMCA’ing their source source repo then them simply not caring about the GPL).


“currently in its second version (hence v2)”

actually there is a v3 of the license, but it contained some “philosophical” updates which meant that the Linux kernel never transitioned to the newer version.


Pretty sure the writer meant v2 as applied to the Linux source, at least that is what I got from the context. Given he seems to, from his whole article, appears to understand the GPL, I think he’s also probably aware of there being a v3.

Darren Ferguson

Do these licenses have any teeth? Who brings action against them if they don’t release the source files?


Sometimes. the FSF will file suit, look at the busybox case.


Any individual with code in the Linux kernel can go to a lawyer and press the issue. But I’m starting to think that the licence doesn’t have teeth either. More and more companies are pushing the envelope with complying with gplv2 that I think they need to take a stand and hit a couple of them hard to bring them all into line.


In Western markets you can force the company’s hand, where some of the Eastern countries (China) could not care less what license they agreed to by using your source.

Andrew Dodd

Yeah. Two things matter: 1) Do the copyright holders care enough to file suit? The busybox guys are far more aggressive about this than most kernel copyright holders for whatever reason. 2) Is the target in a court system that cares? In the case of China, it’s “no” unless the company wants to ship devices in the West. Historically, Oppo has had desires to expand into the West and was good about the GPL as part of that. But various things seem to be changing… Oppo is putting far fewer resources into international devices and they’re no longer doing well… Read more »