I'm taking a CITI course and one of the sections dealt with authoring on manuscripts. The gist is that you don't add authors when no work has been done (such as adding a notable person for their reputation, where that person didn't actually contribute anything).
Where there is gray area is when it comes to acknowledgement vs. co-authoring as pertains to application developers & DBAs. In cases where the developer is on regular meetings, is self-guided on the project, contributes ideas for workflow & organization of project, and writes a paragraph of text for the manuscript, is this person a legitimate co-author?