Quelle éthique pour les développeurs - G. Champeau
Titre : Quelle éthique pour les développeurs ?
Intervenant : Guillaume Champeau
Lieu : MixIT17
Date : Avril 2017
Durée : 27 min 32
Licence : Verbatim
Statut : Transcrit MO
Description
Les développeurs ne sont pas des machines qui programment d'autres machines, mais bien des hommes et des femmes doués de conscience dont les lignes de code qu'ils produisent peuvent avoir un impact important sur la société. Quelles sont les règles en matière d'éthique pour les développeurs et les startupers ? L'éthique est-elle un obstacle à la croissance d'une entreprise ? Cette keynote apportera des éléments de réflexion en s'intéressant, en particulier, au traitement des données personnelles des utilisateurs.
Transcription
Bonjour à tous. Je suis très heureux d’être ici et je voudrais d’abord remercier les organisateurs de cet évènement. C’est pour moi la première fois que je vais m’exprimer devant des développeurs, vous allez voir avec être une conférence qui normalement, j’imagine, n’est pas forcément la plus agréable à priori pour vous et en plus à l’heure de la digestion : c’est-à-dire qu’on va parler de droit.
Juste pour vous donner deux mots sur moi : j’ai fondé il y a une quinzaine d’années un site que peut-être certains d’entre vous connaissent qui s’appelle Numerama, dont j’ai été rédacteur en chef jusqu’à assez récemment. J’ai une formation de juriste c’est pour ça que je vais un peu vous parler de droit et essayer – si c’est trop chiant n’hésitez pas, vous partez, vous me faites des grands signes, je ne serai pas vexé – mais on va essayer que ce ne soit pas trop chiant quand même. J’ai une spécialisation en droit international des droits de l’homme et donc je me suis toujours intéressé avec Numerama à essayer de comprendre l’impact que pouvaient avoir les technologies et les choix qu’on fait dans nos technologies sur la société en général et sur les droits des utilisateurs.
Et c’est ce qui m’a amené il y a un peu moins de six mois à rejoindre Qwant. Je m’occupe chez Qwant de l’éthique et des relations publiques.
Donc aujourd’hui je suis là pour vous parler de ce que ça peut être l’éthique chez des développeurs. Je ne sais pas si parmi vous vous êtes nombreux à vous être déjà posé la question de l’impact éthique que ça pouvait avoir vos développements de logiciels ou d’applications.
Mais d’abord qu’est-ce que c’est que l’éthique ? Ça vient d’un mot latin ou grec, donc etica en latin et ethos en grec ; c’est la morale. Et donc avoir une éthique c’est simplement adopter un comportement moral vis-à-vis de soi-même mais surtout vis-à-vis des tiers. Essayer de faire en sorte que nos agissements dans la société fassent le moins de mal possible à ceux qui nous entourent.
Pour des développeurs, qu’est-ce que ça implique ? Tous les développeurs ont un peu une vision différente de ce que ça peut être une éthique dans le développement des logiciels et on se pose beaucoup de questions. Par exemple est-ce qu’on peut sortir un logiciel et à quel moment on doit le sortir sans l’avoir forcément testé dans les meilleures conditions possibles, sur toutes les configurations possibles, et s’assurer, c’est moins vrai sur le Web mais c’était beaucoup vrai sur les applications desktop, que l’application qu’on lance ne pas écraser par exemple le contenu du disque dur de l’utilisateur ? Ou quand on lance une voiture autonome, s’assurer que ça ne va pas aller écraser un chien ou un enfant, c’est quand même mieux !
Donc il y a des choses comme ça, des réflexions qu’il faut avoir quand on lance des logiciels.
Ça peut être aussi se poser des questions : est-ce que j’ai le droit de faire un logiciel, une application pour faire du mal ? À priori tout le monde dit non. Mais par exemple, en matière de cyberdéfense, est-ce que j’ai le droit de répliquer en envoyant des virus, des malwares ou des choses qui permettent d’aller pirater le système ennemi et de faire de l’espionnage ? Ça peut être des réflexions en tant que développeur de se demander jusqu’où on peut aller quand on me demande ce genre de mission.
C’est à quel moment, quand je lance un logiciel ou une application, je peux m’arrêter de faire des mises à jour pour contribuer à faire que le logiciel fonctionne de mieux en mieux, corriger les bugs. Est-ce qu’il y a un moment où, dans mon éthique vis-à-vis de mes clients, je dois continuer à faire des mises à jour, est-ce qu’il y a un moment où je peux arrêter ?
Est-ce que je dois ou pas respecter les droits d’auteur ? J’imagine que dans la salle il y en a qui se disent les droits d’auteur osef et d’autres les droits d’auteur il faut les respecter. Moi, si je fais des contributions, et que les briques de code source que je fais, que je mets à disposition par exemple sur Github et que d’autres les reprennent, je veux être crédité. C’est le respect des droits d’auteur.
Il y en a peut-être aussi qui sont un peu comme Richard Stallman pour qui un développeur éthique c’est forcément un développeur qui fait du logiciel libre. Il y en a d’autres qui vont se dire un logiciel propriétaire ce n’est pas un problème d’éthique. Etc. Je vais passer.
Ça peut être intéressant aussi de se dire, si vous faites de l’intelligence artificielle, est-ce que mes algorithmes sont neutres, est-ce que les datasets que j’utilise pour apprendre à mon intelligence artificielle, donc faire du machine learning, du deep learning, est-ce qu’ils sont biaisés, ou pas ? Parce que si vous utilisez des datasets biaisés, vous prenez le risque d’avoir du racisme ou du sexisme, par exemple, dans le résultat de vos algorithmes. Ce sont des questions qu’il faut intégrer de plus en plus.
Ça peut être l’autonomie des intelligences artificielles, là aussi sur la cyberdéfense. Vous savez que, de plus en plus, on est en train de militariser les avions, les drones, avec des mécanismes qui leur permettent d’être pilotés tout seuls et même de réagir en envoyant des missiles, de façon parfaitement autonome. Est-ce que c’est éthique ou pas ? Ce sont des questions que peut-être dans la salle certains seront amenés à se poser.
Donc il y a eu des tentatives pour les développeurs d’encadrer ce que ça pouvait être l’éthique ou pas. Je serais curieux de savoir qui dans la salle connaît le code d’éthique et de déontologie de l’ingénieur logiciel. Et puisque ça s’adresse à des logiciels, forcément il y a une version, c’est-à-dire la version 5.2. Personne ne connaît dans la salle ? D’accord ! Donc c’est un document qui date de 99, qui théoriquement concerne tous les adhérents, tous les membres au moins, de l’IEEE [Institute of Electrical and Electronics Engineers] ou du triple E, je ne sais pas comment il faut dire, qui sont 400 000 membres. Et c’est la charte éthique qui a été rédigée par l’IEEE et l’ACM [Association for Computing Machinery et qui, théoriquement, s’applique à tous les développeurs de logiciels en tant que norme d’enseignement et de pratique du génie logiciel.
Donc si vous êtes ingénieur ou si vous aspirez à devenir ingénieur, vous êtes censé respecter cette norme-là, qui contient huit principes. Je ne vais pas tous les énumérer, mais retenez le premier qui est pour moi le plus important. C’est : « Le public. Les ingénieurs logiciels doivent agir dans l’intérêt public en tout temps. » Et ça prime sur l’intérêt de votre employeur, ça prime sur vos propres intérêts, c’est l’intérêt de la société toute entière.
Je passe sur les autres qui sont, selon moi, moins intéressants, qui sont plus liés à la déontologie, donc vis-à-vis de votre employeur, vis-à-vis du produit lui-même ; le jugement que vous devez avoir en permanence sur les conséquences de vos applications ; la manière dont vos managers, ou si vous-même vous êtes manager, vous devez gérer vos équipes, vos projets ; la réputation de vos actions sur la profession des développeurs en général, d’ingénieur logiciel, comme on dit ; vos relations avec vos collègues et enfin vous-même. Par exemple ici, en étant à Mixit, vous respectez parfaitement la charte de déontologie puisqu’un bon développeur un bon ingénieur logiciel, dans sa charte éthique doit constamment se former et former les autres.
Et l’IEEE nous dit donc : « Ce sont des obligations qui sont fondées sur l’humanisme des ingénieurs logiciels – je passe et donc – ce sont des obligations pour quiconque se réclame du titre d’ingénieur logiciel ou qui aspire à le devenir. Donc on nous dit c’est vraiment une obligation. Si vous êtes un ingénieur ou que vous aspirez à le devenir, vous êtes censé respecter ces huit règles qui ont elles-mêmes des sous-règles après.
07’ 13
Sauf qu’en réalité, en droit, une obligation,