Image via WikipediaAs a fluent Spanish speaker and an American native, I often see American who don't know as much Spanish as I do take every possible opportunity to speak Spanish to people they meet from a Spanish speaking country, whether or not the opportunity is warranted or even invited. Here are some tips for Americans to avoid offending or looking like an arse.
1. When you have a waiter or food server who has an accent, don't speak Spanish to them: Even though it might seem like a good idea to go into Taco Bell and repeat over and over again in almost unintelligible Spanish, "Yo quiero un burrito." in a horrible American accent, it generally isn't. In fact, it's actually a good way to get your food spit in or dishwater poured in your drink. Ask yourself this question: does the server speak better English than you do Spanish? If the answer is yes, please shut your mouth. If the answer is honestly no, please still shut your mouth and find a person to translate.
But, if they come to the country, they should speak English, right? I mean, stupid (mutter something about a sick bird). . . why don't they speak English?
You try supporting a family on 6.75$ per hour and see how much time you have left to learn English. Besides, just because someone is Hispanic, speaks Spanish, or even speaks English with an accent and looks Hispanic doesn't mean that they're an illegal immigrant. As an example, one of my great friends in life is a man from Germany. He immigrated here with his family a number of years ago but never learned more than basic English. However, he's never had too many problems communicating with people, probably because he gets more respect for being German and white than a Hispanic does for being Mexican, etc. and olive colored. Don't ask me why things work this way -- they just do.
In summary, if you speak good enough Spanish that you can say things without bad grammar and a heavy gringo accent, go ahead and speak Spanish to whomever you wish. However, for your own pride, you might want to refrain from speaking Spanish when you don't know much Spanish. It makes you look like a dork.