Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

For my own amusement and instruction I've been developing a C# / .NET library that is basically a wrapper around the Google Geocoding API. It simplifies the entire process and enables users to perform geocoding entirely within .NET code. At some point I was thinking of making the library freely available and, possibly, open-sourcing the entire project by uploading it to somewhere like GitHub or CodePlex.

However, Google have a whole host of restrictions on using their service in their Terms of Service. One of these restrictions is:

Note: the Geocoding API may only be used in conjunction with a Google map; geocoding results without displaying them on a map is prohibited.

So my questions are:

  1. If I do release my library for other people to use (for free) then do I need to include a license of some sort and does that need to reference the Google Terms of Service?

  2. If people use my library in a way that violates Google's terms then who is responsible? I don't want to in anyway to open myself up for liability for other peoples' actions when using my code.

Edit: I appreciate people here are not lawyers and I don't expect legal advice. I'm just more interested in what people have done in similar situations or would do in this situation. I'll won't hold anyone to account, honest!

share|improve this question

I've never included a terms of service in my API wrappers and this is why:

All of the APIs that I have wrapped require an API key to even use the service. That API key is tied to your account when you sign up. Everyone gets a different key so that if someone abuses the terms of service, then they will be quickly cut off. The API wrapper that you build may be tested using your API key, which is fine. However, when you open source the wrapper code, you are going to have that API key passed to the service. Now, you won't want to give yours to everyone and let them use it, so you have the API key as a property or something they can set to use their own key, which they acquired by digitally signing the ToS for the API service, which is completely independent from your wrapper, which doesn't even work without the key.

Essentially, if you open source your code, the ToS you mention would be there to cover API usage, and people may just want your code to figure out how to do something as simple as call a webservice. So, for that reason, I say they are separate and tied to the API key, not the wrapping code.

Disclaimer: I am not a lawyer and cannot give legal advice.

share|improve this answer
Good point. However, the latest Google Maps v3 API no longer requires an API key so, unfortunately, this doesn't work for me. – Dan Diplo Jun 2 '11 at 15:32
@Dan - It sounds like it is a Google problem on how they want to enforce their Terms of Service then. – Ramhound Jun 2 '11 at 16:36
  1. If you want people to use your library freely, you do need to provide a license to allow them to do that. You probably want to keep the code and the intended use separate, providing an OS license for the code and some sort of warning and link to the ToS.

  2. This is a legal question, and cannot be answered satisfactorily here. Most of us aren't lawyers, most of those are probably not in the UK, and none of us is your lawyer unless there's an agreement in place. You could see if you can get a response from Google that would clarify what you need to do and not do. Failing that, either consult a lawyer or take the chance and hope the first thing you hear from Google is some sort of Cease and Desist order.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.