Brendan's personal political donations were his own business unless he made it some organizational goal or priority for Mozilla, which he never did.
Eh, a CEO is a quasi-public figure. Those weren't his personal business entirely. (Consider a gay employee at Mozilla or partner.) That said, the solution was chastisement and a public apology. Not termination.
Given that he refused to apologize, and that the pesky freedom of association exists, which can lead to problems for Mozilla like the Montgomery Bus Boycott did for the public transit system in Montgomery, it was overall positive for Mozilla that Eich resigned. That doesn't mean that Mitchell is a good CEO. It just means that things would have been worse.
Not all gays are in favor of gay marriage. The solution was to let him have his political opinions, and simply agree to disagree, like adults.