When everyone is responsible, no one is. That’s why even democratic projects need to make someone accountable for important tasks. Emphasis on the one. In my latest for The Pragmatic Programmers, I explain the difference between accountability and responsibility and offer an example of how accountability can be shared in an open source project.
Accountability and responsibility are related-but-separate concepts. The person responsible for a task is the one who does the work. Plenty of people can be responsible for a task. The entire team may have the skills and ability to do tasks that need to be done. It’s common to list a team as being responsible for a task when planning a project.
But accountability is different. The accountable person is the one who ensures a task gets completed successfully. In some cases, they have authority over the work — how many people to assign, funding levels, and so on. These sorts of decisions generally don’t apply in open source projects, but someone still has to make sure the necessary tasks are done.