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
- Slang (11 terms in common)
- Supply Chain (8 terms in common)
- Package Management (5 terms in common)
- Modules (4 terms in common)
- Packages (4 terms in common)
- Architecture (3 terms in common)
- Security (3 terms in common)
- Packaging (2 terms in common)
- Upstream (2 terms in common)
- Open Source (2 terms in common)
- Compatibility (2 terms in common)
- Build Systems (2 terms in common)
- Compliance (2 terms in common)
- Versioning (2 terms in common)
- Package Manager (2 terms in common)
- Tooling (2 terms in common)
- Java (1 terms in common)
- Go (1 terms in common)
- Graphs (1 terms in common)
- Licensing (1 terms in common)