You might remember that a company called Skyhook Wireless sued Google back in September for business interference and patent infringement -- the Skyhook XPS WiFi and cell tower positioning system was all set to ship in the Droid X before Google got involved and Motorola dropped it from the phone. The case is still ongoing, but it just passed a major milestone last week when Google's initial motions to dismiss and for summary judgment were denied -- and lucky for us, a huge trove of documentation was unsealed by the court. The sheer amount of information is enormous -- over 750 pages across 88 documents -- and it offers a look into the nitty-gritty of Google's Android device approval process, including emails between Andy Rubin and Moto CEO Sanjay Jha. Perhaps surprisingly, it's relatively clear from the evidence that Google is the major gatekeeper between OEMs and the market -- and that's just the tip of the iceberg. We've gone through the entire stack of documents and pulled out all the information we can, so clear your schedule and let's dive in.

Here's how we're going to do this: the entire dispute rests on Google certifying Motorola's devices as Android compatible, so first we're going to look at Google's Android app license agreements. Then we'll go through the emails that comprise the bulk of the filing and put together a timeline of how Google dealt with Motorola, Skyhook, and Samsung to get a sense of what actually happened, and then we'll wrap up with some larger conclusions about the way Google handles Android. Okay? So let's get started.

Google's Android app distribution agreements

To start with, the exhibits include both Samsung- and Motorola-specific versions of a document we've always wanted to see: the license agreement for Google's branded Android apps like Gmail, Google Maps, YouTube, and Android Market. Interestingly, the contracts aren't identical, although they contain similar terms, and huge chunks of both have been redacted. There are still some interesting tidbits to be found, however.

The license isn't perpetual . Motorola's license expires on December 31, 2011, and the Samsung license provided expired on December 31, 2010, although it was significantly amended in June 2010 after the Skyhook debacle went down. I'd imagine getting these re-signed isn't a huge problem for either company, but Google definitely has the right and ability to take their apps and walk away.

. Motorola's license expires on December 31, 2011, and the Samsung license provided expired on December 31, 2010, although it was significantly amended in June 2010 after the Skyhook debacle went down. I'd imagine getting these re-signed isn't a huge problem for either company, but Google definitely has the right and ability to take their apps and walk away. Merely signing this license isn't enough to get Google's apps. Both Motorola and Samsung are required to get Google's written approval before pre-loading any device with Google apps, which comes in the form of a device-specific "Launch Addendum." Google has the right to specify exactly which versions of its apps are pre-loaded on each device, as well. There are several instances of Motorola pushing Google to sign off on Launch Addendums that have been delayed throughout the other filings.

Both Motorola and Samsung are required to get Google's written approval before pre-loading any device with Google apps, which comes in the form of a device-specific "Launch Addendum." Google has the right to specify exactly which versions of its apps are pre-loaded on each device, as well. There are several instances of Motorola pushing Google to sign off on Launch Addendums that have been delayed throughout the other filings. Android might be open, but Google's apps certainly aren't: the license forbids anyone from reverse engineering or otherwise trying to "learn the source code or algorithms" of Google apps. Yes, we all already assumed this, but now we have proof in black and white.

Here's the biggie: in order for a specific device to get a license for the apps, it must pass the Android Compatibility Test Suite and meet the Android Compatibility Definition . How Google exactly determines what passes the test is really the core issue in this case -- Skyhook claims Google uses the threat of incompatibility to act anti-competitively.

. How Google exactly determines what passes the test is really the core issue in this case -- Skyhook claims Google uses the threat of incompatibility to act anti-competitively. Interestingly, the license allows Google to change the applicable Compatibility Test Suite and Android Compatibility Definition at will up until the time a device is certified for launch... by passing the CTS. So basically there's nothing keeping Google from changing the CTS or ACD any way it wants in order to keep a particular device off the market.

Interestingly, Motorola's license is conspicuously missing the "Open Devices" term included in Samsung's agreement , which says Google and Samsung agree to make all Android APIs and apps "open" with no limitations or restrictions on Android. It's possible the Motorola contract just has this term blacked out, but I think it's far more likely that this term simply isn't there -- the other possibility is that Google's lawyers made a redaction mistake, which is rather improbable.

, which says Google and Samsung agree to make all Android APIs and apps "open" with no limitations or restrictions on Android. It's possible the Motorola contract just has this term blacked out, but I think it's far more likely that this term simply isn't there -- the other possibility is that Google's lawyers made a redaction mistake, which is rather improbable. Samsung's license was amended in June 2010 to require that devices pass the Compatibility Test Suite 30 days before launch, while the agreement signed by Motorola merely states that the final build of the device software must pass the CTS at any point before launch. It's easy to see why Google's making sure it receives final code earlier in the process -- Andy Rubin warned both Motorola and Samsung that he wanted to avoid "last minute surprises" like the Skyhook incident.

Google very specifically forbids Samsung and its partners from making packaging that "suggests Google is the manufacturer of the Device." This clause is absent from Motorola's version of the license.

Samsung's amended license prohibits it from doing anything "that may cause or result in the fragmentation of Android," including creating any SDKs that are based on Android or assisting any third parties in developing an SDK based on Android. What's more, Samsung's agreement also requires that the company only distribute Google-approved Android hardware and only distribute software on Google-approved devices. We don't know if Samsung's current agreement includes a similar clause, but those whispers of Samsung building Amazon's rumored tablet are certainly implicated if it does.

including creating any SDKs that are based on Android or assisting any third parties in developing an SDK based on Android. What's more, Samsung's agreement also requires that the company only distribute Google-approved Android hardware and only distribute software on Google-approved devices. We don't know if Samsung's current agreement includes a similar clause, but those whispers of Samsung building Amazon's rumored tablet are certainly implicated if it does. Critically for Skyhook's lawsuit, Samsung's original agreement didn't include Google's location services module in the list of licensed Android apps, but the June 2010 amendement -- signed after the Skyhook debacle -- includes it, as well as the requirement that it be preloaded. What's more, the June 2010 amendment also requires that Samsung use Google's location services by default , and stipulates that alternate location services may only be used in countries where Google agrees it's not doing a good enough job. So don't expect to see any more devices that have Skyhook at the system level.

, and stipulates that alternate location services may only be used in countries where Google agrees it's not doing a good enough job. So don't expect to see any more devices that have Skyhook at the system level. However, neither Motorola's nor Samsung's agreement specifies that Google's apps must be allowed to collect anonymous location data, which is a major issue in this case. It's possible that the relevant term is blacked out, however.

The June 2010 amendment to Samsung's agreement also includes a very interesting term: the 7-inch Samsung Galaxy Tab is specifically granted a screen size exemption from the Froyo compatibility document. We always suspected that Samsung had to pressure Google into supporting the Tab before Honeycomb was ready, and it definitely seems like that was indeed the case.

So after all that, here's what we've learned: Android might be open-source, but Google maintains tight control over its OEM partners by restricting access to apps like Gmail, Maps, and Market with a strict license agreement that hinges on Android compatibility. That's what we've always suspected, but now we have definitive proof. And since Google both defines the relevant compatibility standards and decides which devices pass, it wields considerable power over its partners. Which, of course, leads to the central question in Skyhook's case...



Does Google use the Android compatibility test to manipulate OEMS?

Fundamentally, this entire case is about whether Google uses Android compatibility testing to manipulate OEMs like Motorola and Samsung. And this email from Google's Dan Morrill seems to indicate that Google does exactly that: he says that it's "obvious to the OEMs that we are using compatibility as a club to make them do what we want."

Now, Morrill's email actually has nothing to do with Skyhook, so it's a little out of context: Morrill was discussing Samsung and T-Mobile bundling a LogMeIn app that required root access, and arguing for a more granular approach in regulating what software devices makers can ship running as root. But Skyhook's entire argument is that Google isn't hesitant to use compatibility as leverage to control its platform because OEMs like Motorola and Samsung are heavily dependent on Android, and Morrill's matter-of-fact tone certainly reflects that attitude.

And indeed, Skyhook ran headlong into Motorola's dependence on Google: Motorola flat-out told Skyhook that Android devices are "approved essentially at Google's discretion," and that Moto couldn't afford to risk its relationship with Google. Motorola also told Skyhook that its carrier agreements require Google's apps be preloaded on its phones, so Google's compatibility decision was doubly important -- if Motorola shipped software that didn't have Google's blessing (and apps), it would immediately violate its contracts with carriers.

So that's the core issue. Truth be told, we've been asking about Android device certification since we first heard Andy Rubin delineate the difference between "strings attached" and "Google Experience" devices at I/O 2009 -- a policy Google seemed to struggle with almost immediately as modified Android builds hit the market in phones like the HTC Magic and Hero. So how does Google handle OEMs that push the boundaries of Android? We can't know all the answers, but we can certainly build a timeline and see how the company dealt with Skyhook.



Google responds to Motorola using Skyhook XPS

Amazingly, this entire brouhaha started because Google's Vic Gundotra noticed this Business Insider post on Motorola choosing Skyhook for upcoming Android devices -- Motorola hadn't officially told Google about the switch yet. Making things doubly worse, Skyhook hadn't actually cleared its press release with Motorola even though the two companies had had a contract for nearly 18 months already. Had Skyhook just kept quiet, things might have been very different.

Vic sent out an email containing nothing but the link on April 26, 2010 at 9:11AM. Googlers sprung into action.

By 10:27AM Google's Charles Mendis had responded, saying that the Skyhook / Motorola deal "feels like a disaster," and suggesting that Google "figure out a battle plan."

and suggesting that Google "figure out a battle plan." At 10:46 Google's Mike Chu had replied, saying " I think we need to understand how much better Skyhook actually is."

At 2:36 Google's Zhengrong Ji replied and said "It's sad to see first Apple, now Motorola moving away from us, which means less collection" for Google's location database.

Meanwhile, Google's PR response was underway, and by 3:08Pm on April 27 Google's Andy Mathis wondered if Motorola could sound more favorable to the press in responding to questions about Skyhook. "Perhaps there is language we can plant with them for a blog post?"

In the same email thread, Google's Steve Lee cut to the chase, saying that OEMs switching to Skyhook would be "awful for Google, because it will cut off our ability to continue collecting data" for the Google WiFi location database.

for the Google WiFi location database. Google considered Motorola's reasons for using Skyhook "flimsy," and thought that trying to understand Moto's process in deciding to use XPS was "probably giving Motorola too much credit."

On May 7 Google and Motorola held a meeting in which Google's location service was compared to Skyhook and Google first said it was concerned about Skyhook data "contaminating" its location database.

On May 12 Motorola asked if Skyhook had passed the Android compatibility test and Skyhook said it had passed in Q3 2009.

On May 17 Google asked Motorola if Skyhook was included in the Droid 2 and Droid XTRM, which would ultimately be known as the Droid X, and began asking about possible data contamination.

On May 27 Google sent a letter to Motorola saying its "main concern" was that Motorola's phones reported Skyhook WiFi / cell tower locations as GPS locations, and Google not only didn't want to contaminate its own location database, but also didn't want to confuse users. However, Google also said "we are definitely not asking you to remove Skyhook from your solution," just that it be implemented in a compatible way.

just that it be implemented in a compatible way. Google also held a call with Motorola on May 27 to further discuss its worries that Skyhook XPS data would contaminate its location database. Although Motorola said those concerns were unfounded, Google's Charles Mendis said contamination was "still a threat" and that it would be "really bad."

At this point Google had three major concerns about Skyhook XPS: first, that Skyhook devices would somehow contaminate Google's location database, second, that devices using Skyhook would not contribute to Google location database, and third, that OEMs might continue to choose Skyhook over Google's location service. What's interesting about this is that the first and second problems are opposites -- although Google's database wouldn't be contaminated if Skyhook users weren't contributing to it, Google was equally worried about the loss of location data. For Google, no data is apparently worse than bad data.



Andy Rubin shuts down the Droid X launch

On May 28 Andy Rubin wrote Sanjay Jha and said that Skyhook WiFi locations being reported as GPS was a "stop ship issue" and that he wanted "to make sure there aren't any last minute surprises." Jha wrote back and said his team was working with Skyhook.

and that he wanted "to make sure there aren't any last minute surprises." Jha wrote back and said his team was working with Skyhook. On May 29 Larry Page noticed a month-old ReadWriteWeb story on Motorola and Skyhook and sent it out, asking "Can I get a response on this?"

Larry's email worked its way to Google's Steve Lee, who responded to a group of people including Andy Rubin outlining reasons to be worried about Skyhook and what steps had been taken. Chief among his concerns: Google needed "WiFi data collection in order to maintain and improve our WiFi location service (especially after having Street View WiFi data collection discontinued.)" Lee also called Motorola's XPS implementation "extremely strange" and said it would "pollute" Google's data collection.

Larry's email worked its way to Google's Steve Lee, who responded to a group of people including Andy Rubin outlining reasons to be worried about Skyhook and what steps had been taken. Chief among his concerns: Lee also called Motorola's XPS implementation "extremely strange" and said it would "pollute" Google's data collection. By June 1, Motorola was doing far more than taking suggested blog posts from Google -- Moto was running parts of its letter to Skyhook past Google for approval. Google suggested that Motorola focus on technical reasons Skyhook's XPS system failed the Android compatibility test: specifically, that the Android location service API is supposed to return locations derived "using satellites," and deviation from the Android APIs is not allowed per the CTS. Since Skyhook determines location using WiFi hotspots and cell towers in addition to GPS satellites, it was deemed a CTS violation.

Google suggested that Motorola focus on technical reasons Skyhook's XPS system failed the Android compatibility test: specifically, that the Android location service API is supposed to return locations derived "using satellites," and deviation from the Android APIs is not allowed per the CTS. Since Skyhook determines location using WiFi hotspots and cell towers in addition to GPS satellites, it was deemed a CTS violation. Google issued a "stop ship" order to Motorola on June 2 , according to an email from Motorola's Stephen McDonnell.

, according to an email from Motorola's Stephen McDonnell. On June 3, Skyhook received Motorola's Google-edited letter. Moto asked Skyhook to modify XPS for Android compatibility -- and requested "a response within 24 hours" due to Motorola's "imminent product launches."

On June 4, Skyhook sent Motorola a revised version of XPS that it believed fixed any potential issues. Skyhook later claimed it "received no substantive response" from Motorola on the revised version of XPS, and everyone agrees it was never sent to Google for approval.

On June 6, Sanjay Jha wrote Andy Rubin saying Skyhook XPS had been taken out of "Shadow," which was the codename for the Droid X, and that Motorola would go with Google's solution for "all other devices." At this point the story should be pretty much over for Skyhook and Motorola -- there's a CEO decision to use Google's location services. But then...

Samsung began shipping the Galaxy S with Skyhook XPS around the world throughout in early June.

On June 17 Motorola asked Google why the Galaxy S was allowed to ship with Skyhook.

On June 21 Motorola wrote Google and said that Samsung shipping the Galaxy S with Skyhook XPS placed Motorola "in an uncompetitive position." Moto then asked for a waiver to ship the Droid X and Droid 2 with XPS.

Moto then asked for a waiver to ship the Droid X and Droid 2 with XPS. Google denied the waiver on June 22, saying that Andy Rubin had already denied Sanjay Jha's request for a waiver. Oh, and "compatibility is a learning process," and "Motorola should not be concerned with other OEMs and their devices." Look not at the world, Motorola. Look only inside yourself.

Look not at the world, Motorola. Look only inside yourself. On June 23 Eric Schmidt and Andy Rubin attended the Droid X launch in New York. And hey, Paul Miller and I were there as well.

That same day, Motorola wrote Google back saying "it's unacceptable to be put in a position which limits our ability to compete." Moto also said that it was currently trying get some 40 Android devices through the approval process, and that "over half have been impacted by requirements which were not available or clear prior to submission."

Google responded by reassuring Motorola that it is a "very close Google partner," and that "controlling fragmentation on an open platform to ensure that Android is a success... will mean that we learn some lessons the hard way. Having a vibrant ecosystem around an un-fragmented platform is in everyone's interest, so we all have to bear the burdens."

Skyhook heads to the courts

June 23 was a busy, busy day: Skyhook sent Motorola a "notice of dispute" and pointed out that Motorola's Android code including Skyhook had passed the Android compatibility tests before the Skyhook relationship was made public, and that XPS was being deemed incompatible "based solely on the interpretation of the word 'satellites'" and not for any technical or performance reason. Skyhook also claimed it was not shown any documentation from Google saying that XPS was not compliant with the Android compatibility document.

Crucially, Skyhook also explicitly refused to allow Google apps on Motorola devices to collect XPS position data , which at least theoretically addresses the contamination issue head-on -- if Google's apps aren't collecting data, they can't contaminate Google's location database. This is a key point in the case: Google was worried about Skyhook's data contaminating its location database, while Skyhook didn't want to send any data to Google at all. Skyhook offered to show Motorola and Google how to "easily disable" location data collection for Google's apps.

, which at least theoretically addresses the contamination issue head-on -- if Google's apps aren't collecting data, they can't contaminate Google's location database. This is a key point in the case: Skyhook offered to show Motorola and Google how to "easily disable" location data collection for Google's apps. Motorola wrote back to Skyhook, explaining that Motorola's license to use Google's apps requires those apps to collect location data , and that Motorola's carrier contracts require Google's Android apps be installed on its phones. If using XPS put Motorola out of compliance with Android and thus unable to license the Google apps, it would violate its carrier contracts.

, and that If using XPS put Motorola out of compliance with Android and thus unable to license the Google apps, it would violate its carrier contracts. By June 25th Google had realized any additional paper trail about Skyhook was unwise due to the pending lawsuit -- a Googler named Alex Medina was instructed to "thread-kill" an email chain about an unnamed third Android OEM using Skyhook and take the discussion off-line.

On July 2 Motorola informed Andy Rubin that it was still unhappy about Samsung shipping devices with XPS, and that it now faced a lawsuit from Skyhook. Rubin replied to say Samsung had stopped shipping XPS devices.

Motorola and Skyhook met on July 8 to discuss the conflict. Motorola told Skyhook that Android devices are approved "essentially at Google's discretion," and that Motorola could not afford to break its relationship with Google.

and that The Droid X shipped on July 15, without Skyhook XPS.

On August 17, Motorola sent Skyhook a letter saying the contract for XPS was terminated because Skyhook had made unauthorized statements to the press, and -- most damningly -- "failed to deliver a functioning product that can be loaded on Motorola Android-based products." This is a major about-face, considering that Motorola and Samsung had both passed Android builds containing Skyhook XPS through the Android compatibility test just a few months prior.

That was apparently the last straw: on September 16, Skyhook sued Google for business interference and patent infringement.

As a postscript, on October 5 Skyhook told an unnamed OEM (likely LG) that Andy Rubin had said Google would certify Skyhook if "submitted properly by a handset maker." Whether or not this is true is something of a mystery -- we don't know of any Android devices that have shipped with Skyhook since, and at least Samsung's license for Google's apps requires Google's location services be used by default.

Google deals with Samsung

It wasn't just Motorola that planned to ship devices with Skyhook XPS positioning -- Samsung had already inked a deal to use Skyhook in the Galaxy S line of phones, and it had even shipped a few thousand devices. Google responded quickly to the situation after deciding XPS was a threat and declaring it incompatible.

As with Motorola, Google was particularly worried about contaminating its location database with Skyhook's information, and worked on filtering out location reports from the Galaxy S since some devices had already shipped.

As with Motorola, Google was particularly worried about contaminating its location database with Skyhook's information, and worked on filtering out location reports from the Galaxy S since some devices had already shipped. On June 15, Google asked Samsung if they were using the same version of Skyhook XPS as Motorola, and Samsung told Skyhook that "this might become a serious issue" since the Galaxy S was already on the market.

On June 16, Google decided to "push [Samsung] to fix this ASAP for a running change in the product."

On June 17, Google sent Samsung the same basic letter it initially sent to Motorola, saying that "the main concern" was reporting Skyhook WiFi / cell tower-derived positions as GPS locations and outlining contamination concerns.

On June 18, Samsung told Google that it was "very unfortunate that this issue was discovered in the last minute causing severe business consequences," but that Samsung would try to "become a good citizen of the Android eco-system" and issue a patch that removed XPS. However, Samsung also requested a waiver to ship some 25,700 Galaxy S phones in Europe with XPS-enabled software due to "hard carrier commitment" and patch them later.

and issue a patch that removed XPS. However, Samsung also requested a waiver to ship some 25,700 Galaxy S phones in Europe with XPS-enabled software due to "hard carrier commitment" and patch them later. Samsung's head of product planning WP Hong wrote directly to Andy Rubin on June 21 and asked for a waiver on those same 25,700 units, saying that an updated XPS-free build had already been submitted to Google as well.

Andy Rubin denied Samsung's request for a waiver on June 22, saying "this is a bad bug that breaks Google's internal systems" and that the Galaxy S "cannot be shipped until fixed." Andy also scolded Samsung somewhat, saying that the company should submit software builds earlier to "ensure that there aren't any last minute surprises."

on June 22, saying "this is a bad bug that breaks Google's internal systems" and that Andy also scolded Samsung somewhat, saying that the company should submit software builds earlier to "ensure that there aren't any last minute surprises." WP Hong wrote back, saying that he would appreciate it if Rubin would "prioritize issuing the certificate for the new software." Oh, and he also promised to show Rubin working samples of a 10.1-inch WXGA tablet -- a device we can only assume was the Galaxy Tab 10V.

On July 2 Andy Rubin confirmed to Motorola that Samsung had stopped shipping devices with Skyhook.

The Galaxy S line shipped in the US in July, presumably with updated and Google-approved software, and was immediately beset by GPS-related issues. Chris Ziegler identified two separate issues at the time: first, WiFi positioning was turned off by default, allegedly at Google's insistence, and second, the straight-up GPS system in the phone was working improperly. It's hard not to see these problems as a direct result of Samsung taking XPS out of the software at the last minute -- particularly the disabled WiFi positioning.

GPS fixes for the Galaxy S line started rolling out in late September, nearly three months after the phones started shipping.

Despite all of this, at some point Samsung told Skyhook that it was discontinuing use of XPS because of "performance and price issues, and not because of any Android compatibility issues."

Wrap-up

So what does all this mean? At the very least, it's now extremely clear that Google plays a major role in Android device development, to the point where Andy Rubin himself approves and denies requests from OEMs. It's also clear that Google places tremendous value on collecting location data, and it acted swiftly when it determined Skyhook's deal with Motorola might threaten its ability to collect that data. Hell, one of the headings in Google's summary judgment brief is "Skyhook was not entitled to deprive Google of its contractual right to collect location data on Motorola Android devices." Can't say it much plainer than that, really. And Google's doesn't hesitate to use its muscle to get what it wants from OEMs -- it revised Samsung's app license to specifically require Google location services be installed and used by default. Whether or not Google's behavior is anti-competitive is a matter for the court to decide, but it's definitely aggressive.

Google's attitude towards Android fragmentation is also fascinating: not only does the company tell partners that it has to control fragmentation in order to ensure Android's success, it's gone so far as to forbidding Samsung from producing or even contributing software to unapproved devices. We've been hearing that Google's taking a harder line towards fragmentation, and that clearly seems to the case.

As for Skyhook's case itself, it's hard to say. Google's concerns about the loss of data collection and the potential for contaminating its location database are both valid, and although Skyhook's put up enough of a case to survive summary judgement, it'll have to show that Google actually used the power of its Android app license improperly to keep XPS off Motorola and Samsung devices. (And Google will have to sort out exactly how Skyhook's data would contaminate its location database when Skyhook explicitly refused to send the data at all.) And let's not forget that nothing presented so far even touches on the patent-related aspects of the case. This whole thing is going to take some time -- and we'll have another huge set of documents to sift through at the end of it.

Lastly, we'd also note that the Open Handset Alliance, the nominative keeper of Android, is not mentioned a single time by any of the parties involved. The OHA might well steward the open-source aspect of Android, but when it comes down to actually shipping a device, it's entirely Google's show. And that might be biggest takeaway of all: for all of Android's open-source ideals, Google is very much in control -- and it's not shy about letting its partners know it.