Dependencies Glossary

Browse 50 dependencies terms defined in plain English, from the cultural dictionary of computing.

50 Dependencies Terms

Build Dependency
A package or tool required to compile, generate, or package software but not necessarily needed at runtime in production. Build dependencies must be managed...
Chicken and Egg
A circular dependency or sequencing problem where each side seems to require the other first. In technical discussions, chicken-and-egg situations are common...
Circular Dependency
A dependency cycle in which two or more modules, packages, or services depend on each other directly or indirectly. Circular dependencies make systems harder...
Classpath
The ordered set of locations a JVM-based application searches for classes and resources at compile time or runtime. Classpath issues are a classic source of...
Code Blocker
Anything that prevents meaningful coding progress, such as missing access, unclear requirements, broken environments, or waiting on another team. In everyday...
Code Dependency
A relationship in which one part of the code relies on another module, library, or component to compile or behave correctly. Managing code dependencies...
Code Parasite
A piece of code that clings to another system, extracts value from it, and adds burden without contributing much clarity or structure of its own. In...
Code Ransom
A situation where progress is effectively held hostage by one dependency, vendor rule, or legacy system constraint. In engineering slang, code ransom captures...
Composer
The standard dependency manager for PHP, handling installation and autoloading of project libraries via a composer.json manifest. Analogous to npm for Node.js...
Conan Package Manager
A package manager focused on C and C++ dependencies, builds, and binary distribution.
Cross-Module
Describing behavior, concerns, or dependencies that span more than one module rather than staying isolated inside a single unit. Cross-module issues often need...
Dependency Culture
The norms a team has around adding, managing, reviewing, and relying on dependencies, whether technical libraries or cross-team relationships. The term matters...
Dependency Hell Slang
Informal language used around the frustration of conflicting versions, transitive surprises, and broken package resolution. In engineering slang, dependency...
External Dependency
A dependency outside the direct control of a team, such as another vendor, team, service, regulator, or partner. In planning culture, external dependencies are...
Import Hell
A painful situation involving tangled imports, circular dependencies, namespace collisions, or unclear module boundaries. In engineering slang, import hell is...
Left Pad
A cultural reference to the famous tiny-package incident used as shorthand for brittle dependency ecosystems and outsized supply-chain impact from small...
License Compatibility
The question of whether software under different licenses can be combined, linked, redistributed, or embedded together without violating any of their terms. It...
Lock File
A file generated by a package manager — such as `package-lock.json` (npm), `yarn.lock`, `Gemfile.lock`, or `poetry.lock` — that records the exact resolved...
Lock In
To commit to a choice, vendor, design, or environment in a way that becomes hard to reverse later. In engineering slang, locking in can be good decisive focus...
Manifest
A declarative metadata file that describes a software package's identity, version, dependencies, entry points, and permissions. Examples include `package.json`...
Maven Repository
A structured storage location for Java (and JVM) artifacts organized by group ID, artifact ID, and version, from which build tools like Maven, Gradle, and sbt...
Open Source Supply Chain
The web of dependencies, maintainers, build systems, registries, and release processes through which open source software moves from author to downstream...
Outdated Dependency
A library, package, or component version that is older than the currently maintained release and may contain known vulnerabilities, bugs, or unsupported...
Package
A distributable unit of reusable code, typically including source files, metadata, and dependency declarations. Published to registries like npm, PyPI, or...
Package Ecosystem
The network of packages, maintainers, registries, tooling, and conventions around a programming language or platform’s dependency system. Package ecosystems...
Package Manager
Package Manager is a software tool that automates the process of installing, upgrading, configuring, and removing software packages and their dependencies....
Package Resolution
The process by which a package manager determines which package versions and dependency combinations to install. In package-management culture, resolution...
Package Security
The practices and risks involved in securing distributed software packages, including signature verification, provenance, dependency vetting, tamper...
Package Tree
The dependency tree showing which packages depend on which others directly and transitively. In package-management culture, the package tree is where hidden...
Registry
A centralized service that stores and indexes versioned packages, container images, or other artifacts so they can be discovered and downloaded by tooling....
Reverse Dependency
A package or project that depends on another package, viewed from the perspective of the depended-on package rather than the consumer. Reverse dependency...
Ruby Gem
A packaged library or application distributed through RubyGems.org, Ruby's standard package manager. Each gem contains code, metadata, and a gemspec file....
SBOM
Software Bill of Materials — a complete inventory of all components, libraries, and dependencies in a software application, including their versions and...
Submodule
A Git feature that embeds one repository inside another as a subdirectory, pinned to a specific commit. The parent repo stores a reference (not a copy) to the...
Supply Chain Nightmare
A dependency situation so tangled or risky that any compromise, update, or provenance question becomes alarming. In engineering slang, supply chain nightmare...
Supply Chain Security
Protecting the integrity of software by securing every component in the supply chain — source code, build systems, dependencies, CI/CD pipelines, and artifact...
Third-Party Library
A reusable code package developed and maintained by someone outside your organization, pulled in via a package manager (npm, pip, Maven, etc.) to avoid...
Transitive Dependency
A dependency brought into a project indirectly through another dependency rather than declared directly by the top-level project. Transitive dependencies are a...
Update Hell
A painful state where upgrades are blocked by cascading dependency issues, breaking changes, and incompatible version requirements. It is especially common in...
Upgrade
The process of replacing a software component — such as a library, framework, runtime, or operating system — with a newer version, often involving dependency...
Upstream
The original or authoritative project, source, or branch from which downstream packages, forks, or local modifications derive. In open source workflows,...
Upstream Battle
A difficult effort against constraints imposed by external dependencies, leadership direction, or existing architecture. In engineering slang, upstream battles...
Upstream Bug
A bug originating in an upstream dependency, project, or provider rather than in the local code that is currently exhibiting the failure. In engineering...
Upstream/Downstream
In open source, upstream is the original project you forked from or depend on; downstream is projects that depend on yours. Contributing 'upstream' means...
Upstream Merge
The act of merging changes from an upstream project into a downstream fork, branch, or maintained copy. In long-lived forks, upstream merges are where...
Vendoring
The practice of copying third-party dependencies directly into a project's repository (typically in a vendor/ directory) rather than fetching them from a...
Version Bump
A change that increments a project’s own version number or updates the version of a dependency it uses. Version bumps can be mechanically simple but...
Version Hell
A state where conflicting versions of libraries, runtimes, or tools make it hard to build, run, or integrate software reliably. It is closely related to...
Version Roulette
A situation where versions are chosen, upgraded, or combined with too little predictability to trust the outcome. In engineering slang, version roulette is...
Virtual Environment
An isolated Python environment with its own packages and interpreter path, preventing dependency conflicts between projects. Created with venv or virtualenv,...

Related Topics