I just want to know who the guy that can make the decision to fire you is at places like Github, Valve, and Medium. Either that person doesn't exist or that person is your manager.
I think the proceedings are open and transparent and the employee whose employment is in question would be a part of them. They could start with a group meeting where a discussion takes place about team members' misgivings about the performance or contribution of said employee, with a chance for him/her to respond. After a couple of rounds, if the concerns are not addressed then a decision is made to let them go.
Without wishing to seem unnecessarily combative, you are being naive. Nothing about a meeting being open prevents the possibility that its outcome has been fixed.