I remained silent about the whole Focal relicensing troubles for now. There was a lot of drama between the app being GPL, and the fact Cyanogen Inc wanted to use it, which drove some frustration between me, some CM contributors, and CM leaders. As a result, to avoid any problem, Focal has been removed from CyanogenMod. I think you deserve explanations and “behind the scenes” view on how all of this happened, and to know it’s not just a last-minute decision or ragequit.
This is the true, fully-featured story of the “Focal drama”. It's not a rant about how Cyanogen Inc is bad or anything (and it can be a good thing, with a few conditions, see at the end of the post), but just an insight on how this all happened, and how some people were and are feeling.
A few months ago, I decided to work on an app to replace AOSP’s Camera app after +Steve Kondik
expressed concerns about the camera experience on CyanogenMod in a G+ post. I decided to take the challenge, and build up a camera app that would be up with users’ expectations: accessible and innovative UI, but fully-featured.
You all know how that worked out - the app has been out for some time now. I’ve been keeping the “internal” CM team (read: the CyanogenMod Dev private G+ group) tuned with my progress, releasing them mockups, screenshots and videos of the progress. Luckily, nobody ever leaked what it was, even with the big storm we started with the Nemesis trailer.
A few days before we started organizing Focal’s launch, I was approached by +Koushik Dutta
and +Steve Kondik
. They wanted to talk to me about CyanogenMod’s future developments, that sounded cool. Koush told me in a video chat Cyanogen’s plans since he left Samsung: they found investors, and they’re ready to push forward Cyanogen Inc, a company selling services for CyanogenMod. At first, that sounded amazing, getting a few bucks for working on something I’ve been doing for free for some time. That would allow the student I am to get some stuff and get a kickstart for my future life. That would have given me the chance to spend more time on CM, as I wouldn't need to work elsewhere. Now, I didn’t have much information about what were Cyanogen Inc plans to make money, but I expected it to be through some kind of services - koush told me about CMID, which later became CMAccount, or other premium things like a one-click installer, or even a CMPhone. That sounded like a nice addition to CyanogenMod, leaving the community intact, and adding more value to the software distribution.
I had a similar chat with Steve, where he explained me some of the other aspects of Cyanogen Inc, his philosophy about it, etc. Okay, that sounds like a good plan, get me involved and enhance the open distribution I know and love. I have a few emails back and forth between Steve, Koush and me, talking about what I could work on, what I could enhance on Focal, etc. They’re telling me they’re looking into contracts, and I wait.
That’s when the “drama” started.
I got a Hangouts chat from Koush, saying that Focal would need to be relicensed because GPL isn’t ideal -- wait what, not ideal for an Open Source project?
“The issue is that we need to be able to relicense it”
“It’ll be open as GPL, but CM can do what they want with it.”
Yes, Cyanogen Inc. will need to do changes in CyanogenMod’s source code - because here’s another way they will finance the project: customization for their customers (e.g. carriers). This will imply the work done by the community will be sold to a third party by Cyanogen Inc, and that they have to do changes that they cannot put online publicly. A future conversation with Steve Kondik will reveal that they might need to put hardware-specific enhancement for some camera devices, and that has to be hacked in the Camera app code. Putting these changes inside Camera apps instead of Hardware Abstraction Layers (HAL) could break other apps, which ironically kind of go against the goal of CTS (because then, only the “official” camera app will have those enhancements). Of course, those hardware enhancements are trade secrets, so they cannot be published back to CyanogenMod’s public repositories...
So this is where I started to feel screwed. I didn’t think much further, but I felt like I had no other choice but comply with Cyanogen’s relicensing, and allow them to do whatever they want with my code, and sell it customized to their vendors. They used the Contributor License Agreement as an argument, saying that basically they could do anything with my code since I submitted it.
At the same time, the “cyngn.com
” domain was discovered, and concerns rised about what the hell it was. People such as pulser_g2 started to find connections between Cyngn.com, Kirt McMaster, Steve Kondik, Koushik Dutta, and all these people working at a “secret company” in a “secret location”. From ways I cannot even explain, he was able to come up with everything Koush and Steve told me, how they’d make money, and what are their future plans. Since he already knew everything, I told him about what was going on with Focal licensing, and he came up with the fact that this wasn’t legally right: the software is licensed as GPL, the repository on CyanogenMod’s github is forked from my GitHub, so it didn’t go through the Contributor License Agreement (which only applies to Gerrit submissions), and the Berne convention can prove through the commits history that I did fully write the app, and not Cyanogen Inc. - and even if the CLA would apply, it only allows them to sublicense the software, not relicense or dual-license it without my permission.
I didn’t want to be a jerk on that licensing story, and went ahead to resolve the issue directly in private with Steve. At the same time, other people such as Andrew Dodd (Entropy512) beginned to hear echoes about something was going on with Cyanogen, and heard about the GPL licensing issues around the time Land of Droid revealed the connections. He got really upset about that, getting only silence or vague answers from CM leads, turning around sentences.
That’s where they started lying to the community, denying they had something to do with cyngn.com
, denying there was a commercialization of CyanogenMod going on. When people said “Why would Focal get relicensed?” they would just say “No, it’s not relicensed. It will stay GPL.” - yes, that’s where “relicense” became “dual-license”, where the app would remain GPL publicly, but still allow Cyanogen Inc to do what they want with it. But they didn't mention that publicly.
pulser_g2 raised some points on an XDA post that became quite famous, quoted by some news websites, and raised to the attention of some CM leads.
The official answer was: “Don’t interfere, don’t reply, let it go”
So, they didn’t confirm or infirm that CyanogenMod was or was not going commercial. If it wasn’t going commercial, they would have denied it. But here, they ask to “let it go”. Why not tell the truth? For them, it was better to just sweep it under the rug. But who was right in the end?
At that point in time, I still had no news about the contracts I was meant to receive weeks ago for working with Cyanogen Inc on Focal. I pinged ciwrl, who told me to check with koush, who told me to check with Steve, who didn’t reply.
At that time, they also started scrapping features from CyanogenMod. Device’s “Advanced settings” disappeared, without getting a proper replacement first. Some features aren't considered as useful enough, and didn’t make it into the new CMHW HAL. Even if users want something, they won’t get it if it’s not useful enough. Save to external SD disappeared as well from the AOSP Camera app, because it breaks Google’s CTS. Root access is planned to be COMPLETELY removed by default, and to be downloaded in a separate package. Users don’t use root anyway, they say. All of this because of a future CyanogenMod Phone, which has to pass CTS to get Google Apps officially. Want some exotic features? Too bad. You won’t get them if Google don’t. Wasn’t that the point of CyanogenMod originally? Derp.
That’s when my concerns started to raise about the community contributions. People such as +Nebojša Cvetković
contributed a lot of features to CyanogenMod’s launcher “Trebuchet”, and felt bad about not getting any reward for his work, when Cyanogen Inc. would make money out of it. Same concerns were raised by other maintainers and developers who contribute, or used to contribute to CyanogenMod. It was the last bit required for multiple people to leave the CyanogenMod development community, or for some users to simply stop using CyanogenMod. They didn’t know exactly what Cyanogen Inc was up to, but since the leaders would just lie to them to hide the truth, they felt let down. And it was clear from my chats with Steve that they had no ideas or plans, besides contracting everyone, to reward contributors. But they cannot just contract everyone, like nebkat as he’s not old enough yet to have a contract. Some other people just don’t want to be contracted, but still want to get a reward. It’s only recently that I told Steve that people would be totally happy with some perks (computer stuff, t-shirts, usb drives, devices for big contributors, etc.), and it seems like he didn’t think about that at first.
This continued for some time, until now. Cyanogen Inc is now public, and they revealed (part of) their plans for the near future. And a sentence struck me on most news sites that relayed the news: they talk about “Cyanogen’s new Camera app” -- what WHAT?
So it’s Cyanogen’s camera app now? It not a CONTRIBUTION anymore?! - They claim it's their app, and I still had no news about the whole licensing thing, even if I had the chance to raise the point a few times.
This was too much this time - I pulled the alarm. I first contacted +Abhisek Devkota
on why it was phrased this way, to be welcomed with a “You submitted it…” … Uhm, no, but he wasn’t going to argue with me, and told me to see that with Steve, which I did. After some chat, explaining how he could reward nebkat and other contributors, he told me that he was still waiting on me to “list my pricing, features and milestones for Focal” -- which I did, back on July 23rd. I never had any answer, seemingly because the “Focal drama started” and he got frustrated. From there, it seemed like Steve just wanted to stop dealing with it because “this is too much drama”. The exact drama part that bothers him? Well, some contributors weren’t happy about what Cyanogen Inc is. +Andrew Dodd
really insisted and wanted to have explanations on WHY Focal would need to be relicensed, and why all this secrecy, without any real answer ever.
And how does Steve deals with these kind of reactions now? Easy answer:
“Oh god please tell me the story. grabs popcorn
Well, here’s your story. And here’s how they treat huge contributors like Andrew, who aren’t big enough and don’t open their mouth with the right people. The most ironical thing? If they want to dual-license, it is to make non-open changes to the apps. So, we’ll need CyanogenMod for the CyanogenMod Phone, because the code shipping on the device won’t match the public code.
Steve’s argument to avoid rewarding people, is that people wants to be “retroactively paid” - but he doesn’t seem to understand that people contributed when CyanogenMod was still a project all about open source, that wasn’t removing features from the ROM, and that had no commercial intentions. Nebkat contributed a lot of stuff in the Launcher, which is a central component of CyanogenMod today. But he did it a few months ago, “before” Cyanogen Inc, so he doesn’t deserve anything. But Cyanogen Inc can sell it to his customers.
Entropy512 wanted to clarify that point for his situation, which is true for many other contributors: “Some people like myself contribute to the project to keep our minds sharp and it's rewarding in and of itself. I make more than enough money in my day job. If someone is planning on creating a closed source fork, which is the only thing that dual licensing enables, it is no longer rewarding.”
Now, don't get me wrong. Cyanogen Inc is a huge milestone for CyanogenMod, and I can only applaud Steve for the initiative and being able to get there. There are not only dark points with the company, far from that. There’s a big bright side: CyanogenMod will become more stable, and will eventually get more features (even if they’re not going to do anything against CTS). Device support might get enhanced, since they’re paid to work on it now (even if issues existing for a LONG time aren’t fixed). And users maybe will get official support.
But the community can feel let down at some point. People from external ROMs would have loved to contribute back to CM at some point. However when Cyanogen’s leaders refers to Paranoid Android or AOKP, they call it “that other ROM”. Steve, always saying “Go ahead and fork”, isn’t actually taking seriously contributions from other developers. And since external contributors know their contributions are going to be ignored, they just don’t submit anything.
I could go on and on with many other things, how the code review is done (or rather, not done), how submissions are just -2’d without explanations, how they criticize XDA users (yes, where ¾ of their user base come from), how they complain people don’t contribute, when they DID but the patch was ignored because the maintainer didn’t want it at that time, how unstable devices are tagged as RC/stable (without asking their maintainers ; Netflix won’t run on a “stable” build of CM for exynos devices), etc. But I’m not here for that.
At this point, on my end the issue is solved, Focal is pulled from CyanogenMod. It wasn't a last minute decision, it wasn't just because I discovered it just now. It's something that has been running for around two months, and the solution was only found yesterday after a long discussion, and because it had to be stopped quickly.
I will keep on improving the app, fixing bugs, and make it better. If it’s not in CyanogenMod, then it will find room in another ROM. The app is GPL, and I will put it up on the Play Store at some point.
I have plans to raise the awareness of the importance of Open Source, and how GPL doesn't prevent any paid work, and that that there are easy ways to keep the community happy with such a situation.
And at the same time, I wish the best to Cyanogen Inc.Keep in mind: CyanogenMod wouldn’t be what it is today without its contributors. If you’re able to run CyanogenMod on your device today, it might not be only thanks to Steve, Koushik or Ricardo. There are hundreds of people behind them who pushed many patches, and enabled many devices as a hobby. Have you ever heard of them?