What is the correct word for "dependee"?
In other words, what is the word for something that is depended upon? The relationship here is in the context of software engineering
What is the correct word for "dependee"?
In other words, what is the word for something that is depended upon? The relationship here is in the context of software engineering
If you really mean "the thing depended upon", then Mr Disappointment's answer (dependency) is correct.
If you mean the thing that depends on the dependency, then "dependent" ("dependant" in the UK) would work. It's the word we use to describe people who rely on others for support, so it would make sense here.
If A depends on B, then A requires B. So perhaps B is a requirement.
It may also be an import (more specific term, referring to parts of program) or predecessor (since the dependency relation can be thought of as a partial order, as in a Makefile the dependency graph specifies the order in which things must be done).
Software engineering has many terms for specific kinds of dependency. In a publisher/subscriber relationship, B is the publisher; in a producer/consumer relationship, B is the producer; and in a client/server relationship, B is the server. In package management, B is a prerequisite.
requisite which is similar to your requirement.
– Ben Hocking
May 16 '11 at 16:34
What's wrong with dependencies / dependency? As an example, given the nature you stated, Microsoft use this term in their Services Management Console and differentiate in plain English:

Note the use of an encompassing dependencies tab and further sentences constructed in the form of this depends on and depends on this.
The thing is, you have the word correct (unless you're just looking for a synonym), since one side must be dependent if in question - otherwise it would be independent and therefore irrelevant, perhaps.
dependency synonymously with dependent, as Jason alludes to. There is a dependencies xml element, with several dependency elements, each of which lists something that the application depends on - not something that depends on the application. http://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html
– Ben Hocking
May 16 '11 at 16:02
Required components or Prerequisites instead with same effect. The text you show (from Windows Vista) was changed from Windows 2000/XP which had it as X service depends on these services. So clearly the reason for verbiage here is to give an unambiguous description of prerequisites, and reason it was changed was because prerequisites are no longer just services, but now may be various types of "system components." (the old text was not as broad)
– nothingisnecessary
Dec 02 '16 at 19:52
Depending on the situation and relationship, "parent" and "child" work to describe the two parts of a dependent relationship. Likewise with the terms "master" and "slave".
Provider? This works both in a software engineering sense (at least in some contexts) as well as in a tax "dependent" sense.
Edit to add: a synonym of provider that might work even better (and not have as much of a software engineering constraint) is "supplier".
provider of the function that X is depending on. But, you are correct, that depending on how you're using the word, it might not work, because you typically wouldn't say that Y is X's provider if X is only depending on Y for the one function (and if it's depending on other modules for other functions). As for depenendency, it has the problem of being ambiguous. (See my comment to Mr. Disappointment.)
– Ben Hocking
May 16 '11 at 16:09
provider / consumer is the good way to tell who-is-dependant-on-whom without confusing readers (especially, if their native language is not english).
– c69
Mar 31 '12 at 23:36
"Is a prerequisite for" sounds good to me as the opposite of "is dependent on." So "dependent" and "prerequisite" are my suggestions.
Prerequisite is defined as a thing that is required as a prior condition for something else to happen or exist, and that fits. As a software engineer, I settled on using Task.Dependency and Task.Prerequisite which seems appropriate given their English definitions, and is also suitable naming for software objects (it is not ambiguous to engineers the way that dependency sometimes is due to misuse.)
– nothingisnecessary
Dec 02 '16 at 19:56
In the context of software engineering, I've always used "dependent" and "dependee".
Logistically speaking, I suppose "depender" and "dependee" would be more accurate, though neither of those are proper english words as far as I know.
I also came here wondering the same thing, so I've voted the question up.
A common occurrence of 'Dependency' and 'Dependencies' in the software / technology sphere is in the rpm package manager.
When installing an rpm package using yum, a search is done for packages upon which the package you are installing depends. At this point yum reports 'Resolving dependencies'. When yum finds a package that the current package depends upon, it reports 'Processing dependency'.
This usage has always baffled me because it is inverse to the English dictionary meaning of the word.
However, since rpm is widely used we can say that this usage is common and it seems the understanding is that dependency can mean either the dependent thing or the thing it depends upon.
Personally, I find this ambiguity rather sloppy, and in some ways indicative of the industry. For example from my knowledge of mathematics, terms are much more well-defined than in software / technology.
Personally, I'd prefer if rpm used a term like 'requisite' to describe the items upon which an item depends. I feel this is better than 'prerequisite', or 'requirement' as they do not imply the concept of a more permanent dependence upon something. Although I feel any of these three terms would be better than the ambiguity of using 'dependency' for both the thing that something depends upon and the dependent item itself. These three terms are also in use and can be understood, although they are less commonly used than the ambiguous use of the term 'dependency'.
A Dependent (n) is a thing or person that depends on another thing or person. It's from the French for "to hang from" and is related to "pendant", "pendulum", and "pending". A less polite word for a "dependent" is a "hanger-on".
Dependency can be a synonym for a Dependent. Outside of computing, it's usually used either to refer to a country or region which is dependent on another, i.e. is not independent.
Dependency can also be a synonym for Dependence, the state of being dependent, and by extension the fact of one object being dependent on another. This is the sense it is used in computing - it is what we call a relationship between two objects where one depends on another.
In French the word for a bracket from which something hangs would be support. This also works in English for the metaphorical meaning for relationships between people. If Charles financially supports John, then John is a dependent. So Charles could be a "supporter". Alternatives such as "guardian", "patron", "sponsor", "protector" or "benefactor" also work, and more specifically describe the relationship between the two.
But they don't work particularly for machines, because they don't have the same relations.
If trimblerd depends on vectord, then vectord certainly supports trimblerd in an obvious sense. But "Dependent/Supporter" is not a particularly natural pairing, and seems to carry infelicitous connotations.
Rather, we should try to capture the actual relationship. If trimblerd won't work at all without vectord we should use a word which captures that. In this case trimblerd requires vectord so that is the best word.
(It should really be Requisite but that sounds odd to the modern ear. These days Requirement is mostly used as a synonym.)
I very much like requisite as a noun meaning "something that is necessary for a particular purpose". (As suggested by @Ben.) To my ear it doesn't sound that odd.
It also works as an adjective meaning "necessary for a particular purpose," as in requisite object, requisite module, or requisite package as the context demands.
Now we just need to rename all those dependency injection frameworks as requisite injection frameworks.
If you are happy to go a little more informal and fun, you could try needy and needed. For example 'needy_item_1' requires 'needed_item_2'.
Software engineers create collections and name them, and the name is critical for others to understand the code. Names are a big thing and getting close to natural language is helpful so the code explains itself, so this is the relevant forum.
A book was written to formalize names for things, the Design Patterns book. In it, the closest this comes to is "Observer" versus "Observable", but that implies additional behavior which is unwanted for the general case.
When A depends on B and C, code might be written A.supplier = [B, C], and B.customers = [A]. It is the word from the point of view of the other that is the focus of this question, i.e., supplier and customer in this example. What does A call B, and what does B call A?
In a tire store, they have a list of "customers" and when they want to stock their shelves, they have a list of "suppliers".
In a database, we have a "master" table and a "detail" table.
In my opinion, we focus on "managing" as a cultural style, so collections are named after the managing thing, so we call it a "list" and from the point of view of the list we have "element". But from the point of view of the element there exists no word to describe the list it belongs to. We rarely focus on this relationship in our culture or philosophy so we haven't invented a usual word for it yet in English. It just doesn't occur enough to us to have such a word.
If you're looking at a case in which a child is dependent on a guardian, the term would be:
protegee