Il y a dépendance entre deux composants si le remplacement de l'un par un composant tiers nécessite le remplacement de l'autre pour garantir le fonctionnement du système. C'est un levier de pression majeur sur les usagers, au sein des marchés captifs.
ExempleUn logiciel conçu pour un système d'exploitation donné, en l'absence d'émulateur.
Il y a adhérence si le remplacement de l'un conduit à une dégradation de la qualité des services rendus par l'autre.
ExempleUn agenda partagé qui n'offre un greffon qu'avec certains systèmes de visioconférence, à l'exclusion des autres.
Il y a compatibilité quand plusieurs produits peuvent fonctionner ensemble sans que les usagers puissent connaître la façon dont ils interagissent (formats de données et protocoles fermés) ni remplacer l'un des produits par celui de leur choix. Elle résulte d'un accord contractuel entre les concepteurs, qui exclut les usagers.
Il y a interopérabilité quand plusieurs produits peuvent fonctionner ensemble et que les modes de leur interaction sont connus, grâce à un format ou protocole de communication ouvert. Ces spécifications sont ouvertes lorsqu'elles sont publiques et librement réutilisables par chacun, et libres lorsque leur définition et leur évolution font l'objet d'une gouvernance ouverte à toutes les parties prenantes.
ExempleLe format PDF, spécification publique et librement réutilisable.
On appelle logiciel libre un logiciel dont au moins un canal de distribution accessible aux usagers considérés a recours à une licence libre — sans pour autant que le logiciel soit librement accessible au public sous cette licence.
ExempleUn logiciel distribué sous licence libre au sein d'un consortium fermé.
On appelle communauté un vivier de compétences humaines attachées à un bien ou service donné.
ExempleUne communauté d'usage, d'assistance, de développement, etc.
On appelle résilience la capacité d'un système, tel qu'un logiciel, à survivre à la disparition de son éditeur actuel (entreprise ou communauté). Le simple accès au code source n'est pas une garantie suffisante, car la capacité pour des tiers de reprendre à leur compte le développement du logiciel est conditionnée par les droits concédés par la licence.
La résilience d'un logiciel à sources fermées est nulle, sauf dans le cas de dispositions prises par l'éditeur visant à la mise sous séquestre de son patrimoine immatériel, avec transfert aux clients des codes sources et des droits afférents en cas de défaillance.
La résilience d'un logiciel nécessite enfin l'existence de personnes à même d'en reprendre le développement : un logiciel libre sans communauté est bien moins résilient qu'un logiciel disposant d'une communauté de contributeurs vibrionnante.
Une licence logicielle est considérée comme une licence libre si elle garantit simultanément les quatre libertés définies par la Free Software Foundation :
Les licences non libres sont celles qui ne respectent pas l'une au moins de ces quatre libertés.

Elles seront dites plus ou moins ouvertes selon le degré des libertés qu'elles accordent. Elles ne pourront cependant jamais être qualifiées d'« open source », ce terme faisant référence à l'Open Source Definition en dix critères, créée par l'Open Source Initiative, analogue par ses effets à la définition d'une licence libre.
Un guide co-rédigé par le G.T.L.L. de Systematic et le cluster Aquinetic (prédécesseur de NAOS) a pour vocation de démystifier les aspects juridiques liés à la valorisation des logiciels libres et open source, tout en concernant les logiciels dans leur ensemble.