Home

outoftree

Outoftree is a term used in software development to describe components that exist outside the main source tree of a project. It typically refers to code, modules, patches, plugins, or extensions that are maintained separately from the project’s official repository. While in-tree components are integrated into the project’s canonical codebase and share its release cycle, outoftree elements are developed and distributed independently, often by third parties or hardware vendors.

In practice, outoftree is most commonly associated with the Linux kernel, where drivers and kernel modules

Advantages of outoftree components include the ability to deliver hardware-specific features, rapid iteration, and vendor control

Maintenance often employs tools such as Dynamic Kernel Module Support (DKMS) to automate rebuilding when the

can
be
provided
by
manufacturers
or
third
parties
rather
than
being
included
in
the
official
kernel
source.
Such
modules
are
built
against
a
specific
kernel
version
and
may
rely
on
exported
interfaces
that
change
across
releases,
which
can
lead
to
compatibility
issues.
Outoftree
modules
may
also
lack
the
broad
testing
and
review
processes
applied
to
in-tree
components.
over
licensing
and
updates
without
waiting
for
mainline
inclusion.
However,
they
can
impose
maintenance
burdens,
security
considerations,
and
potential
stability
risks
if
not
kept
in
step
with
the
evolving
core
project.
kernel
is
updated.
The
lifecycle
of
an
outoftree
component
may
involve
eventual
upstreaming,
where
a
contributor
seeks
to
merge
it
into
the
in-tree
repository
upon
meeting
project
standards
and
licensing
requirements.
See
also:
in-tree,
kernel
module,
DKMS,
patch,
firmware.