I try really hard to stay out of “forum wars”, but this whole thing with Ultimate Droid really got to me.
Koush, who works mainly with the Droid side of CyanogenMod (amongst other things like Clockwork Recovery) is the author of the ROM Manager application that makes it super easy to manage your backups and ROM library. About a month a go, the author of “Ultimate Droid” asked to be included in the ROM library. Something changed his mind, and he posted on the CM forums that Koush was only in it for money and wanted to be removed from ROM Manager (post ended up eventually deleted as the ROM was available as a free download). They also blamed ROM Manager as the source of many problems with their ROM.
This wasn’t that big of a deal, and I really didn’t know much about Ultimate Droid until I learned about all the new features in Ultimate Droid 10, which looked suspiciously similar to CyanogenMod.
So I downloaded it.
What I found was that UD10 was almost entirely based off of CM source code, and even included the many stupid little easter eggs like the KMFDM quote on startup. I decompiled some code to see if various parts were the same, and yes, they were. Now, CM follows the same licensing rules as Android itself, the APL (Apache Public License) which means that anyone is free to use the code in pretty much any way they see fit. What the UD guys did was perfectly fine. I *love* when people use CM source as a starting point- we put a lot of effort into making it build for actual devices, and there’s tons of extra goodies in there from so many people.
Here’s where I get annoyed. Not only did this guy rant on our forums and others about Koush, he doesn’t even acknowledge our hard work in his release notes. Not a single mention. He doesn’t have to do this, but dissing us and then doing it? I see that as highly unethical. There are a lot of people behind CyanogenMod (and Google! and HTC! and Qualcomm! etc!) who write code, handle bug reports, make graphics, maintain the forums, etc etc. We work hard, and Ultimate Droid went out of the way to deny this or any association with us.
So I signed up for his “home” forum and called him out on it.
Blackdroid and the mods at this forum were VERY quick to delete posts. This got everyone on IRC/Twitter annoyed and a “zerg rush” ensued. My account was banned, and then IP banned (don’t really care about this because I had never even visited the site before yesterday).
I do this Android stuff for a few reasons.. it’s a lot of fun, there’s a zillion things to work on, it’s open source, and the community is awesome. There’s also the matter of “geek cred”, you could say. CM has an *extensive* CHANGELOG with due credits, and all authorship information is also retained in our git repositories. So for me, this was kind of like getting spit on, then kicked in the nuts.
It’s not the first time that this particular ROM has had problems. They were banned from Alldroid for the same thing, and were also called out for pirating some of the top apps on the Android Market.
I had some talks with the mods at this particular forum about the situation and sent out a tweet that they were trying to do the right thing. The mods locked Blackdroid’s section of the forum and promised that they would investigate the claims. Two of the mods dropped by our IRC channel and we had a nice civilized chat about the situation.
Today, they are demanding a formal apology from me. I called out the “author” of this ROM, not their forum. It’s not my fault that the community takes this stuff seriously. Android is open-source, it’s so easy to do way more useful things than just copy/pasting the work of others. The only thing I’d like to apologize to them for is for hurting their ad-click revenue by exposing the biggest draw to their forum as a fraud.
Just to clear a couple things up- I have no issue with Droidforums, just Ultimate Droid. I did react hastily and could have been more tactful.
Also, since an Ultimate Droid developer has come in here and denied the claims that *anything* from CM was involved and all proper attributions were given, I decided to call upon the #teamdouche in myself. I looked for the first thing that popped into my head.
Here’s the resources I added for one of my favorite features (that used to be a bug!)- it requires you to unlock the screen (if you have pattern-lock enabled) to snooze your alarm. This particular feature is near and dear to my heart and has kept me from being fired. A joke was made that there should be an API exposed for this feature, so that you could make it ask you to do long division or recite the alphabet backwards to make your alarm shut up.
This particular commit can be found here: Part two in the “wake my lazy ass up series”. Add option to require
keyguard unlock to dismiss or snooze alarm. (sorry, I messed up the import order plz don’t beat me Google)
If you were to run this command on this apk if built from Google source, nothing would be returned.
shade@toxygene:~/ud/app$ aapt d resources DeskClock.apk | grep unlock spec resource 0×7f080038 com.android.deskclock:string/alarm_requires_unlock_title: flags=0×00000000 spec resource 0×7f080039 com.android.deskclock:string/alarm_requires_unlock_summary: flags=0×00000000 resource 0×7f080038 com.android.deskclock:string/alarm_requires_unlock_title: t=0×03 d=0×00000416 (s=0×0008 r=0×00) resource 0×7f080039 com.android.deskclock:string/alarm_requires_unlock_summary: t=0×03 d=0×00000417 (s=0×0008 r=0×00)
I hope this clears things up. Just a simple nod, tip of the hat, or *thanks bro* would be swell.
edit: taxday 9:19am
Jeagoss and TheDude did an md5sum check between all files in CM vs. UD. The more interesting stuff is in the system libs because APKs won’t have the same md5sums after being themed.
Another hilarious edit
I promise I won’t kick anymore salt in this wound (or will I?) because it’s not really necessary. But just to take it to the next level, UD10 includes the /system/bin/recovery file, which if you dump the strings from it, it’s Koush’s Clockwork Recovery binary (it’s part of the CM source)
shade@discord:~/ud/bin$ strings recovery | grep -i clock /sdcard/clockworkmod/backup/ /sdcard/clockworkmod/backup/%d /sdcard/clockworkmod/backup/%F.%H.%M.%S ClockworkMod Recovery v220.127.116.11
Blackdroid has made his triumphant return! It’s deletion city over there. Most posts are deleted within minutes. Refuses to acknowledge anyone or the existence of the spreadsheet above and all evidence for our cause was deleted. I asked their staff to delete my account. Forget that place.