Document how dependency categories map to each package manager definitions

Everyone can contribute. Help move this issue forward while earning points, leveling up and collecting rewards.

Problem to solve

With the introduction of the INCLUDE_DEV_DEPENDENCIES variable, it has been possible to filter out dependencies where a package manager explicitly refers to dependencies as dev or development dependencies. However, not all package managers use the same terminology to group dependencies. Bundler refers to categories as groups, Maven views them as scopes, Conan uses profiles, and Go uses build tags. These differences in terminology cause confusion as to what exactly is considered a development dependency, and should be consolidated as the dependency scanning filtering functionality matures. The gitlab taxonomy uses category to refer to and unify these various terms. Furthermore, we should define what categories are classified as a development dependency and which ones aren't e.g. if it's not required to run the app in production then it's a development dependency.

Proposal

Create a page that documents the terms used by package managers when referring to dependency categories. The documentation should cover the package managers we support.

Who can address the issue

Other links/references

Edited by 🤖 GitLab Bot 🤖