Introducing programming into the discussion about free will in the block universe is problematic because the programmer exists outside the program and exerts external influence on it. This differs from the block universe concept, where all influences and events, including our thoughts and decisions, are contained within the same spacetime framework.
I think rather the inverse? Programming is the one arena wherein a block universe can actually be observed and probed, especially since this exercise of external influence is optional (and as discussed, does not influence the definition of the uninfluenced case).
Take for example the start-up sequence of the 787. This process was
designed to be deterministic -- and it happens to be the biggest deterministic system that I have intimate familiarity with; for all I am familiar with more extensive and deterministic processes, some of which are linked to "universe creation" within their domains, none of
those are engineered as the 787 avionics package I handled on the GHS "time machine" debugger such that they created the kind of "block universe artifacts" we are discussing here.
The 787? That created blocks that could be examined after the fact, incredibly large artifacts containing a full recording of states. Imagine a record cutter running on about 10000 records all at the same time.
All the "responsibilities" within that process, a process completely free of user input, are contained within it. It's essentially just a grand experiment to actually get a block universe in your hot little hand, and one of the reasons I lean on the programming analogy so heavily: it takes the discussion out of the realm of abstraction and gives a concrete example that can be probed and understood directly.
Even then, the programmer/god can obserbe the responsibilities over time of the system. This is in fact
why I call myself a "god", because I'm the "god" of that universe, handling the faithful artifact of the deterministic record, and creating new ones.
Once I trace responsibilities all the way to the initial condition, I can create an initial condition that leads somewhere else, has a different shape to its river. It's not that it's predetermined, it's still determined by course, though. I'm not changing the rules, just the location in "Turing space" that the rules will be applied to.
Even if I am the one who set up the initial condition, the processes of the system are responsible in their own moment for the actions they take, and this responsibility is not an illusion. They are as they were made, perhaps, and I am responsible for the "making" but they are just as responsible to the things within the system for their "being". Which is to say, "responsibility is not zero sum".