Understanding CyanogenMod and Android Forks
When it comes to mobile operating systems, CyanogenMod is often referred to as a fork of the Android operating system. However, the term 'fork' in this context is a bit misleading and requires clarification. CyanogenMod is a community-driven project that modifies the Android source code to add features, improve performance, and enhance functionality for users. These modifications are akin to mods in PC gaming, where developers add additional features or 'bells and whistles' to an existing base.
It is important to note that CyanogenMod and other similar projects, such as AOKP (Android Open Kang Project) and OmiNiROM, are significantly less intrusive compared to the customizations made by OEMs like Google, Samsung, Sony, LG, and HTC.
The Complexity of Customizing Android
When OEMs like Sony, Samsung, LG, or HTC customize the Android operating system, they make extensive changes. These include skinning the UI, optimizing hardware, adding proprietary software, and other adjustments specific to their devices. The modifications are much more profound and cover a wider scope compared to CyanogenMod's efforts. In contrast, CyanogenMod and other similar projects primarily focus on enhancing the system without altering the core components in a manner that could negatively impact existing apps.
Google's Approach to Play Services Compatibility
One might wonder how CyanogenMod, and other similar projects, continue to offer Google Play Services and services, especially given the recent policy changes. The answer lies in Google's business model and strategic objectives. Google does not earn revenue from OS sales or device sales. Instead, their primary source of income is from ads and in-app billing. Therefore, their goal is to ensure the maximum number of devices running Android have access to Google services.
With this in mind, Google is generally not opposed to devices running un-certified versions of the Android operating system, even if they have Google Apps and Play Services installed. This is because the proliferation of Android devices, regardless of how they are customized, helps Google's revenue streams grow. However, Google does not simply turn a blind eye to all modifications. They have strict policies to prevent significant changes that could negatively impact the overall Android ecosystem.
For instance, Dianne Hackborn, a key figure at Google who addresses issues with illegal modifications to the Android operating system, has publicly criticized CyanogenMod when it attempted to introduce features like multi-window, which could potentially break existing apps. Google's stance is to ensure that platform modifications do not adversely affect apps already available on the Play Store. Apps are designed to expect certain behavior from the platform, and any erratic behavior can lead to issues.
Conclusion
While CyanogenMod is indeed a fork of Android, it is a minor one when compared to the expansive customizations made by OEMs. Google’s priorities revolve around expanding the Android user base and ensuring a consistent and reliable user experience, rather than profiting from device sales or OS licensing. As long as CyanogenMod and similar projects do not significantly impact the ecosystem, Google will continue to support them via Play Services.
As a developer and maintainer of CyanogenMod on Sony Xperia devices, I can attest to the ongoing support and the importance of adhering to these guidelines. It is crucial for the android community and users alike to understand these nuances to ensure the continued success and compatibility of custom Android builds.