Accueil du [Site] > Articles > Découvertes > Culture geek > GeekZone > Éléments d’informatique > Les pilotes, ce poison

Les pilotes, ce poison

(ouh que c’est mauvais)

mercredi 31 octobre 2007, par Valentin.

J’ai indiqué dans un précédent article que le système d’exploitation se charge de faire le lien entre le matériel et le logiciel.

Accéder au matériel, pour un système d’exploitation ou pour un logiciel, n’est pas toujours facile. Les périphériques complexes, comme les cartes 3D modernes, comportent des circuits très élaborés et se comportent presque comme des ordinateurs à part entière.

C’est ici qu’interviennent les « pilotes », ces programmes de bas niveau qui s’intègrent à l’OS pour lui permettre de communiquer avec de tels périphériques. Ces pilotes doivent donc être écrits par quelqu’un qui connaît bien le matériel en question. Et c’est là que ça devient intéressant...

De deux choses l’une.

Soit le constructeur accepte d’expliquer publiquement la composition et le fonctionnement exacts du matériel qu’il a fabriqué : ce que l’on nomme les spécifications du matériel.

Dans ce cas, n’importe quel informaticien, ou entreprise, qui consulte ces spécifications est en mesure (en y mettant le temps) d’écrire un pilote qui correspondra à son ordinateur, à son OS, etc. : on a la certitude que ce périphérique sera effectivement utilisable.

Soit, dans de nombreux cas, le constructeur va tenir jalousement secrètes les spécifications de son périphérique. Pour des raisons de Propriété Intellectuelle ? Pas seulement. S’il choisit cette voie, c’est parce que...

  • Il est le seul en mesure d’écrire son pilote.
  • de ce fait, il tient tous les utilisateurs à sa merci. (par exemple, le jour où il cessera de les laisser accéder à son pilote, ils ne pourront plus se servir de son produit).
  • Il lui est tout à fait possible d’écrire un pilote qui ne conviendra qu’à UN type d’ordinateur, ou à UN système d’exploitation bien précis.

Vous me voyez venir ? Non ? Alors retournez lire l’édifiante histoire de Microsoft.

De surcroît, qu’ils soient écrits pour l’un ou l’autre système d’exploitation (car certains constructeurs condescendent parfois à écrire, à la va-vite, un pilote pour linux... Mais le problème reste entier pour les autres systèmes libres, BSD et compagnie, parce quand même enfin bon hein, faut pas non plus rêver...), les pilotes écrits par les constructeurs sur des spécifications non-ouvertes, ces pilotes donc, sont et demeurent des logiciels propriétaires, soumis à la Propriété Intellectuelle la plus restrictive. En d’autre termes, si je veux graver et distribuer un CD du système GNU/Linux, j’ai deux solutions :

  • soit je n’y inclus aucun pilote propriétaire, et je peux le distribuer librement tant que je veux ; cependant les utilisateurs à qui je le donnerai ne pourront sans doute pas faire marcher leur carte graphique, leur connection wifi, leur webcam, etc.
  • soit j’y inclus tous les pilotes que je peux, propriétaires ou non ; dans ce cas, je peux distribuer mon CD mais je dois m’attendre à ce qu’un jour ou l’autre les avocats du constructeur frappent à ma porte avec une assignation en référé.

La plupart des distributions Linux, à l’heure actuelle, choisissent... l’une et l’autre solution. En d’autres termes, elles font peser sur l’utilisateur le choix d’être (plus ou moins) hors-la-loi, ou bien de ne pas se servir de son matériel. C’est une attitude discutable, à laquelle beaucoup — dont je suis — trouvent un effet pervers : ça ne pousse ni les constructeurs à libérer leurs pilotes et les spécifications de leur matériel, ni les utilisateurs à y regarder à deux fois quand ils achètent leurs ordinateurs et leurs périphériques : acheter une carte wifi plutot Atheros que Broadcom, une carte graphique plutôt Intel que Nvidia, etc.

Il est vrai, de fait, que les pilotes, tout comme les licences, posent la question de la Propriété matérielle et intellectuelle : si j’achète un périphérique (webcam, carte graphique, etc) et que je ne peux pas m’en servir, peut-on vraiment dire qu’il m’appartient ?

La légende raconte que Richard M. Stallman, un jeune informaticien prometteur, dans les années 1970, s’acharna un jour contre une imprimante qui tombait fréquemment en panne et dont il ne pouvait avoir le pilote. Ce désagrément lui donna l’idée de lancer le projet GNU, qui allait devenir le porte étendard mondial du logiciel Libre.

On en reparlera.

Messages

  • Il est intéressant que tu fasses référence à grosoft et bsd. En effet la couche réseau, qui permet à l’OS de communiquer avec le monde extérieur, du dernier OS de grosoft est issue de ... bsd, et oui. Cela signifie donc en théorie, qu’une simple recompilation des pilotes propriétaires sous winwin permettrait à ces mêmes pilotes de fonctionner sous bsd .... Or, on sait tous pertinemment que les fabricants ne prennent pas toujours la peine de faire ce minime effort.

    • J’ignorais tout de cette histoire.

      Pour information, la licence BSD a été fondée à l’université de Berkeley (d’où la lettre B) pour permettre aux étudiants de fabriquer du code, puis de le réutiliser s’ils venaient à se faire engager par des compagnies privées.

      C’est donc une licence libre (j’ai un article en préparation sur ce sujet) qui, contrairement à la licence GNU/GPL, permet à n’importe quelle entreprise d’inclure des bouts de code dans des logiciels fermés et propriétaires. Ainsi, par exemple, le noyau de la nouvelle génération des MacOS contient-il une large part de code BSD.

      Je savais que la base de la gestion du réseau sous Windows (protocol TCP, net-machintruc etc) est issue du système BSD. Je n’avais jamais fait le lien avec la portabilité des pilotes.

Un message, un commentaire ?

Qui êtes-vous ?
Votre message

Pour créer des paragraphes, laissez simplement des lignes vides.

Vous n'êtes pas un robot ? Alors veuillez répondre à cette question essentielle :
Quelle est la moitié du mot «toto» ? 

Ajouter un document