So I've been working hard on developing for ICS on the DX, and after a few weeks of rounding up bug fixes and code from all over the net, a thought occurred to me: why must this be the way of maintaining a device? Why do I have to scour forums and github repositories to find fixes that others have accomplished but I never got word of? This just won't do.

State of the Code

The state of development on the Motorola line of devices is quite fragmented. There are a set of repositories that manage the device repos for Motorola phones, and those are continually forked and modified, which are then in turn forked and modified, and the sad story is that very little of the modifications ever see their way back to the source. I tried to figure out why this is. From what I can tell, a large part of it is the desire to make easy modifications with minimal management overhead. If you send pull requests and whatnot, then that could be a day or more of lag. Even worse if you must submit to a Gerrit review system that may take up to a week to get a patch through. While this wait time isn't that big of a deal for standard feature submissions, bugfixes are much more time-sensitive, and also often rely on submissions to other repositories furthering the problem.

An Attempted Solution

So tonight I called a meeting of as many Motorola Android device maintainers as I could get a hold of in an IRC chat room. We discussed this and came up with some ideas. I would like to present that idea tonight. We have decided to make a test-run of a group we call MotoMagic. Essentially, our goals are as follows: To provide a common repository to further generic AOSP support for Motorola devices

To provide an upstream source for Motorola devices for any and all Android distributions

To provide a place for Motorola device developers to share ideas and discuss solutions to common problems

To provide a place for maintainers of new Motorola devices to gain knowledge about these devices

To remain distribution-neutral in our development, such that incorporation downstream is simple

To provide assistance in merging device fixes downstream In an effort to accomplish these goals, we are setting up a Gerrit system (similar to CyanogenMOD's system, but with looser restrictions on patch submission), as well as a Wiki for sharing information, and an IRC channel for the developers to talk in.

What now?

These are simply the ideas that I and some of the others have presented, and as things are still in flux, things are open to change. I am excited to see how this endeavor moves forward in the coming weeks. Perhaps it will flop, but I hope and feel like it could become an awesome way for device maintainers to work together in a collaborative effort. Right now we are setting up our systems and frameworks, and still getting our ducks in a row. You will hear more from us once the whole system is set up and our website is ready to go live. If you are a Motorola device maintainer we encourage you to join this effort. Stop by #motomagic on freenode and hang out for more information.

tl;dr