Android Soap Opera: Ultimate Droid

April 14th, 2010

I try really hard to stay out of “forum wars”, but this whole thing with Ultimate Droid really got to me.

Some backstory..

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.

My original deleted post
WootRoot’s collage of all the deleted posts

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.

edit! 7:00pm
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.

Click here to Get Kanged

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 v1.8.0.6

edit again!
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.

  • khrist

    you put KMFDM quotes in the code? that is sick. my favorite rom is coded while listening to one of my favorite bands. match made in heaven

  • gltovar

    Say what you will, for some reason (I’m guessing its the kernels) UD runs far better on my Droid than Cyanogen. I recently tried the latest version with various kernal, and any one of the overclocked kernals would have my phone reboot a few times an hour. And keeping the stock speed… well i might as well just have the stock rom = D I get to run blackdroid stably at 1.1ghz

    If its any consolation, I’d like to be using cyanogen. =P

  • http://tjphysicist.github.com Tj

    WOW, gotta love soap operas…although its sad when a community like the opensource/android one has politics, such a good community otherwise :( … anyways, just like to mention regarding ad-click revenue…that i am sure a lot of people visited their website/forum to see what was up since this little bout began, who wouldn’t have otherwise..as tehy say any publicity is good publicity

  • mile

    when you say open source- I think this is all for fun and free. now when I spend more time on forums, (cyan. ud. droidforums…) I can tell that this is not fun anymore. open source for who?
    I think that you guys should join and that would be one great ROM I’m sure.

  • nate

    keep up the hard work Cyanogen. Love your work.

  • http://www.binary-yoga.com j scott gwin

    15+ years on the interwebnet has taught me several things – 1. shitheads are everywhere. 2. shitheads often take credit for other’s work 3. shitheads often do their own work too 4. once named a shithead they often can never escape their rep. 5. there are often two sides to a story so go on your own experience. 6. if your own experience tells you that someone’s a shitehead stay the hell away from them. 7. and most importantly don’t be a shithead unless you studied at the South Harmon Institute of Technology.

    Keep up the good work Cyanogen and Co.

  • http://Carpet-Cleaning-And-Four-Tips.wikispaces.com Laurence Bainum

    Sites like this keeps everyone safe from buying BS from people that think they are gurus or experts I think they just come here and steal some ideas and they put it in pdf and sell it to desperate people like me , so I learned my lesson I won’t buy any book until I look hard online. Thank you keep doing things like this.

  • intense21

    Sad that people use others to get a name, then don’t even acknowledge others hard work, that’s pretty low , equivalent to the icky gooey stuff in between my toes. Love the hard work you guys put into cyanogen. Keep it up.

  • http://xda salvy

    u guys r awsome i tried ur roms on my friends phone cant wait till theres CM rom for the samsung fascinate keep up the great wrk

  • JOE08

    THNKSBRO

  • BighPoppa

    I read the whole “soap opera” issue, Cyanogen vs UltimateDroid on many sites and thought I might review. I have my A++ and unix/linux cert,I also write (with my 10 year old son ,he is a firecracker lol) code.I have a rooted droid and tested all the roms I could find. I found cyanogen and UD the best. I so wanted to root for cyanogen because of the real complaints it sited, I wanted to make it my daily driver, but the fact is this is the nature of open source; we can use your code however and whenever we like, you can yell ‘site me, mention my name’ all you want but it does not change the reality (changelog lets go back to xerox 1973 nobody mentions me boohoo). sorry I gave each rom a week on my phone and cyanogen lost. I don’t want buy Setcpu if I don’t need it, I like the integrated home (ADW) that UD offers,I don’t want the find a smoke theme (or any other theme) for my release then update crap (sorry not the right one lets boot loop for a while then if you know how x to recovery and flash ) BlackDroid has it right UI perfect, integration perfect, easy to understand almost noob proof. The best damn Droid rom out there. Cyanogen stop crying and make a better rom.

    P.S cyanogen came in second only in my opinion and I flash between the two, Cyanogen still rocks try it for yourself and see. I just prefer UD you might like it better and for the noobs try zen and ShadowRom both great!

  • G.C

    UD is definitely the better ROM. CM got owned on this one. I understand he didn’t give credit where credit was due but he did improve on your ROM dramatically.

  • http://6PINCONNECTOR.INFO Delana Cruthirds

    I really like this blog. Iwish I could come here all the time.

  • http://www.downloadxvideosvideo.com Download From xvideos

    I love to learning more on this topic if possible, as you gain expertise, will you update your blog with more information?

  • Randy

    Tried CM6.1 On my droid, but pandora kept force closing so I had to go to LFY…. And my camera would only store pictures at random…

  • http://twitter.com/JustSayTech Tech

    i know this is over with but check lines 166 – 168 there are two more matching files you guys missed in the “Click here to Get Kanged” spreadsheet, which means the tally is even higher based on what they stole, keep up the good work, i respect the hard work you guys do a CyanogenMod