https://github.com/ansible/ansible/blob/1706d35fc476e36fcced25435c2f1c2401536376/test/lib/ansible_test/_util/controller/sanity/validate-modules/validate_modules/main.py#L414

When a module is in place to provide documentation for an action, it should be allowed to have a doc string.

Without a docstring users of pydocstring will need to suppress:

```
************* Module plugins.modules.git_away
plugins/modules/git_away.py:1:0: C0114: Missing module docstring (missing-module-docstring)
************* Module plugins.modules.git_here
plugins/modules/git_here.py:1:0: C0114: Missing module docstring (missing-module-docstring)
```

With a doc string the module is treated as a "real" module and fails sanity:

```
ansible-module-not-initialized: Execution of the module did not result in initialization of AnsibleModule
```

PEP257 suggests modules should have a docstring, and is generally considered a good practice to inform future developers of the purpose of the file and can be used for documentation generation as well.
linenos = []
        found_basic = False
        for child in self.ast.body:
            if isinstance(child, (ast.Import, ast.ImportFrom)):
                names = []
                try:
                    names.append(child.module)
                    if child.module.endswith('.basic'):
                        found_basic = True
                except AttributeError:
                    pass
                names.extend([n.name for n in child.names])
                if [n for n in names if n.startswith('ansible.module_utils')]:
                    linenos.append(child.lineno)
                    for name in child.names:
                        if ('module_utils' in getattr(child, 'module', '') and
                                isinstance(name, ast.alias) and
                                name.name == '*'):