• [^] # Re: .

    Posté par . En réponse au journal la vaccination GPL vs la liberté total BSD : le cas du drivers atheros. Évalué à 10.

    À vrai dire, Linus Torvalds est loin d'avoir ton opinion (et loin de partager le sens de l'éthique de Jiri et des quelques développeurs madwifi en cause) :


    Actually, normally I *do* have such a trust. It's why I have no problem
    with drivers that are dual-GPL/BSD, and in fact, I've told people that I
    don't want them to turn them into GPL-only, because that is simply not polite.

    source : http://lkml.org/lkml/2007/6/14/494

    Maintenant, il faudrait quand même savoir de quoi on parle.

    1- Dans le passé, les devs OpenBSD se sont ridiculisés dans une affaire similaire mais dans l'autre sens (importation de code GPL dans leur cvs en re-licensant illégalement sous BSD), pas brillante, qui a viré en scandale bordélique et peu reluisant (ce qui devrait inviter tout le monde à plus de prudence). Il y a clairement des problèmes de coopération entre les OS libres, et ce n'est pas très bon pour nous, utilisateurs d'OS libres. Je ne vois vraiment pas de bonne raisons de s'en réjouir.

    2- Il serait préférable d'éviter de se faire une opinion trop vite à partir de son opinion générale sur les licences et sans considérer l'histoire du code et le domaine et le contexte auxquels elles s'appliquent. Le fait de choisir la GPL dans le cas précis du code de Reyk (HAL retro-engeneeré) ne pourrait pas aisément se justifier par un souhait (par ailleurs légitime) de protéger ce code contre une potentielle « proprétarisation ». Les OS propriétaires ont déjà une implémentation de référence de ce HAL fournie par Broadcom, qui est et restera plus complète. Et pour cause : le HAL libre est développé par rétroengenérie de ce HAL propriétaire. Ainsi, le passage du pilote ath sous GPL ne protègerai ce code, en pratique, que d'une chose : la réutilisation et l'amélioration de ce code par un OS libre mais non-GPL (comme OpenSolaris et les *BSD). Et ce précisément dans un domaine où la coopération entre développeurs des divers OS libres est très importante (et permise justement par la licence ISC choisie par OpenBSD : compatible avec la CDDL d'OpenSolaris, la BSD 3 et 4, et la GPL, donc avec les divers OS libres). Bref, dans ce contexte, la menace de propriétarisation est nulle, et le besoin de collaborer et partager entre OS est très important ; et une licence permissive est le seul terrain de collaboration possible (nb : je ne dis pas que la BSD est préférable à la GPL, je dis qu'il faut toujours considérer le contexte, sans aveuglement : GPL, BSD, LGPL, CC-By-SA : chacune a sa place, sa raison d'être).

    3- On a pu lire quelques commentateurs faire la leçon aux devs OpenBSD, arguant que la licence BSD serait moins juste parce qu'elle ne force pas à donner en retour (« give back » qu'ils disaient). Et bin voila un bel exemple, merci pour la leçon de choses. Ici c'est utiliser la GPL pour ne pas donner en retour aux autres logiciels libres. Débat sur la légalité mis à part, vous trouvez ça juste, bien ou moral vous ? Ce n'est pas du tout l'esprit de la GPL, je ne retrouve pas dans cette attitude ce que j'apprécie dans cette licence.

    4- Accuser OpenBSD de préférer le propriétaire au libre sous GPL est encore plus injuste : c'est tout de même grâce à l'intransigeance anti pilotes binaires des devs OpenBSD qu'un certain nombre de pilotes wifi peuvent être libres (dont celui-ci). Dans le cas des pilotes Atheros, il existe justement une alternative propriétaire dont tout le monde (freebsdiens et linuxiens compris), sauf les devs OpenBSD, a du se contenter pendant des années. Parce qu'utiliser un driver (semi-)binaire/proprio (ou pire, ndiwrapper) est intolérable pour OpenBSD, Reyk a écrit et maintenu ce HAL libre. On peut tout dire sauf qu'ils sont coulants avec le proprio. Le choix d'une licence très permissive comme l'ISC, en l'occurrence, n'est certainement pas fait pour complaire au proprio. C'est le terrain idéal pour travailler ensemble toutes communautés libres confondues, coopération rendue nécessaire par l'absence de specs (et le code ainsi produit n'a quasiment aucune chance d'aboutir dans des OS proprios, qui ont déjà des drivers, plus complet et fonctionnels car écrit par ceux qui ont les specs). Si les devs OpenBSD avaient voulu empêcher la réutilisation de ce pilote par Linux, ils auraient utilisé une licence BSD 4 clauses (qui est admise, chez eux, et compatible avec leur noyau) et basta, Linux n'aurait pas peu le réutiliser (et peut-être qu'ils feront ça la prochaine fois ?).

    5- C'est, je crois, une des motivations les plus courantes pour le choix de licences type ISC, BSD ou MIT : le voeux d'être le plus compatible et réutilisable possible avec les autres logiciels libres, de permettre le partage le plus étendu possible (sans se laisser dicter une conduite par le propriétaire ou la crainte du proprio. : dans le cas d'OpenBSD, le proprio est tout simplement complètement ignoré, hors du radar). En pratique, OpenSolaris contient un bon nombre de pilotes wifi développés par OpenBSD, et les commentateurs critiques de linuxfr devraient quand même se rappeller qu'ils auront peut-être un pilote libre grace au travail de Reyk et à l'intransigeance d'OpenBSD, avant de les critiquer si durement.

    6- Un certain nombre des développeurs Linux (en particulier du coté de chez madwifi) ont, pendant longtemps et jusqu'à cet été, accusé le HAL libre r-e de Reyk d'être une violation illégale du copyright de Broadcom. Parallèlement, madwifi poussaient pour l'utilisation du HAL binaire et non libre de Broadcom. Et ce précisément à une époque où les devs d'OpenBSD lançaient des appels publics pour une grande coopération entre les OS libres sur la libération des drivers wifi (specs, développement et boycot). Il a fallu quelque chose comme deux ans pour que le SFLC (Software Freedom Law Center), ayant analysé le cas, lave le HAL libre Reyk de toutes ces accusations mesquines (en juillet 2007).

    7- Pendant tout ce temps, OpenBSD s'est fadé presque tout seul la suite du r-e sur HAL, vu que la plus grande partie de la communauté linux (ormis un peu actif port madwifi-openhal) se contentait, bon grès mal grès, de drivers non libres. Ce en dépit des appels répétés à la coopération pour du wifi libre et des specs ouvertes de la part d'OpenBSD et Theo de Raadt. Vous pouvez bien imaginer qu'ils voient rouge lorsque, deux ans après, des devs Linux qui avaient refusé de coopérer et les avaient isolés avec des accusations infondées de violation de copyright récupèrent leur travail et tentent de le passer sous une licence incompatible avec leur travail.

    8- Luis Rodriguez insistai lourdement, et depuis longtemps, auprès de Reyk pour qu'il « dual-licence » son code. Ce que Reyk a refusé. Donc en connaissance de cause. Il est dès lors franchement étonnant de voir Luis - qui sait donc parfaitement que le code est sous licence ISC only, et connaissant le souhait clair de l'auteur du code - cautionner et soutenir un patch qui vire la license ISC/BSD du code de Reyk.


    Pour conclure, n'oublions pas que le véritable ennemi dans cette histoire, c'est Broadcom, qui ne donne pas de specs et rarement des drivers (quand ils en fournissent, c'est généralement si mauvais qu'il faut le ré-écrire, cf. l'histoire du pilote tg3 de Linux). À boycotter !