Here is a speech I gave to the Ames Conservative Breakfast group describing the libertarian position on homosexual marriage:
In 2009, the Iowa Supreme Court declared that under the Iowa Constitution, homosexual couples have the right to marry thus making Iowa one of the first states to permit gay marriage. Our position is that the government has no business deciding what constitutes marriage because defining marriage does not require force and thus is not within the government’s legitimate purview.
People in a free society should be allowed to have whatever relations with other people they would like, and they should be able to call them whatever they like without interference from the government.
Some people are concerned that adoption agencies affiliated with religious groups will be forced to let homosexual couples adopt children even though the religious group with which they are affiliated does not recognize homosexual marriage. The libertarian position is that the couple who wants to adopt a child and the adoption agency both have freedom, and no adoption should take place unless both parties consent (as should be the case in any human interaction). Adoption agencies should be able to establish whatever criteria they wish for deciding who gets to adopt (including the exclusion of homosexual couples if they wish). By the same token, an adoption agency that thinks homosexual couples make better parents than heterosexual couples should be allowed to discriminate against heterosexual couples if it desires.
A free society requires tolerance for cultural differences, and, by definition, in a free society, no restrictions should be placed on the actions of peaceful people.
Here is a good article about how libertarians were responsible for getting gay marriage passed in New York.