Ceci n’aurait sûrement pas suscité autant d’intérêt si l’auteur de l’article avait été un simple programmeur anonyme. Mais, le fait est que Robert C. Martin, aussi connu sous le pseudonyme Uncle Bob, est un membre leader du Software Craftsmanship Movement et auteur de plusieurs livres informatiques à succès, dont le célèbre « Coder proprement ». Il était aussi à l’origine du groupe qui avait créé le Software Agile Développent, et rédacteur en chef des C++ Reports de 1996 à 1999.
« Nous, programmeurs, contrôlons le monde. Nous écrivons les règles qui font fonctionner notre société », écrit celui-ci dans un billet sur son blog. « Il est certainement vrai que la Terre tourne, le soleil se lève, la pluie tombe, et les marées reculent et avancent sans l'aide d'un logiciel. Mais dans notre société, pratiquement rien ne se passe sans la participation d'une quelconque sorte de programme informatique ».
Il avait tenu à rappeler que ce sont les logiciels que nous écrivons, nous autres programmeurs du monde entier, qui font que les téléphones sonnent, les voitures démarrent, les avions volent, les bombes explosent, les navires naviguent, les portes de garage s’ouvrent, l’argent circule, le GPS montre le chemin et l'électricité est générée. « Rien ne se passe sans logiciel. Et qu’est-ce que c’est un logiciel? Le logiciel est un ensemble de règles ».
Selon lui, le pouvoir que la société nous a donné est immense et implique une grande responsabilité. « Nous devrions fixer les limites et les normes de notre comportement » ajoute-t-il. « Imaginez ce que nous pourrions faire si nous devions nous unir. Si les programmeurs du monde entier sont réunis sous une seule cause; nous pourrions dicter les règles au reste du monde. Et le reste du monde n’aurait pas d'autre choix que de s’y conformer […] Toutes les personnes qui essayeront de nous arrêter tout à coup trouveront qu'aucun de leurs téléphones cellulaires ne marche, aucune de leurs cartes de crédit n’est valide, aucun de leurs avions de chasse ne vole, aucun de leurs missiles n’obéit [...] Nous devons décider ce que cela signifie d'accepter la responsabilité de la puissance qui a été placée entre nos mains ».
Robert C. Martin suggère donc d’établir un code d’éthique qui nous rassemble. Toutefois, il déclare qu’« aucune personne n’est en mesure d'écrire un tel code; mais je pense que l'ébauche devrait contenir les points suivants » :
- nous n’allons pas intentionnellement causer du tort ;
- notre logiciel sera bien écrit pour parvenir à son but et sa durée de vie ;
- nous nous comporterons avec honneur et discipline.
Cependant, il fait remarquer que chaque programmeur aura à interpréter la définition de « causer du tort » en fonction de son propre code moral. « Certaines personnes peuvent croire que le travail sur des systèmes d'armement est la meilleure façon de prévenir ou de minimiser les dommages. Ainsi soit-il ». Aussi, selon lui, aucun code d’éthique ne serait complet sans une déclaration sur le comportement personnel, le comportement au sein du groupe et le comportement avec les clients et les collègues. Il propose par conséquent une sorte de « serment du programmeur » dont voici une traduction approximative :
- je suis un programmeur informatique, je suis profondément fier de ma profession ;
- pour elle, je dois mes obligations solennelles ;
- tout progrès humain a été stimulé par le génie de ceux qui manipulent l'information ;
- en permettant de manipuler beaucoup plus d'informations que jamais, les programmeurs ont grandement participé au développement de la société et accéléré le progrès humain ;
- si ce n'était la somme des connaissances et expériences des programmeurs, des mathématiciens et des ingénieurs qui sont venus avant moi, mes efforts seraient futiles ;
- en tant que programmeur, je m’engage à pratiquer dans l'intégrité et l'équité, la tolérance et le respect, et à respecter la dévotion envers les normes et la dignité de ma profession, conscient que ma compétence porte en elle l'obligation de servir l'humanité, et faire un bon usage des ressources précieuses dont je dispose ;
- En tant que programmeur, dans l'humilité et à la nécessité d'une orientation, je ne vais participer qu’aux causes honnêtes ;
- Si nécessaire, mes compétences et mes connaissances doivent être données sans réserve pour le bien de tous ;
- Dans l'accomplissement du devoir et dans la fidélité à ma profession, je donnerai le maximum.
Source : The Clean Code Blog
Et vous ?
Êtes-vous d’accord avec l’avis de Robert Martin ?
Que pensez-vous du code d’éthique qu’il a proposé ?