Mi opinión:
- En las comunidades de habla castellana, los funcionarios de cara al público tienen que saber castellano, y hablar en él a todos los ciudadanos que les hablen a ellos en castellano. Si el ciudadano en cuestión les habla en otra lengua y el funcionario la conoce, está en su mano el responderle en la misma lengua o en castellano si no se siente cómodo, a no ser que para acceder a ese puesto tuviese que conocer otro idioma (ejemplo, un funcionario de una oficina de inmigración en el departamento de árabes, o como sea, si le hablan en árabe debería de contestar en árabe, q para eso lo han contratado).
- En las comunidades bilíngües, los funcionarios de cara al público tienen que conocer los dos idiomas, y responder en el idioma al que le hablen a él. Sobre otros idiomas, lo mismo que en el punto anterior.
- El resto de ciudadanos, hará lo que les de la gana. Si yo soy chino y tengo un restaurante chino, puedo hablar a mis clientes en chino porque nadie me obliga a saber otro idioma (la norma de obligación de saber castellano solo afecta a españoles). Lo mismo si soy un comerciante en Cataluña que solo sabe castellano.
Por supuesto, por respeto y tal, lo normal es que si sabes catalán (por ejemplo) y te hablan en catalán en tu tienda, es que tú te adaptes al cliente, pero esto no es más que una regla de cortesía que aplicarás o no según te apetezca, igual que nadie te obliga a decirle "buenos dias" al cliente.