Thierry CROUZET
Les logiciels libres sont-ils de confiance ?
Les logiciels libres sont-ils de confiance ?

Les logiciels libres sont-ils de confiance ?

J’aime le blogging : quand un billet en entraîne un autre sans aucune préméditation. C’est une des vertus de la pensée ouverte, de l’open source (et non du libre, car si mes billets étaient sous copyright traditionnel ça ne changerait rien). Ainsi, dans un commentaire, Lanza me signale que par logiciel libre il faut entendre logiciel de confiance, un logiciel qui peut être décortiqué pour voir si, en lui, il n’y a rien de suspect.

Cette distinction terminologique est une très bonne idée. En se débarrassant de la notion de liberté, très complexe philosophiquement, ont s’épargne un écueil moralisateur dans lequel il est facile de s’empaler. Par opposition, la confiance est bien plus pragmatique.

Je fais confiance à mes proches, à mes amis, à ma voiture parce qu’elle freine quand je le lui demande, à mes institutions (mais pas toujours, pas au point de voter pour des clowns réactionnaires). Je fais aussi confiance à certains logiciels.

Qu’est-ce que ça signifie ?

  1. Sécurité. Qu’ils ne détournent pas mon travail, qu’ils ne m’espionnent pas…
  2. Ouverture. Qu’ils n’emprisonnent pas mes données et me laissent la possibilité de les utiliser avec d’autres logiciels.
  3. Abordable. Qu’ils ne me prennent pas pour une vache à lait.
  4. Pérennité. Qu’ils continuent d’évoluer.
  5. Performant. Qu’ils répondent au mieux à mes besoins en fonction des possibilités techniques du moment.

Ces points reviennent à dire que j’ai confiance dans les développeurs du logiciel. Je suppose qu’ils sont intègres, transparents, résilients, volontaires… Ils peuvent être rémunérés ou non, ça n’a guère de conséquence quant à la confiance que je leur porte (ce n’est pas plus important pour moi que de savoir s’ils vivent en couple ou non, s’ils font du sport ou non).

Je suis moi-même assez souvent rémunéré, il faut bien que je mange, et je ne vois pas pourquoi les développeurs de mes logiciels devraient renoncer alors que je ne renonce pas. Sinon pourquoi mon boulanger aussi ne renoncerait-il pas, et mon épicier, et ma station-service… La gratuité n’est pas un gage de confiance (Google est gratuit).

Un logiciel libre est-il un logiciel de confiance ?

  1. Côté sécurité, pas toujours. Ce n’est pas parce que le code est accessible que quelqu’un a fait l’effort de vérifier son innocuité. Et si quelqu’un a fait cet effort, je dois d’abord lui faire confiance, avant de faire confiance au logiciel libre. Cela revient à déporter la confiance. La sécurité des logiciels libres est souvent affirmée un peu trop hâtivement, comme s’il existait un lien logique entre liberté et sécurité, ce qui n’est pas le cas tout simplement parce que la confiance ne se propage pas automatiquement de personne en personne.
  2. Côté ouverture, oui. L’ouverture du code entraîne presque mécaniquement une ouverture des données (même si ce n’est pas systématique).
  3. Côté abordable, oui. Puisqu’on peut toujours accéder à un logiciel libre gratuitement.
  4. Côté pérennité, pas toujours. Logiquement avec l’ouverture n’importe qui peut reprendre un projet, mais faute d’une rémunération attractive, c’est potentiellement démotivant. Rien ne garantit donc qu’un logiciel libre soit plus durable qu’un logiciel commercial.
  5. Côté performance, pas toujours. Parce que la foi ne suffit pas à soulever des montagnes. On peut le regretter, mais ça ne change rien au problème.

Un logiciel de confiance est-il un logiciel libre ?

Mettons-le à l’épreuve des quatre libertés.

  1. Côté liberté d’utiliser, pas toujours. Puisque parfois un logiciel de confiance peut être payant (liberté que les pirates s’arrogent par la force).
  2. Côté liberté de l’étudier, pas toujours. Puisque le code n’est pas nécessairement accessible, mais il faut être prudent sur ce point. Il existe deux méthodes pour étudier un programme : lire son code ou s’intéresser à ses entrées/sorties, ce qui est souvent plus rapide. Cette seconde méthode est toujours possible, voilà pourquoi on peut faire confiance à des logiciels propriétaires presque avec autant d’assurance que les logiciels libres (pour peu que quelqu’un de confiance effectue le travail de vérification, le problème est le même dans les deux cas).
  3. Côté liberté de le modifier, pas toujours. Puisque le code encore une fois n’est pas nécessairement accessible, mais c’est oublier qu’il est toujours possible d’ajouter des macros, et surtout de changer de logiciel pour aller vers un autre qui répond mieux à nos besoins. Un développeur de confiance est à l’écoute de ses utilisateurs, et donc il doit savoir réagir (c’est très souvent le cas avec les logiciels commerciaux développés par de petites équipes).
  4. Côté liberté de faire circuler, pas toujours. Puisque le logiciel peut être commercial.

Pour la majorité des utilisateurs, les libertés d’étudier et de modifier ne sont possibles qu’à travers la confiance en des tiers capables d’étudier et de modifier. Sur les quatre libertés, il n’en reste plus que deux qui concernent l’utilisateur lui-même : la liberté d’utiliser et celle de distribuer, deux libertés qui se résument à dire qu’un logiciel libre est un logiciel gratuit, en anglais ça devient « free is free » (ce qui sonne tautologique).

Il s’avère donc qu’un logiciel libre n’est pas nécessairement de confiance et réciproquement. Qu’est-ce qui est le plus important ? Un logiciel de confiance ou un logiciel que je peux obtenir gratuitement ? Parce qu’au final, c’est ça la véritable question.

Sans hésiter, je choisis la confiance. Et la plupart des gens font comme moi. À ce point, les choses deviennent perverses. Parce qu’un logiciel de confiance peut toujours se trouver gratuitement, quitte à le pirater.

Si un logiciel commercial est trop cher, donc brise la confiance sur ce point, on peut s’en accommoder, en passant outre. Qui n’a jamais piraté un logiciel ?

La liberté d’utiliser et de distribuer est une notion juridique, qui a peu de lien avec ce qui se passe en pratique. Voilà pourquoi la majorité des gens préfèrent Photoshop à Gimp. Ils font confiance en Adobe et contournent le principal frein à cette confiance : le prix. Il s’agit d’un accord tacite entre Adobe et ses utilisateurs, payant ou non, un accord en quelque sorte de confiance, même si juridiquement il ne tient pas. La vie est ainsi faite de compromis qui arrangent tout le monde. Adobe gagne sa vie, les utilisateurs qui le peuvent payent, les autres bricolent, et ça fonctionne très bien.

Le logiciel a-t-il un rôle mystique dans la société ?

Pourquoi les logiciels auraient-ils un statut particulier ? Pourquoi exiger des développeurs de logiciels ce que nous ne pouvons exiger des autres créateurs ? Pourquoi ce serait plus éthique qu’ils libèrent leurs codes ? Pourquoi tous les cuisiniers ne devraient-ils pas libérer leurs recettes ? Les laboratoires leurs brevets ? Les écrivains leurs textes ? Généralisée, cette volonté n’est-ce pas une forme de totalitarisme intellectuel ? Est-ce si éloigné du communisme ?

Il me semble que la libération n’est vitale que si elle contribue à la confiance. L’exemple de la monnaie est particulièrement intéressant. De toute évidence, l’Euro n’est pas une monnaie de confiance. Il est donc vital de créer des monnaies de confiance, et une monnaie étant un lien entre tous, elle doit être libre. C’est l’universalité de la monnaie qui pousse en faveur de son ouverture et de sa transparence.

Le libre n’est donc nécessaire que quand la confiance est en jeu. Il n’a de sens qu’avec la confiance, que pour la renforcer. La confiance est une affaire humaine qui se travaille, se consolide, jour après jour.

Par exemple, j’ai confiance en Linux pour mon serveur Web, en macOS pour mon ordi de travail. Il n’y a rien de contradictoire parce que je cherche à maximiser la confiance. C’est vrai dans ma vie numérique comme dans ma vie en général.

Par ailleurs, la confiance est relative, elle dépend des exigences de chacun. Quelqu’un de particulièrement sensible à la sécurité ne la mettra pas au même niveau que quelqu’un de sécuritairement insouciant. Par exemple, côté traitement de texte, je recherche les outils qui libèrent ma créativité, c’est un point central pour moi.

Certains développeurs/créateurs ont réussi à développer une économie viable tout en libérant leurs œuvres. Je ne peux que les applaudir, j’essaie souvent de me joindre à eux, mais cette exigence éthique qui est notre ne suffit pas à construire la confiance, cette exigence se place sur un plan politique, dans une perspective à long terme, pas toujours compatible avec le besoin que nous avons tous d’avoir confiance en nos outils comme nos relations, ici et maintenant. Nous avons besoin de confiance pour survivre, et ce n’est qu’à cette condition que nous pouvons envisager l’avenir.

Je suis donc fidèle aux logiciels de confiance. Quand ils sont libres, c’est encore mieux, mais leur liberté ne saurait être un prérequis, c’est leur confiance qui l’est. Dans le meilleur des mondes, les logiciels libres seraient des logiciels de confiance gratuits.

Mais payer n’est-ce pas faire confiance (surtout si c’est avec une monnaie libre comme Duniter) ? Quand un lecteur m’achète un livre, c’est en quelque sorte plus important pour moi que quand il se contente de lire mon blog. C’est la preuve qu’un pas de plus a été franchi dans la relation. C’est créer un lien réciproque. Payer, n’est pas une entrave à la confiance, bien au contraire. Et donc faire du paiement de certaines œuvres ou de certains services un préalable ne me pose aucun problème éthique, pas plus que quand je paye une baguette chez mon boulanger. L’injonction de gratuité du libre est souvent inacceptable, et souvent il ne reste plus que cette injonction quand on interroge les adeptes du libre.

Aurélien Grosdidier @ 2016-12-13 11:45:21

Il y a beaucoup de choses, dans ton post, qu’il faudrait développer. C’est ballot, j’ai peu de temps et pas de blog. Je commente donc ici et à la rache - http://www.la-rache.com/

En se débarrassant de la notion de liberté, on se débarrasse aussi de la distinction philosophique entre le logiciel libre et le logiciel open source. Les deux sont loin d’être équivalents, en théorie comme en pratique, car le second ne permet pas à l’utilisateur de s’approprier l’outil, quoiqu’il permette parfois (souvent?) plus de s’en approprier plus facilement l’usage. Je ne crois pas que la philosophie doive s’effacer devant la pratique ni l’inverse, mais qu’il s’agit précisément d’une mise en dialectique réflexive de la pratique et de la philosophie pour arriver à converger progressivement sur une éthique, en l’occurrence une éthique numérique.

Le numérique est une technique, c’est-à-dire qu’en adoptant un point de vue d’anthropologue, il s’inscrit dans le processus d’hominisation: nous le créons, en retour il change la façon dont nous déclinons notre identité humaine dans le contexte qui nous accueille. Cette possibilité qu’a le numérique de nous changer devrait nécessairement entrainer un questionnement de son innocuité c’est-à-dire de l’orientation vers laquelle se fait ce changement, tant sur les plans individuels que collectifs. Il s’agit par conséquent d’évaluer la pertinence de ce changement induit par le numérique au fur et à mesure qu’il a lieu. C’est d’autant plus difficile que le rythme est celui d’une temporalité technique exponentielle alors que le rythme de nos vies humaines est cyclique. Les conséquences de l’hominisation se font désormais sentir à l’échelle individuelle et sur quelques années seulement, simultanément ou presque sur toute la planète. Il devient donc impossible de prendre le temps de faire un retour d’expérience collective sur une expérimentation localisée, afin de pondérer les avantages et les inconvénients sur le court terme et sur le long terme. Dès lors, chacun est rendu responsable de sa propre hominisation. Le défi cognitif et éthique est d’autant plus immense que la plupart des personnes ne saisissent presque rien des enjeux numériques, même dans les modalités les plus immédiatement perceptibles que sont celles des usages. Cf. https://www.nngroup.com/articles/computer-skill-levels/.

De surcroît, chacun est aveugle sur les conséquences à long terme du numérique, pour soi et pour les autres. Comme la confiance ne se conçoit qu’en miroir d’une défiance, c’est à dire à une menace précise, il s’agirait de concevoir quelle pourrait être cette dernière, ce qui pour des aveugles suppose le recours à l’imagination, voire au fantasme, voire à l’angoisse. La temporalité propre et les effets leviers du numérique sont tels que nous ne pourrons prendre conscience d’un éventuel mur qu’une fois au pied de ce dernier, sans garantie d’avoir la possibilité de réagir. L’établissement de la confiance est en principe un processus itératif où elle se construit petit à petit ou se déconstruit d’un seul coup, suivant qu’elle est donnée a priori ou pas. Sans pouvoir donner de l’épaisseur à ces itérations, nous en sommes réduits à ne pouvoir parler que de notre expérience personnelle et en ne considérant que ce qui nous est donné à chacun a priori: la confiance ou la défiance.

Pour en revenir à l’innocuité du logiciel, elle est liée à sa réalisation technique d’une part, à l’intention qui précède cette réalisation d’autre part, et enfin (surtout?) aux conséquences des pratiques qui découlent de l’usage de ce logiciel. Le facteur technique est pris en sandwich entre deux facteurs humains. Son rôle et sa nature induisent chacun un type de risque.

D’une part, le logiciel est médiateur d’une interaction par ailleurs potentiellement à la confluence d’intérêts divergents. Il importe de pouvoir vérifier les mécanismes d’arbitrages de ces intérêts, qui peuvent être dissimulés dans les algorithmes ou dans leurs implémentations. Pour ce faire, l’accès au code source est un prérequis nécessaire mais pas suffisant. Sur ce point-là, la transparence des logiciels libres et de leurs cousins open source leur donne un avantage de vérifiabilité sur les logiciels propriétaires. La disponibilité du code et des algorithmes est nécessaire mais pas suffisante pour garantir leur innocuité. Dans la mesure où les logiciels propriétaires sont disqualifiés, je crois que cet avantage est néanmoins décisif, quoiqu’il soit par ailleurs clairement insuffisant.

D’autre part, indépendamment de tout facteur humain en amont ou en aval, tout développeur sait que les logiciels sont, par nature, perclus de bugs. Il n’est donc pas possible de leur faire "confiance" sur ce plan technique. Prétendre l’inverse, c’est surtout attester d’une conception animiste d’un monde technologique qui "tomberait en marche". Cette impossibilité limite la confiance qu’il est possible d’avoir dans le numérique indépendamment de la confiance qu’il est possible de faire aux développeurs/éditeurs/utilisateurs, etc. Les logiciels libres et/ou open sources permettent de dépasser la nécessité de faire confiance aux objets techniques qu’ils sont, en éclairant leurs mécaniques internes dans toute la vulgarité qu’est celle du code. Par la transparence, c’est-à-dire le fait de pouvoir ouvrir les yeux, il n’est plus nécessaire de devoir faire confiance à la main qui nous guide parce que nous les gardons fermés, par choix ou par contrainte. La transparence acte que le rapport à l’objet, en l’occurrence le logiciel, est par définition un rapport de questionnement, de doute, de défiance. Un peu plus sur le sujet ici: https://framabin.org/?902d89338bfcad43#320RJ8CAsq7kg5ds0NP/GPbup8o/3ZNFOeXtlBndh4Q=

?aluel @ 2016-12-13 11:49:06

Il me semble que tu analyses le sujet du seul point de vue d’un utilisateur dans un monde figé où tu cherches la meilleure option. Pas du point de vue d’un contributeur participant d’un flux(t), où ce n’est pas ce qui est qui importe, mais ce qui est en création(t) en vue d’un résultat(t+dt).

Libre est un prérequis pour s’assurer la possibilité d’une confiance maximale (qui n’est certes pas atteinte si on ne peut réaliser une revue de code soi-même) dans un flux de développement, alors qu’à contrario, la confiance ne peut être maximale avec un logiciel non-libre (surtout concernant la liberté relative à l’accès au code source).

Donc dans un monde de création de flux(t), je ne choisis pas un logiciel libre pour ses caractéristiques du moment, pour sa confiance ou son utilité du moment.

Je choisis un logiciel libre parce que je veux contribuer au développemen(t) de ce logiciel(t), apporter mes retours(t+dt) de développeurs ou d’utilisateurs à ce logiciel, sachant qu’il est libre, en vue de viser un logiciel(t+x) de confiance maximale, ce que je n’obtiendrai pas en participant à un logiciel non-libre où mes retours d’utilisateur ou de développeur n’assurent en rien cet objectif (qui reste possible toutefois au cas où au final le code sera libéré, mais pas assuré du tout).

Donc dans un cas je me place dans un monde figé, et je prends ce qui répond à mes besoins instantanés, alors que dans l’autre je réalise un monde de flux(t), mais pas n’importe quel flux(t), car je sais que la participation à un flux(t) non-libre ne produira pas le même espace que la participation à un flux(t) libre.

Je choisis donc une voie en terme de fruits(t+x), en comparant la nature des graines et leur amélioration dans le temps, récotes après récoltes, pas en choisissant des graines sur le fait que la première récolte attendue serait meilleure, sans voir qu’elles seraient figées ou modifiables par d’autres mais pas par moi, j’intègre ma propre participation à l’évolution dans mes choix.

Aurélien Grosdidier @ 2016-12-13 11:53:30

@?aluel : Arbitrage & anticipation individuels, ça me semble être l’équivalent en vue subjective de ce que j’ai moi même posté avec une "ambition systémtique" - et la désespérante lourdeur qui va avec ^^

Gene @ 2016-12-13 12:10:28

Juste un lien rigolo qui permet à accéder au jeu : DATAK

http://www.rts.ch/la-1ere/programmes/on-en-parle/6813759.html

Nos données ne sont pas gratuites ;)

cgeek @ 2016-12-13 12:21:43

@Thierry : j’ai lu ce billet et celui sur les logiciels libres. Je pense que tu confonds possibilité et réalisation.

Car un logiciel libre est un logiciel qui **respecte** les 4 libertés logicielle de l’utilisateur, il est compatible avec elles, il ne fait rien qui va contre elles, il les permet.

Mais la permission, la possibilité, ne dit rien quant à la réalisation effective qui dépend de beaucoup d’autres choses (capacités personnelles, temps, etc.).

Un logiciel privateur, lui, est incompatible avec au moins l’une des 4 libertés logicielles. Par exemple : un logiciel dont le code source est gardé secret, ou encore un logiciel qui se bloque tant que l’on n’a pas acquis une licence.

Un logiciel libre, lui, sera compatible avec ces 4 libertés, car il ne sera pas incompatible avec leur réalisation.

Pareil pour la monnaie libre (4 libertés économiques), la maison libre, le livre libre, la bière libre, etc.

cgeek @ 2016-12-13 12:33:21

@Thierry Après avoir bien dissocié ces 2 notions (possibilité et réalisation), tu peux aller plus loin : un logiciel libre peut tout à fait être payant.

Mais bien sûr la forme sera différente : un logiciel privateur *forcera l’utilisateur à payer pour exécuter le logiciel*, tandis qu’un logiciel libre non.

Un logiciel libre dira simplement "ce logiciel est payant", mais il ne t’obligera pas à le faire. Toutefois son auteur peut tenter de t’obliger, par exemple par action en justice. Mais pas le logiciel libre lui-même.

Nairwolf @ 2016-12-14 11:07:27

Salut,

Je voulais réagir sur le mauvais conseil que tu donnes. Tu considères qu’un logiciel comme Photoshop est digne de confiance, et c’est ton point de vue. Si tu le trouves digne de confiance, la seule façon de conserver cette confiance, c’est de l’acheter à l’éditeur officiel. Quand tu dis que c’est un bon compromis de télécharger une version piraté du logiciel, c’est un très mauvais conseil car lorsque tu télécharges une version pirate, tu perds toute la confiance que tu pouvais avoir sur ce logiciel ! Ce n’est plus Adobe qui te fournit un logiciel, mais un inconnu hacker. Tu ne sais pas ce qu’il a modifié sur le logiciel, peut-être en l’installant tu installes des logiciels malveillants et silencieux.

Visibilité
Newsletters Me soutenir