Eich had a choice to save himself: renounce his views. Of course the Jews were not given a choice during the Holocaust. But as a different example, they were given a choice to renounce their faith during the Spanish Inquisition.
Clearly it's ridiculous for me to compare being burned alive to being corporately run out on a rail. Yet the choices offered, from a moral standpoint, were similar. Choose to renounce who you are and what you've done and you can stay a good member of society; stand your moral ground and be persecuted. In either case, the crime was not violating the Law of the State, but the moral law of a certain majority of society.
How do we judge if we are being treated justly? Is the law always just? Are actions outside the scope of law always just? In truth, this is often subject to the time and place. Even today, we sometimes treat people unjustly within the scope of the law. That's why I suggest ethics that do not hang it's treatment of people on the power to act from personal morality alone.
I think rather than say "repent or be shunned", other tactics could lead to changing the subject's mind or actions. Or even accepting that exiling the person does not change much materially about the world. They'll still be the same person in exile, doing the same things, so what was the benefit personally or to society of removing them from the group?
If the "harm done" was merely to the emotional peace of the part of the group that has to come to terms with the morality of people acting within the law, this seems like a reason to keep the person. Because again, even if working outside Mozilla, Eich may vote the same, so the "harm" from a legal standpoint against gay marriage is unmoved either way. The only effect of the backlash was purely to the emotional peace of either (and to the overall quality of life of Eich). Keeping them could at least allow a rapport to form and possibly change views, on either side, without causing further harm. But this is just one case, so this may not work in other examples.