A thorn in the side of many free software loving Android users, the Chinese MIUI ROM has long been accused of riding on the success of Android without fully complying with the free and open source licenses which it’s based on. MIUI’s developer, Xiaomi, has managed to cultivate a considerable fanbase for their ROM, adding insult to injury for many opponents. Xioami has even been so bold as to put their own phone into production, running (naturally) their license-violating software.
The idea that an Android spin-off doesn’t comply with the free and open source licenses that made Android possible in the first place, and further, that it is widely used and supported, has upset a sizable portion of the Android community. As a first step, a petition has recently been started to try and build enough momentum to force Xioami to comply with all appropriate licenses.
One of Android’s biggest draws, at least for the tech savvy crowd, is that it’s released as free and open source software.
Of course, the idea of “open” is thrown around a lot these days, and its getting to the point that the actual meaning seems to be diluted a bit. So it may come as a surprise to many that not all of Android is actually open source, indeed, some components are completely closed. What’s more, the specific licensing of Android means that it doesn’t necessarily grant you the same freedoms as other FOSS projects.
The core of the issue is that Android is released under the Apache 2.0 License, not the more familiar GNU General Public License. While both are “free software” licenses, the Apache license is what is known as a “permissive” license, which essentially means it doesn’t place as stringent requirements on how the software is distributed going forward.
The GPL requires that all software derived from GPL licensed software also be licensed under the GPL. In other words, if you use free and open source software to make your software, you need to keep the software open going forward. This particular clause in the GPL was intended to help free software grow, and keep anyone from developing proprietary functions and features which couldn’t be replicated by other developers.
But the Apache license is different. It does not require that software based on Apache licensed software actually keep the same license. In fact, you can absolutely take an Apache licensed project, modify it, and then release it as completely closed software.
Essentially, this is exactly what Xioami has done with MIUI. They took the Apache licensed Android, branched it into their own custom mobile operating system, and decided to keep the source closed. Unfortunately, this is completely allowed with the Apache license.
So what’s the problem? The primary issue is that, while Android itself is licensed under Apache, the Linux kernel which it uses is not. Linux is GPL software, so unless Xioami wants to develop a replacement for the Linux side of Android, they need to make their kernel modifications public. While the kernel modifications are only a small part of the modifications Xioami has done to create MIUI, it does include the low-level work Xioami has done to push things like performance and energy efficiency.
The petition, currently hosted on the aptly named OpenMIUI.com, is pretty straightforward:
Show your support for the project by signing our petition against Xiaomi for ignoring GPL licensing Kernel and also other elements of MIUI.
Users are then asked for their email address, name, and an optional comment which they want to leave. Once signed up, you’ll be added to a mailing list which will (hopefully) communicate some good news in the future as to OpenMIUI’s progress with the petition.
While this author has never had much faith in online petitions, it’s a good first step in getting the community at large to recognize that Xiaomi hasn’t been playing by the rules with their development of MIUI. With a little luck, it might just get the ball rolling in the right direction.