// Don't know if it sould be community-wiki, it's for a proffessional advice, although can be subjective depending on various experience.
Recently I had opportunities to get some casual freelance gigs, but most of them were marked with the popular technology keywords (f.ex. php/mysql/ezpublish). I understood the specification of the application, but wanted to use my recent solutions in another technologies (f.ex. python/django) to make the job faster and better, according to my knowledge. I decided to convince my future clients (small design agencies and non-web-related companies) to drop the language/db/cms keywords from their expectations and let me build them the app on the technology I feel suits better for the needs/timeline of the job. Most of them didn't let them convince themselves and even the ones who did, it took too much effort.
The question:
Is technology a place to discuss with the client, as a freelancer? Is it right to try to convince them to use the technologies I feel would suit better to the job, or should I STFU and take their popular-known-taken-from-the-web keywords as 'the client is always right'?
Explain why.
// I'm asking about the non-tech clients, code outsourcing is another thing and there the client-chosen technology is obvious.