Hot take:
I think Canonical's initial hiring of the guy is fine. He's unfortunately not been shot or imprisoned, and Canonical doesn't have the authority to execute him, so refusing to hire him just means he's going to have to work for some other company, or live off our taxes, or commit robbery. I personally don't think that Ubuntu's code is worse if a pedophile wrote it, or a tranny, or a communist, or a Nazi, or whatever; and I wouldn't care if my co-worker was a pedo tranny in a fursuit if all I have to do is look at their code and not their face. If you're going to make a pedophile have a job, working on code where they never have to interact with a child or the general public is probably one of the best ones you could give him from a child safety standpoint. As long as he's not put on a stage or making decisions that involve morality, it's probably fine.
Now, he's gone and decided to make judgements on people and try to get other projects fucked up based on some kind of moral reasons despite being more veritably evil than almost everyone who's ever lived. If he hadn't been trying to do that, no one would have ever looked into him, and he'd presumably still be employed.
It makes me wonder if Canonical fired him solely to save face for hiring a pedophile, or if they fired him for creating political drama where there didn't need to be. I would fire him for the second reason, the same as I would fire anyone else who tried to insert politics, religion, or sex into their job. But either way, I don't think Canonical did anything wrong by hiring him to begin with. Maybe they should have kept a closer eye on him and told him to knock it off early on, but that's about it.