He's a Frankish nobleman and a Christian, but that doesn't make him good.
You're never on solid ground with Ganelon. He's as slippery as an eel, and the more you try to figure out what he really thinks or what he really did, the more he eludes you. It's clear that he and Roland haven't been getting on for quite some time. During his trial, Ganelon claims that Roland tricked him out of money and when Roland nominated him for the dangerous mission to Spain, Ganelon seized the chance to destroy him (272).
Whether you feel some pity for Ganelon or write him off as a complete villain depends on whether you accept this argument. Did he commit treachery or simply arrange some private revenge? Or in his plotting against Roland did his revenge go too far and ultimately become high treason?
Although most of the Franks wouldn't believe it, there's a lot of evidence that Ganelon really did only want revenge. He is very attached to France and publicly upset at the thought of never returning to live with his wife and children once he's sent to Spain (23). He is a respected knight, with powerful friends in Pinabel and his other kinsmen. And he seems to sincerely respect Charlemagne. In his private chitchat with Blancandrin, with no chance of another Frank eavesdropping, he can't slather on enough praise. "There will never be anyone to measure up to him," he declares, and sticks to his story with Marsile (28.376):
"No matter how much I praise and extoll him to you,
He has more honor and nobility in him still." (40.532-33)
This certainly sounds sincere, but would you arrange to massacre 20,000 of the best French knights belonging to a man you admire so deeply? Ganelon's actions don't stack up with his words. Plus, how "private" is a revenge that requires 20,000 people dead anyway? Perhaps something on that scale automatically becomes treason, regardless of Ganelon's true motivations.
Whatever this tricky man actually thinks, we do know how he gets things done. The poet tells us right off that he gets an A+ in persuasive speaking. To Blancandrin he speaks "with great cunning" (28.369) and to Marsile he speaks with "great guile," after thinking "everything out carefully" (33.425-26).
Plus, if his plans require it, he can artfully mix lies with truth. For instance, he tells Marsile the truth about Charlemagne's offer but then makes up the part about Roland ruling half of Spain with him (36). Charlemagne said nothing about letting Roland rule Spain, but how else is Ganelon going to work Roland into the planning conversation?
In the same way, Ganelon is also willing to befriend anyone who might help him out. He cozies up to Blancandrin in no time, even though he's an evil pagan working for the enemy. And however dastardly his deeds, you gotta hand it to him: this dude is brave. He bluffs his way with Marsile, unflinching even when Marsile wants to spear him against the wall. He even keeps his cool when Charlemagne hears Roland blowing the oliphant. Ganelon's crazy to think that his scheme won't be found out, yet he blatantly lies to Charlemagne and pretends it's not an attack:
There's no battle! […]
He's showing off now before his peers. (134.1770, 1781)
We find him in equally top form at his trial, standing up tall and proud, insisting that he was within his rights. Even the poet admires him:
He is robust of body, he has high color in his face,
If he were loyal, he would appear to be a worthy knight. (273.3763-64)
He argues his innocence with such force that it's tempting to think he actually believes in it. In "a booming voice" he cries, "I'll be damned if I hide it!" (272.3757, 273.3767).
And ultimately that's the take-home message about Ganelon: the only thing he believes in or cares about is himself. Devotion to Charlemagne or to France or to the military glory of France means nothing to him. Obsessed with his private wrongs, he sacrifices every loyalty and every principle to destroy Roland, no matter what the collateral damage (20,000 knights at Roncevaux, plus tons more in Charlemagne's army).
This makes Ganelon a totally different kind of villain than Marsile or the Emir. They're bad simply because they're pagans. Ganelon, on the other hand, is bad because he's selfish. And even in this fervently Christian poem, that seems to make Ganelon worse.