Tuesday, October 08, 2013

The winds of change, radiating from a cell tower in the distance...

It's no secret that I've been an Android enthusiast for years, going all the way back to 1.0 on the first developer phone, the ADP1. I found myself involved, early on, with the CyanogenMod project, way back when custom ROMs were just WinZip surgery, and nobody compiled from source. JF and Haykuro lead the way in the early days, eventually giving way to custom kernels. I remember delving into kernel code for the first time trying to get a custom build of Android working on my HTC Dream (no, not the G1), but because it used slightly different hardware, needed an EBI1 kernel instead of the EBI0 that everybody else was using. Patches were acquired from HTC (eventually, through much prodding), and the revolution began.

Android 1.5 came out, and with it, CM. I grew to support the team, who are all a great group of guys, and did what I could here and there. It's been a wild ride over the years, and now that they've incorporated, I wish them all the best of luck. I know a number of people there, and have met most of them in person myself. Again, great group of guys, and I really hope they go far. It's clear they're doing what they love, and loving what they do.

That being said, the nature of Open Source has always been a fairly emotional scene. People do a lot in their spare time, with out compensation, so they feel a certain sense of attachment to their contributions. It's certainly understandable that they'd have a higher degree of passion about something they choose to do in their spare time, than something they were paid to do by their employer. I'm not talking about Focal or anything related to the incorporation of CM, btw, just talking in general. It's just the nature of OS.

As such, it's with a sad sigh that as of this morning, I'm no longer running CM personally on my phone. After nearly 5 years, I think it's time for a change, and, after considering a lot of things, I've decided to go in a different direction than the one CM has chosen to take. I'm not mad or upset, I just found that CM was no longer aligning with my needs and wants, personally. I still feel they're an AMAZING project, and one I fully endorse, support, and recommend to the vast majority of my friends. I'm still a forum moderator there, and hope to continue that role, as well as being active in their community and XDA about CM.

What, exactly, lead to this decision? Well, recently, the CM team decided to switch from AOSP sources on the Nexus kernels to the CAF tree from Qualcomm. This is probably to improve performance in some ways, but, I feel it's a legally questionable move, because of the restrictive licenses and proprietary binaries required. The Nexus 7 uses these sources, so it's required there, but switching the Nexus 4 to them? The only thing it's accomplished on Mako currently is to break compatibility with AOSP sources. So no more franco kernel, or anything besides CM's kernel, unless it's developed or rebased against CAF. In essence, CM has split the Nexus community into Camp CAF and Camp AOSP, forcing everybody into one or the other. I'm honestly not sure where they're going with this, but I think it's a horrible decision (and a number of kernel devs and AOSP coders agree with me). I'm not trying to publicly shame CM, as I fully believe they feel this is in the best interest of their users. And, it probably is. Performance matters, right? But is it in the best interest of the Mako community, or the AOSP community? I'm don't think so. But, that's for history to decide, I guess.

What I do know is that, as of this change, CM no longer meets my needs. The CM team does a great job with a lot of things, from development of awesome features, to performance tuning in the frameworks and kernels, to QAing their products, to triage of bugs, to release engineering and infrastructure management. I have nothing but respect for them and the products that they put out every day, and for free, too. But I need compatibility with AOSP sources. I need USB fast charging. I need performance tweaking, undervolting, and more advanced features that CM isn't looking into, for one reason or another. And there's nothing wrong with that. At the end of the day, this is, after all, their project, for them to manage and run as they see fit.

It seems that CM is in the midst of a shift in strategy. When Steve first developed CM, it was to produce the version of Android he wanted to use, that had the features that stock Android didn't (or couldn't) implement. I think that's largely been achieved. Now, they're focused on polishing that, and bringing it to the masses. Shipping on a phone through a hardware partner? That's awesome, and I'm so happy for them. An official installer to make the process painless for people who have never modded their phones before? Even better! But this shift has demonstrated that CM is no longer for power users, it's for everyone. And the power users like me are slowly but inevitably starting to suffer. So yesterday, I switched to Carbon ROM. It's based on CM, with some AOKP and PA built in, and I'm discovering a whole new world of things that are available outside the garden I've been enjoying for the past several years and devices. I've known about things like HALO, and I've never cared. Now, my device has HALO, and I'm still not using it. Yet. The AOKP NavBar settings are a nightmare, and it doesn't even support taking a screen shot from the shortcut ring like CM does. But it does other things, such as widgets, customized buttons, colours, and all sorts of other mods that are quite nice. QuickSettings are a pain, since they also use AOKP's code, but a dev recently told me they're switching that out for CM's implementation soon, too. I'm looking forward to the future with Carbon, for the simple fact that they took CM as a base, and turned it back into the power user garden that I craved to be in once again. Will I stay with Carbon? I honestly don't know. My tablet still runs CM, and will continue to do so until I get the bugs out of Carbon and switch, or until the Manta tree switches to CAF sources too (which I don't know if it will or not).

I don't regret my time with CM on my phone, and I look back over the years with many, many fond memories. I'm also not saying "Goodbye" by any means, more a simple, fond, "See you later!". Because I will see them later, and I will continue to keep in touch. But with the sun setting in the distance, I feel it's time to pack my bag, hop the train, and see where I end up, knowing I can come home if I need to...