dependence vs. dependency - chunhualiao/public-docs GitHub Wiki

Which form is correct? why? package dependence graph vs. package dependency graph

"Package dependency graph" is the correct form.

Here's why:

Key Distinction

  • Dependence = the state or condition of being dependent
  • Dependency = something that is depended upon (the actual thing being relied on)
Phrase Correctness Reason
Package dependency graph Correct "Dependency" is the countable noun for the things being graphed. This is the standard, idiomatic term in software engineering.
Package dependence graph Incorrect/Awkward "Dependence" is the abstract state of relying on something. It's not precise and sounds unnatural in this context.

In Software Context

In package management, we're specifically referring to:

  • The dependencies (the actual packages that are required)
  • Not the abstract state of dependence

Industry Standard Usage

This is the universally accepted terminology across:

  • Package managers: npm, Maven, pip, Composer, etc.
  • Documentation: Official docs consistently use "dependency"
  • Academic literature: Research papers use "dependency graph"
  • Development tools: IDEs and build tools use "dependency"

Examples in Practice

✅ "This package has three dependencies"
✅ "Dependency resolution failed"  
✅ "Circular dependency detected"
✅ "Dependency injection pattern"

❌ "This package has three dependences"
❌ "Dependence resolution failed"

The term "dependency graph" specifically refers to a directed graph where nodes represent packages and edges represent the "depends-on" relationships between them. This is standard terminology that developers expect and recognize immediately.