[gull] Linux : les développeurs se proposent de créer des pilotes

Marc SCHAEFER schaefer at alphanet.ch
Sun Feb 4 10:53:14 CET 2007


On Sun, Feb 04, 2007 at 09:33:17AM +0100, Nicolas Borboën wrote:
>  Linux : les développeurs se proposent de créer des pilotes

Il est évident que des pilotes créés par des développeurs du kernel
Linux (ou d'autres sous-systèmes GNU/Linux) sont de meilleure qualité
que des pilotes constructeurs.

La méthode `je cherche un pilote binaire chez le constructeur' finit
souvent par déstabiliser le système, ou à rendre sa gestion fort
coûteuse à long terme.

C'est d'ailleurs un des grands avantages de GNU/Linux: le fait qu'une
source unique (la distribution) intègre et teste tous les logiciels (du
pilote matériel aux applications end-user(*)). Pour donner un exemple,
le modèle de diffusion de Microsoft et Apple les empêche totalement
de faire cela.

(*) applications propriétaires exceptées, sauf peut-être dans les cas
    spécifiques des versions propriétaires de SuSE et de Linspire, et
    pas pour toutes les applications. Je parle bien sûr ici de test
    en amont, pas de support technique à l'installation de logiciels
    propriétaires, fort coûteux (== sensiblement le même que sous
    plateforme propriétaire Microsoft Windows, voire même plus cher!)

> pour un grand nombre de composants et de périphériques, tous les
> constructeurs sont loin d?avoir développé un pilote adapté.

Sauf exceptions, heureusement, au vu de ce qui précède.

> développeur pour le noyau Linux. Selon lui, la solution pourrait être
> simple : que les développeurs du noyau (environ 1500 personnes) prennent

oui, c'est simple. C'est d'ailleurs un peu ce qui se fait déjà pour la
plupart des périphériques gérés par le kernel ...

> documentation décrivant au minimum les grandes lignes des spécifications
> du produit pour lequel elles souhaitent la création d?un pilote.

... dont la spécification est disponible; sur une base volontaire.

NB: certains périphériques ne sont actuellement pas gérés au niveau du
    kernel, ce qui est techniquement une excellente chose. P.ex. les
    scanners, les imprimantes, et dans une certaine mesure, les pilotes
    graphiques. Vouloir tout mettre dans le kernel est un non-sens
    technique et organisationnel. Surtout vu le bordel du 2.6.x (à mon
    avis).

> Linux. D?autres parts, elle permet à ces mêmes entreprises de ne pas
> constituer une équipe de développeurs dévolus à cette seule tâche.

... qui n'auront jamais les compétences requises et se concentreront sur
la réalisation d'un installeur graphique multilingue
(ok, j'exagère un peu là).

> Créer des pilotes open source et performants pour le matériel, l?idée

open source ou libre ?

> Dans l?optique toutefois de créer des pilotes de meilleur niveau que
> ceux existants, Kroah-Hartman explique que les développeurs ont conclu
> un arrangement avec la fondation Linux pour la mise en place d?un cadre
> juridique qui permettra à une société d?interroger directement les
> développeurs pour vérifier que les NDA ne sont pas rompus.

A mon avis c'est là que le problème va se cacher. Soit le pilote utilise
des interfaces soumises à NDA, donc il est impossible de le publier,
ergo il ne peut être libre ni même open source, par définition. Soit il
ne les utilise pas, et donc quel est le changement par rapport à la
situation actuelle ?  Offrir un tel conseil légal est aussi un risque.

On risque de s'acheminer vers des solutions duales, trop pratiquées
actuellement, qui consistent à séparer un pilote en deux parties: une
partie GPL, et une partie propriétaire, la partie GPL se bornant à
convertir les appels à la partie propriétaire. Bien souvent cette façon
de faire amène des problèmes:

   - non portabilité de la partie propriétaire (i386 only)

   - bugs graves de sécurité de la partie propriétaire non corrigeable
     (cf les bugs Intel NDIS)

   - difficulté de maintenir la couche de compatibilité GPL

> * http://www.kroah.com/log/linux/free_drivers.html

A ce que je vois:

> Yes, that's right, the Linux kernel community is offering all
> companies free Linux driver development. No

Ok, donc le mot `free' ici ne veut par dire des pilotes libres, mais du
développement fait *gratuitement* par la communauté pour les entreprises
vendant du matériel, dont le résultat sera un pilote libre intégré et
distribué dans le kernel standard.

La deuxième nouveauté est le travail pour résoudre les problèmes de NDA,
si possible.

Je trouve l'idée intéressante, dans la mesure où l'on n'arrive pas à
ces solutions `duales', et dans la mesure où cela puisse convaincre les
fabricants de ne pas changer totalement d'architecture lorsque cela
n'est pas nécessaire. Il vaut mieux 1 pilote supportant 4-5 modèles
que 4-5 pilotes à maintenir.

Par contre, il me semble que tout travail, en particulier de qualité et
visant à augmenter la part de marché et la satisfaction des clients soit
facturé.




More information about the gull mailing list