The battle over free will has been going on at least since ancient Greece. Most of the modern monotheistic religions claim that people have free will, to explain why God gets mad at people who disbelieve or do not obey. Some people claim that without free will, people cannot be held responsible for their actions.
I propose 2 assertions about free will, which I believe is a matter of level of explanation. The implications for society are surprisingly messy.
1. The traditional notion of free will in philosophy cannot be true.
2. Free will is a valid concept when talking about psychology and responsibility.
Free will involves the ability to make a choice. But a choice could be the result of various complex events in the person's brain and the neurons that make up the brain, that depend on his genetic heritage and all the experiences he has had. If everything that happens in the world is caused by other things, then how can a choice be made? But are there events that happen without a specific cause? Is there an immaterial soul that makes choices? Does randomness in quantum mechanics lead the brain to make choices that do not have causes? Any event, including some sort of event of choice in a hypothetical immaterial soul, either has a chain of causation, or it does not. If it does not, what is the alternative? The only alternative is randomness. But how can randomness lead to a choice? Choices made that arise out of randomness do not lead to a free will, freedom is not the same as chance. The world, including that part of the world that involves will, is either deterministic or at least partly random, hence will arises as an emergent property from other causes, not preceding the chain of events.
Does this mean that no one has responsibility for their actions, since their actions are all caused or maybe partly random? By no means. Free will is an emergent property from the lower levels of causation that produce a human being. A person has the capability to make a choice. These choices might have been determined by heredity and experiences, but they are still choices. The concept of responsibility is part of the environment that influences human choices, and is probably part of human heredity as a psychological feeling. Society needs the concept of responsibility to be part of the chain of causation in people, because we need it for social relationships. So even without a pure philosophical concept of free will, a psychological and social concept of free will and responsibility is valid and useful.
This is where the messy part comes in. Should we take into account a person's environment and situation when assigning responsibility? I think we have to do that to some extent, but how? Because the chain of causation in a human is exceedingly complex, there is no simple answer. The insanity defense has been recognized for some time now in criminal trials, but it is not always easy to apply. There has to be a long term process of trial and error to try to improve society's handling of responsibility. For instance, if a person is unemployed, how much is it his fault for not making the right efforts, and how much is it the society's fault for not providing opportunities? These questions are not easy, and the differences on how this responsibility is assigned is a major force in our politics right now.
Religious texts about responsibility contain someone's best guess in a particular society from centuries ago. I don't see how those guesses are the final answer on such things, but a lot of people around the world think that their particular religious text is the only answer. Thinking you have the final answer leads to a bad result.
One area of responsibility is relatively new in history. Large organizations tend to diffuse responsibility. CEOs with enormous salaries have testified that they did not know what was going on in their own company. Each person in a large organization is almost like a neuron in a brain, the actions of the organization are almost an emergent property of the organization itself, rather than choices by people. This is an unsolved problem.