Let's have a look at Backdrop's file structure and see how it is meant to be extended.


BACKDROP_ROOT
  - core
  - files
  - layouts
  - modules
  - sites
  - themes

For this series we are most interested in the BACKDROP_ROOT/modules directory. If we open up the modules directory. We might see something like this:


modules
  - contrib
  - custom 

I say that you might see something like this file structure because out of the box Backdrop does not enforce or require this structure and will recognize any module custom or contrib in the BACKDROP_ROOT/modules directory as a legitimate module. The contrib and custom directories are purely organizational and have emerged as a best practice in developing Backdrop sites.

In light of this I would recommend that if you are just starting a Backdrop project that you inherit and implement the idea of organizing your contrib and custom modules as subdirectories of the modules directory. Here is a link to the Backdrop BACKDROP_ROOT/moules/README.md to see what Backdrop core has to say about it.