Transitive dependency

In a computer program a direct dependency is functionality from a library, or API, or any software component that is referenced directly by the program itself.

[citation needed] Similarly, when a computer uses services, a computer program can depend on a service that should be started before to execute the program.

The Linux boot system systemd is based on a set of configurations that declare the dependencies of the modules to be started: at boot time systemd analyzes all the transitive dependencies to decide the execution order of each module to start.

E.F. Codd, the inventor of the relational model, introduced the concepts of transitive dependence and third normal form in 1971.

[1] A transitive dependency occurs in the following relation: The functional dependency {Book} → {Author nationality} emerges; that is, if we know the book, we can know the author's nationality.

A depends on B, which depends on C. Therefore, A is a transitive dependent of C.
Illustration of a transitive dependancy.