Whenever a device is released by an OEM (like Huawei, ZTE, Micromax, etc.) that makes use of a MediaTek SoC, one of the first things we invariably hear from users are complaints about the lack of kernel source code. If you’ve spent any appreciable time on XDA, you undoubtedly know that we take an OEM’s responsibility to adhere to the GPLv2 very seriously. Go ahead, click the link and read about it; we’ll wait. And while you’re at it, maybe check out the nice FAQ that GNU put together.
You back? Good. Now, we understand this can be a bit difficult to understand, so our Developer Admin pulser_g2 put together a concise explanation of XDA and the GPLv2. All of that gives you a good background for this article itself.
Not too long ago, we issued a call for MediaTek to refine their policies as they relate to source code release. The GPLv2 mandates that anyone distributing a product that includes covered software must also must make its source code readily available upon request and at a reasonable fee. (Most do it for free, because you know, the Good Guy factor.) Seeing as Android makes use of the Linux kernel, this means that every manufacturer producing Android devices (tablets, TV sticks, accessories, phones, etc.) must make their kernel source code available. There’s no wiggle room here—they must.
In the case of MediaTek, they are in an interesting position. They don’t distribute devices to the public. Rather, they sell to distributors, who in turn package various pieces of hardware together into a final device and distribute that. They are really no different than their direct competitor, Qualcomm, except for one thing: Qualcomm has learned how to be open and make money, AND be the dominant player in the industry.
MediaTek is required to provide full GPLv2 source to their customers (OEMs). This would include, per the GPLv2:
The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable.
It is the responsibility of the OEM as well to provide the full GPLv2 source for their final product, which would include the MediaTek SoC GPLv2 kernel source. It is also the responsibility of MediaTek to make sure their partners are not under the impression that they are unable to release the MediaTek source code.
In a perfect world, MediaTek would do something similar to what Qualcomm does with their Code Aurora Forum (a.k.a. CAF) and roll out kernel source code for just the core device they sell to their partners. This enables anyone who has that device to work with it at a kernel level and extend it, as well as submit patches back to MediaTek. This makes for a cohesive, collaborative environment that actually encourages and grows the community and the company. Win-Win for all!
Recently at Computex, held yearly in Taipei, MediaTek announced their intention to become more developer-friendly through a new program they call “MediaTek Labs™.” This new program is actually an ecosystem designed to support developers in device creation, application development, and services based around MediaTek offerings. Their upcoming web portal will feature software and hardware development kits (SDKs and HDKs, respectively) and technical support and documentation.
In my role as OEM Relations Manager for XDA, I constantly have conversations with personnel at OEMs about how they can better work with the development community. MediaTek’s VP of MediaTek Labs, Marc Naddell, and I have had numerous such conversations as of late, and I have to say I have been very impressed with his understanding of, and desire to work with the independent development community. It is difficult for a company to change their ways and embrace a community that encourages open source and collaboration, especially when it is not explicitly tied into their organization or control. Marc understands that in order for MediaTek to grow and become a player in areas of the world where they don’t have a large presence, they must become more open and look for ways to encourage collaboration using their products.
We at XDA are excited to see MediaTek move this direction and look forward to continuing to work with them to embrace and support the independent developer community. We also encourage them to not lose sight of the end goal, and to also not follow in the steps of people like Samsung, which made promises to the developer community but ultimately failed to deliver. MediaTek, take this opportunity to set the standard for how companies should embrace the open source community, and how working together with the comunity can actually be a substantial boost to a company’s business.
March 23, 2014 By: Adam Outler
When asked for source code, MediaTek asks for money. They literally charge a Licensing Fee to device manufacturers for Linux Kernel source code.
It’s a sad state of affairs when a manufacturer closes off GPL-protected Source Code. It’s even sadder when they are providing compiled firmware with several severe security vulnerabilities. It’s sadder even still when they require a license fee. This is going on right now with MediaTek (MTK), and it’s their standard operating procedure. READ ON »
March 12, 2014 By: Will Verduzco
Due to their bargain basement prices and high apparent value, it should come as no surprise that MediaTek devices are growing in popularity—especially in emerging markets such as India. But because of a frequent lack of GPL compliance and nonexistent developer openness, original development for these devices is slim to none.
Luckily, there is still progress being made on these devices. And despite an uphill battle, development is happening thanks to source code leaks and the hard work of developers like XDA Senior Recognized Developer Xplodwild and Senior Member Dr-Shadow in filling the gaps. And now after an unnecessarily long journey spearheaded by Forum Member bucefal82, quite a lot has been accomplished.
XDA Recognized Developer chrmhoffmann recently released a KitKat 4.4.2-based work-in-progress CM11 build for the Wiko Stairway. Currently, a decent amount is functional, including the device’s primary SIM, audio, sensors, WiFi, and application support. However, it’s not quite daily driver capable for most, as the camera, second SIM, hardware video decoding, GPS, GPU acceleration, and a few other items are still broken. Despite this, it’s good to see development advancing on the device, and on these closed platforms in general. And since the device runs on the MediaTek 6589T SoC, which is also seen on various other budget-friendly devices, so it’s only a matter of time before this also benefits other MediaTek device owners.
If you own a Wiko Stairway and would like to try out an unofficial CM11 build on your device, or if you own another MediaTek device and wish to port the ROM over, head over to the original thread to get started.
[Many thanks to XDA Portal Supporter Titokhan for the tip!]