Here in Canada the Supreme Court has just ruled that the refusal to allow gays to marry is discriminatory and unconstitutional. It has affirmed that a specific church may refuse to provide a service if that marriage contravenes that religion's edicts. But the government cannot deny civil marriage.
I am proud of the court, and the way the Prime Minister is handling the issue. He has announced a free vote on a law OK'ing the removal of "opposite sex" from the marriage definition BUT has said that the cabinet is ordered to support the bill. (I might take issue with the general principle that members of parliament should ever be forced to support a government position regardless of what they think is right or what they feel their constituents want. But that's another issue.)
Both Supreme Court and the PM have walked a sensible line. The court ruled wisely by reaffirming freedom of religion while making sure that discrimination against homosexuals cannot be made by government. (I disgree with discriminatory church policies. But that, too, is another issue.) And the PM announced that MP's can vote their conscience but gave a clear message that the cabinet is expected to support gay marriage. This is a courageous (and just) position.