MediaTek Taking Steps to Be More Open
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!
Times They Are A Changing
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.