Les licences
Le droit d'utilisation du logiciel est généralement réglementé par une licence d'utilisation et ou le droit d'auteur. Les licences les plus connues sont : logiciel libre (free software), freeware (gratuiciel), shareware (partagiciel), autre types de licences, licences monoposte ou multiposte. Certains logiciels sont internes à des entreprises.
Diverses présentations de logiciels
Les programmes peuvent être de différentes formes :
* exécutables : ils peuvent être exécutés directement par l'ordinateur ;
o généralement, ils ne peuvent être exécutés que sur un type de machine et de système d'exploitation particulier (exemple : Microsoft Windows sur un compatible PC) ;
o cependant, il existe des exécutables (en bytecode) exécutables sur une variété de plates-formes (comme ceux du langage Java) ; ils visent en fait l'exécution pour une machine virtuelle, qui est elle-même un logiciel disponible sur les diverses plates-formes.
* fichiers sources : il s'agit généralement d'un texte respectant les règles d'écriture d'un langage de programmation particulier ; à titre indicatif, l'ordre de grandeur de la taille d'un logiciel comme Microsoft Word est d'un million de lignes de code ;
o pour un langage compilé : ils doivent être traduits en un exécutable par un compilateur ;
o pour un interpréteur : ils sont exécutés directement à la lecture (par exemple des scripts Perl ou PHP).
* bibliothèques : il s'agit de programmes exécutables ou source qui, en eux-mêmes, ne sont pas exécutables directement et n'offrent pas de fonctionnalité à l'utilisateur, mais fournissent des services à d'autres programmes (par exemple, on trouvera des bibliothèques permettant à un programme de charger des animations ou de jouer des sons) ; on trouve en particulier des bibliothèques dynamiques (dll Windows ou so GNU/Linux).
Les données associées au logiciel peuvent également être de différents formats : fichiers classiques, bases de données (relationnelles, hiérarchiques, etc.). Les données du logiciel peuvent être éclatées en un grand nombre de fichiers, ou tout le logiciel peut être rassemblé en un seul fichier ; par exemple, sous Windows, la définition de l'interface utilisateur, le dessin des icônes etc., sont souvent intégrés dans le même fichier que l'application principale.