Kaepernick had the right to protest. He chose to protest on the job, while wearing his uniform, representing his employer. He could have discussed this with his employer prior to protesting, but he did not. His employer has every right to respond to his protest by firing him, if they so chose. You can absolutely fire an employee even if he/she has not broken any official rules or laws. And nobody else is obligated to hire him, either. That's the point that so many folks have a hard time understanding: "free speech" does not guarantee you freedom from consequences. Kaepernick had the LEGAL right to protest, but his employer also had rights, too. Among them: they have the right to fire Kaepernick.