Bureau Libre - Free-EOS

Code source d'un logiciel

 

De Bureau-Libre Free-EOS.

Qu'est-ce que le code source d'un logiciel ?

Si l'on revient un instant à l'analogie avec la recette de cuisine, on peut dire tout simplement que le code source, c'est ni plus ni moins que la recette elle-même. Je vous donne la recette, vous êtes donc en mesure de l'essayer, de l'examiner, et pourquoi pas de la modifier pour y mettre votre grain de sel personnel. Et si c'est réussi, pourquoi ne pas en faire profiter les autres ? Et avec Internet, c'est pas compliqué de la mettre à disposition du monde entier. Ça, c'est l'esprit point par point du logiciel libre.

La recette de cuisine vue par un éditeur de logiciel propriétaire, en gros, voilà ce que ça donne. :

vous fournissez les ingrédients selon préconisation du cuistot propriétaire, vous lui confiez ceux-ci et lui réglez d'avance une facture pour service rendu. Celui-ci va alors s'enfermer dans son laboratoire, vous laissant à la porte. Puis, au bout d'un certain temps, il réapparaît avec le plat fumant qu'il vous tend. Comment a-t-il procédé pour confectionner celui-ci ? A-t-il vraiment utilisé vos ingrédients (vos données) ou les a-t-il réservées à d'autres fins ? Vous n'avez a priori aucun moyen de le savoir. Vous me direz peut-être qu'il faut être un peu parano pour se poser ce genre de question et que ce chef, si cela fait déjà 10 ans qu'il vous fabrique ses petits plats, vous n'avez aucune raison d'être aussi suspicieux. Effectivement, mais à moins de connaître personnellement le patron de chacune des entreprises qui vous vendent leur logiciel propriétaire, le problème de confiance se pose. Quand vous utilisez un logiciel libre, le fournisseur est contraint de mettre son code source à disposition. Si vous n'êtes pas cuisinier pour un sous, d'autres le sont et pourront examiner le code et déceler d'éventuels problèmes. En général, ceux-ci seront vite réparés par les utilisateurs experts en cuisine et la version corrigée aussitôt mise en circulation.

Et quand j'achète un logiciel propriétaire auprès d'un éditeur, que me donne-t-on au juste ?

Il vous confie une copie du code binaire, ou code exécutable, du programme et vous fait signer un contrat de licence par lequel vous vous engagez à respecter toutes les contraintes d'usage qui y sont énoncées. Cela se traduit en général par une case que vous cochez au bas d'un texte de plusieurs pages (nous y reviendrons) .

Qu'est-ce qu'un code binaire ?

Exemple d'un petit programme trivial dont voici le code source :

//Le programme le plus simple du monde
#include <stdio.h>
int main(){
printf("Bonjour le Monde !\n");
}

Et voici maintenant juste un petit extrait du code exécutable correspondant pour un processeur de type Pentium :

Le début :

0000000 17791 17996 257 1 0 0 0 0
0000020 2 3 1 0 -32080 2052 52 0
0000040 3624 0 0 0 52 32 7 40
0000060 34 31 6 0 52 0 -32716 2052
0000100 -32716 2052 224 0 224 0 5 0 

Et, quelques centaines de lignes plus loin ... la fin :

0015460 24320 28261 100 18783 24399 29811 26980 24430
0015500 29557 25701 24320 25695 29793 24417 29811 29281
0015520 116 19039 24438 25938 26983 29811 29285 27715
0015540 29537 25971 115 24415 28007 28271 29535 24948
0015560 29810 24415 0
0015565

Eh oui, le fichier binaire, dérivant d'un code source qui tenait en quelques lignes, a une taille énorme (ici 7029 octets). Seule la machine à qui il est destiné est en mesure de l'interpréter et d'exécuter ce code. Sans le code source, l'humain est exclu de la compréhension du processus que réalisera le programme sur des données qui peuvent pourtant lui être tout à fait personnelles.


Texte source

Outils personnels