Source Code is perfectly agreeable entertainment, so long as you don’t ask too much of it. It has an intriguing science-fiction premise that hints at deeper issues but, in truth, the movie doesn’t want to disturb us or make us think too much.
Duncan Jones didn’t write the screenplay—which is credited to Ben Ripley—but it bears a passing resemblance to his debut feature Moon, in that its protagonist (Jake Gyllenhaal) spends much of the film communicating with an authority figure (Vera Farmiga) over a telecommunication system. As part of an experimental military program he is—
—transported, over and over again, to a Chicago commuter train that’s about to be firebombed. That’s where he meets Michelle Monaghan and comes to care about her.
All of the leading actors acquit themselves well, including Jeffrey Wright as the brains behind the daring experiment in what he calls “time reassignment,” rather than time travel. The fact that Ripley’s screenplay gives its secondary characters some substance is refreshing.
Given that Source Code deals with domestic terrorism, and life-and-death issues, I wish I had felt more invested in its outcome. I also wish the filmmakers had stuck with their first ending, instead of the two others that follow it in rapid succession. They should have had more faith in their audience.