Un logiciel est un texte :
Pour créer un logiciel, l'outil principal dont vous avez besoin est un
éditeur de texte, avec pour conséquence que sa protection relève du
droit d'auteur et non des
brevets . Ceci est un préliminaire qui ne peut pas constituer une base de réflexion. Dans le domaine de la création de logiciels, de nombreux programmes sont actuellement crées à l'aide d'AGL (Ateliers de Génie Logiciel), qui permettent justement de s'affranchir de l'écriture du code source. Ainsi, deux personnes qui utilisent un AGL peuvent tout à fait, à partir d'une analyse d'un problème existant, concevoir un logiciel ayant exactement le même code source sans que ce logiciel puisse bénéficier d'une protection par droit d'auteur.
Un tel logiciel ne bébéficie alors plus d'aucune protection.
De nombreux logiciels peuvent ainsi être créés, en utilisant simplement un notepad ou un traitement de texte !
Le résultat final est un ou plusieurs
fichiers texte que vous avez créé, dans un certain langage de programmation (très souvent C ou C++).
On l'appelle
fichier source.
Ce n'est pas un hasard si les fabricants de logiciels sont appelés
des éditeurs ! Ce n'est certe pas un hasard, mais on peut qualifier cela d'un abus de langage, dans la mesure ou ces industries, du fait des progres technologiques, n'éditent pas de logiciels mais réalisent des actes de création visant à répondre à un problème et se concrétisant par la construction d'un ou plusieurs programmes.
Pour faire fonctionner ce programme, vous avez simplement besoin d'un
interpréteur ou d'un
compilateur (
http://www.infeig.unige.ch/support/cpil/lect/basics/cpil/node1.html ).
- Dans le premier cas, le logiciel est le fichier texte, puisque le travail de l'interpréteur est de lire le fichier source pour savoir ce qu'il doit faire : le texte-programme est une suite d'instructions à effectuer, exactement comme pour une recette de cuisine. L'interpréteur lit chaque ligne du fichier source, la traduit en une suite d'opérations élémentaires binaires compréhensibles par la machine (une suite de 0 et de 1), et enfin les exécute. C'est ainsi que fonctionnent des langages interprétés tels que le Basic, le Javascript, ou le PHP.
- Dans le deuxième cas, le fichier texte est lu et transformé en fichier binaire une fois pour toutes par un logiciel nommé compilateur, ceci pour des raisons de performance. Une fois codé en fichier binaire, le programme est parfaitement compréhensible par la machine mais très difficile à lire et à modifier directement par les humains. L'auteur ou l'éditeur du logiciel peut ainsi distribuer le programme sous sa forme compilée et garder le contrôle des fichiers source qui sont protégés par les droits d'auteur . Mais il n'y a aucune différence de nature avec le premier cas (celui de l'interpréteur), le fichier source étant toujours un fichier textuel. L'immense majorité des logiciels sont compilés et distribués sous la forme d'un binaire. Parce que les ordinateurs basés sur des micro-processeurs différents ne possèdent pas les mêmes jeux d'instructions de base (par exemple les PC et les Macintosh d'Apple), le même fichier source doit être compilé pour chaque type d'ordinateur sur lequel le programme va être exécuté.
Une définition du logiciel et un historique de ses différentes formes à cette adresse :
DefinitionLogiciel
Un logiciel est à la base un texte, si l'on part de ce principe, faut-il breveter aussi les romans, les documentations, les recettes de cuisine, les articles de journaux ?