Mining Google Web Services: Building Applications with the Google API
This appendix discusses some of the requirements you must fulfill to use Google Web Services. The purpose of this appendix is to help you create a checklist to ensure you meet the legal requirements ”the appendix doesn't tell you about your legal rights, act as a legal guide, or provide anything that would normally require a lawyer. I often create checklists of this sort for my own use and find that many other people find them useful too. The main reason I create these checklists for myself is that they make it easier for me to determine whether an application I create fulfills the basic requirements of the license. If you do have questions about the legal requirements, make sure you contact Google (api-support@google.com) to ensure you understand your role completely. In addition, although this appendix is current as of the date of writing, Google could change the licensing agreement at any time ”you must make sure that you keep current on all of the requirements.
Warning | Google assumes that you've given them permission to use any ideas you share when you send a message to Google Support or upload messages to their developer's newsgroup. In short, if you don't want Google to use your ideas, then don't tell Google about them. |
General Requirements
The following topics discuss usage requirements of the licensing agreement. This section discusses general issues, such as what you can do with the Google Web Services. Because Google didn't use numbering in the licensing agreement, the sections follow the general order of the agreement, but you can't match them to a specific paragraph. For example, the first two sections that follow appear as part of the "PERSONAL AND LEGITIMATE USES ONLY" section of the licensing agreement.
Creating a Single Developer License
Working with Google Web Services is fun and profitable. The examples in this book demonstrate you can do a lot with the functionality that Google Web Services provides today, and Google only plans to increase this functionality in the future. Some developers might feel the call limits create development problems and that it would be nice to have multiple developer licenses. Google makes it clear that they only want to issue one developer license to each person. When you think about it, this restriction is the best way to ensure that everyone gets a chance to use Google Web Services and that the Google severs don't become overwhelmed by too many calls. When you do make an application available for public use, you can request that the application user get their own license (as many of the applications in the "Demonstration Web Sites" section of Appendix A do).
Using the Google API for Private Needs
This particular isn't quite as restrictive as you might think. Look through the list of applications in the "Demonstration Web Sites" section of Appendix A and you'll see a list of diverse applications that developers have made available for general use. In all cases, you must obtain a developer license to use these applications, so each user of the application is using it privately. Yes, it's stretching the rule a bit, but Google hasn't mentioned this kind of release so far.
You do need to observe two rules when creating an application. The first is that you can't create an application for general sale. For example, you couldn't create a shrink-wrapped application and sell it to someone. A private application means one that you haven't developed for sale to other people. The second is that you can't create an application that competes with the services that Google provides. This restriction is sensible considering Google needs to remain financially solvent to continue providing the Web service.
Making Calls That Don't Exceed Limits
Google notes that you can make calls using any method that it supports ”as you see in the book, that list is relatively short, but you can make calls using a variety of languages and techniques. You can make calls to Google Web Services any time day or night, 7 days a week. Those are the good things you should simply file somewhere.
However, Google is a business and its customers come first. When you use Google Web Services for development, you're a developer, not a customer. It's not too surprising that Google places some limits on the resources you can use. These limits ensure customers can access the Web site and get good service. In addition, it means that all developers get a fair share of the available resources. Google asks that you not exceed 1,000 calls per day. This limitation is the reason that I manually execute each request, rather than perform the task through code.
Always Observe the Requirements of the Law
Most people realize that you can't use information you receive from Google as a bludgeon to hurt someone else. Google doesn't want to get involved in the long running feud between you and your neighbor. They're being nice enough to let you use the data generated on their site for any of a number of useful purposes. All they ask in return is that you don't violate the law ”whatever the law is in your country.
It's also important to consider Google's rights when you create your application. An application that violates Google's proprietary rights is going to attract the wrong kind of attention. In short, don't do things like claim you created the information displayed by your application when Google obviously provided it to you.