Examples of this:
Alan Turing -- father of Computer Science shunned, at the time, because everyone had value judgements regarding his homosexuality (completely irrelevant to Computer Science).
The Mozilla CEO fired for his personal donation in opposition to gay marriage. (Again, completely irrelevant to his relationship with the Mozilla project).
This, of course, continues further, with things such as Hollywood blacklisting (today) Conservatives, and formerly Communists.
The solution is simple:
Within a community, individuals should only be judged based on their contributions and value within that community.
If I am deeply opposed to gay marriage, but a fantastic coder, that should not affect my standing within a community that is entirely code focused.
If I strongly believe in UFO visitations, and disbelieve climate change, but am a great graphic designer, that should not affect my reputation as an artist.
Everyone is not expected to be right, or agreeable, about everything, with everyone else. Aiming for this is pointless.
This inability to separate emotions and passions from cooperating on a shared focus with others, of differing emotions and passions, but equal interest in the shared focus (community) is deeply damaging.
There are enough problems and difficulties getting skilled people together to work on something great -- there is no use at all in reducing that crowd of people further by limiting it to those who share ones views in any number of hot button issues.
Leave politics to your political circles, make your own impressions of people before making personal judgements from reputation, find every reason to work together, not any excuse not to.