Discutons avec Alistair G. Crooks, agc@

par GuiGui2 » 5 commentaire ajouté. Cliquez pour commenter.

Notre quatrième rendez-vous « Discutons avec un développeur NetBSD » est très spécial, puisque nous avons eu la chance de poser nos questions à Dieu^WAlistair G. Crooks, actuel président de la Fondation NetBSD, mais également  membre de board@, core@, développeur pkgsrc, membre de pkgsrc-security, releng, et security-officer pour NetBSD. Oui, rien que ça.

Alistair nous donne un point de vue historique unique, étant l’un des tous premiers développeurs NetBSD, et met ainsi en perspective « la methode NetBSD », son passé, son présent et son futur. Un must read.

Notez que, par un incroyable hasard, cette interview exceptionnelle arrive au même moment qu’un article du GNU/Linux Magazine France exposant l’histoire de NetBSD. Vous apprendrez bientôt que le hasard est notre métier. En attendant, place au maître.

NetBSDfr: Pour nos lecteurs qui ne te connaîtraient pas, peux-tu te
présenter rapidement ?


agc: Je suis originaire du Royaume-Uni, suis diplomé en informatique
de l’université de Glasgow, marié et père de 2 enfants. J’ai travaillé
au Royaume-Uni, en Hollande et en Allemagne la majeure partie de mon
temps, et j’ai déménagé avec ma famille en Californie l’année dernière.
Je suis également guitariste, avec un amour de la musique que ma famille
conteste.

NetBSDfr: Depuis combien de temps utilises-tu Unix, et en particulier
BSD UNIX ? As-tu suivi les travaux de la CSRG ?

agc: J’ai démarré Unix version 6 pour la première fois sur un PDP11/45
en 1977. J’ai utilisé BSD UNIX pour la première fois en 1984 – 4.1c
sur un VAX, et les premières machines Sun avec 4.2 BSD.
J’ai récemment retrouvé des notes prises lors d’un cours sur le
fonctionnement interne de 4.3BSD donné par Kirk Mc Kusik et Mike Karels
en 1986. J’avais diverses bandes intéressantes jusqu’à il y a peu à la
maison, mais le déménagement en Californie a nécessité un peu de
rationalisation, et de me séparer d’objets non essentiels. Je me demande
encore en quoi la collection de tasses de mon épouse est essentielle,
mais je le découvrirai certainement à l’avenir.

NetBSDfr: Tu es l’un des premiers hackers du système NetBSD. Peux-tu
nous expliquer brièvement quel a été le cheminement pour passer de
386BSD à NetBSD 0.8 ? Qu’est-ce qui t’as décidé à choisir NetBSD
plutôt que FreeBSD ?


agc: J’ai utilisé 386 BSD 0.0, puis 0.1 – complet, avec les notes de
cgd (NDT: Chris Demetriou) sur la façon de configurer plus de 5Mo de
swap, que j’ai utilisé en Septembre 1992 – je me souviens de la date
exacte parce que c’était quelques jours avant notre lune de miel.
Quelques mois plus tard naissaient NetBSD et FreeBSD.

Il y a plusieurs raisons principales qui m’ont poussées à choisir NetBSD,
et une raison plus mineure – NetBSD 0.8 s’installait parfaitement sur
mon disque de 300MB, mais pas FreeBSD. J’ai également eu une expérience
très positive avec les développeurs au “NetBSD camp”.

A peu près à la même époque, il y a eu une conférence en ligne
(s’appuyant sur les prémices de l’IRC) pour discuter de ce qui devait
se passer, quelle direction devait être prise, et je me rappelle avoir
pensé que les décisions de design et d’architecture des (futurs)
développeurs de NetBSD étaient les bonnes.

Toutefois, à cette époque, il y avait beacoup de points communs entre
les 2 projets. Par exemple, mon nom apparaissait dans le guide des
développeurs FreeBSD – je n’ai aucune idée de s’il y figure toujours -
parce j’ai fourni 2 des collections de ports originales (ce qu’on
appelle aujourd’hui communément des paquets binaires). Elles étaient
compilées sur NetBSD, mais tournaient parfaitement sur FreeBSD. C’est
bien avant que le projet FreeBSD ne démarre sa propre collection de
ports construite à partir des sources (c’est d’ailleurs une des
raisons pour lesquelles on a vu pendant longtemps la mention “New” en
haut des Makefile des ports, pour signifier que ce port était un port
de la nouvelle collection, basée sur les sources, plutôt que de celle
basée sur les binaires.)

NetBSDfr: Quand, et comment, es-tu devenu un commiter du projet NetBSD
Combien étiez-vous ?

agc: Je suis inscrit sur les listes de diffusion de NetBSD, et j’utilise
NetBSD-current sur mes machines depuis le début du projet (1993). Dans
mon travail, j’ai été amené à beaucoup voyager, ce qui a été l’occasion
de rencontrer un certain nombre de développeurs NetBSD.

En 1996, j’ai écrit un système de packages pour la version d’Unix qui
équipait les mainframes d’Amdahl, UTS, et il y avait pas mal d’activité
à ce moment là sur les listes de diffusion au sujet d’un système de
packages pour NetBSD, comment il devrait fonctionner, etc. Je me suis
porté volontaire pour le faire, parce que j’avais l’expérience de celui
que j’avais développé pour UTS, et je pensais pouvoir apporter beaucoup
de choses à NetBSD. J’ai réussi à convaincre les gens de NetBSD de faire
de moi un développeur du projet, importé les outils, l’infrastructure
de construction, un certain nombre de packages, et c’est comme ça que
pkgsrc a démarré.

NetBSDfr: Combien de temps consacres-tu au Projet ? Comment
organises-tu ta vie entre le projet et ta vie privée ?

agc: J’ai la chance de ne consacrer que 24h par jour au projet NetBSD
et à pkgsrc. Le reste de mon temps se partage entre ma vie professionnelle
et ma vie de famille.

NetBSDfr: Quand avez-vous décidé (core@) de créer la Fondation NetBSD ?
Quel est son rôle ? Quel est son impact, s’il y en a un, sur le Projet ?
Quel est le rôle du président ?

agc: Dans une entreprise traditionnelle, il y a un conseil d’administration
qui fixe les objectifs à atteindre par l’entreprise, et qui emploie et
dirige l’équipe de direction en charge d’atteindre ces objectifs. C’est
globalement la même chose dans NetBSD – le conseil d’administration
(c’est à dire la Fondation NetBSD) définit un ensemble d’objectifs à
atteindre, et se réunit régulièrement pour en discuter, et contrôler
si nous atteignons ces objectifs.

L’équipe “core” est l’équipe de direction technique du Projet, et
prend les décisions techniques. La Fondation NetBSD se charge des aspects
légaux et financiers du projet.
La Fondation NetBSD a commencé à financer des projets – ses projets
de développement ciblés, par lesquels elle assurera le financement du
développement. Le premier résultat a été le travail d’Andrew Doran sur
la refonte du code SMP (multiprocessing) et du threading model. Nous
espérons pouvoir financer encore plus de travaux dans les mois qui
viennent – c’est une période très excitante pour NetBSD.

Le conseil d’administration est élu tous les 2 ans par les développeurs
NetBSD. J’en ai été membre depuis 2002, avec une petite interruption
pour éviter un effet d’usure. Mon mandat actuel arrive à son terme en
2011, et ce sera le dernier. Il est temps de laisser la place à du sang
frais et de nouvelles idées.

Le président a un siège au conseil d’administration de la Fondation, il
est le destinataire ultime des fonds, et le récipiendaire de tous le
chocolat reçu par le projet.

NetBSDfr: Tout le monde connaît un des projets majeurs que tu as lancé,
pkgsrc. Peux-tu nous en dire plus sur tes autres activités dans le
Projet ?

agc: J’ai écrit la suite d’outils de gestion des utilisateurs, user(8),
ReFUSE, l’implémentation iSCSI de NetBSD, netpgp – une bibliothèque
et un programme pour la signature numérique et sa vérification, le
chiffrement et le déchiffrement – et un noyau comportant un modèle de
sécurité basé sur des rôles (RBAC, Role-Based Access Control), qui
attend encore d’être commité. EuroBSDCon à Cambridge sera l’occasion
de présenter netpgp et RBAC – passez-donc nous dire bonjour…

NetBSDfr: Est-ce que ton rôle au sein de TNF a un quelconque impact
sur ta vie professionnelle ? Plus généralement, est-ce que tes collègues
savent qu’ils travaillent avec une des figures de l’OpenSource ?

agc: Je n’imaginais pas être célèbre, et personne n’a dit à ma famille
que je l’étais, ce qui est aussi bien. Je travaille avec des développeurs
du projet, donc oui, ils sont indulgents avec moi et mon ego.

Un de mes collègues a avoué “P…, oui c’est bien nous”, les autres n’ont
aucune envie de soutenir le feu des paparazzi entre leurs voitures et
nos bureaux. Je soupçonne certains de mes collègues de ne me supporter
que pour le chocolat.
Au final, rien à perdre où à gagner de cette situation, en fait.

NetBSDfr: Linux et FreeBSD ont tous deux beaucoup de groupes d’utilisateurs
qui aident à populariser le projet et lui apporter de plus en plus de
contributions. Alors que NetBSD est le plus ancien système UNIX libre,
il n’est pas aussi populaire. Que penses-tu qu’il faille faire pour que
celà change, si tant est que celà doive changer ?

agc: NetBSD a toujours été un système d’exploitation sans “hype”. Il
existe, il “juste marche” (très bien), et nous avons tendance à laisser
notre OS parler pour nous. Ce qui ne veut pas dire que nous n’aimons
pas la publicité, ou que nous ne pensons pas que nous devons avoir une
communication aussi bonne que notre système est bon techniquement.
Nous avons de nouvelles forces dans nos rangs, comme Sarah Cockburn,
qui nous a rejoint récemment et a repris le marketing du projet en main.

De plus, sans nos supporters partout dans le monde, nous ne serions
nulle part. Aussi, je tiens à remercier tous les gens qui, dans de
nombreux pays, nous représentent de tant de façons différentes. Ainsi,
merci à vous, NetBSDfr, pour votre enthousiasme et vos capacités à nous
représenter si bien.

NetBSDfr: Qu’est-ce qui, au-delà de la passion, est nécessaire selon
toi pour rejoindre le projet NetBSD ?

agc: N’importe qui peut rejoindre le projet NetBSD, en utilisant le
système et pkgsrc, en témoignant, en rapportant des infos, des bugs,
en contribuant des patches, en s’éclatant avec le système.
Si quelqu’un veut jouer un rôle plus important, qu’il n’hésite pas à
nous le faire savoir.

NetBSDfr: NetBSD 5.0 est une révolution, tant sur l’aspect technique
que par la couverture médiatique dont il a bénéficié. Comment expliques-tu
cette renaissance ?

agc: NetBSD 5.0 est la combinaison d’un grand nombre de choses. 5.0 a
été la première version à bénéficier de la politique de développement
ciblé de la Fondation NetBSD, par laquelle la Fondation finance le
développement de certaines parties du système qui représenteraient une
charge trop importante pour une seule personne qui travaillerait sur
son temps libre. Ainsi, Andrew Doran a réécrit le modèle de threading,
et a fait de telles améliorations avec le code SMP (multi-processeurs
et multi-cores), que les résultats parlent d’eux mêmes. Au cas où
quelqu’un l’ait manqué, allez donc consulter la présentation d’Andrew
ici:

http://www.netbsd.org/~ad/50/

Sur le plan technique, toutefois, j’ai un avis subjectif, puisque
j’étais le release manager. En pratique, c’est Soren Jacobsen, release
engineer, qui s’est chargé de faire en sorte que tout se passe bien
dans les moindres détails – et d’une façon un peu étrange, que le crédit
en rejaillisse sur moi. Grâce à lui, le processus de release de 5.0 a
été un franc succès. Je me suis juste arrangé pour que la version 5.0
ne sorte pas le jour de mes 50 ans. Ça aurait été trop sympa…

Les changements qui sont apparus dans 5.0 ne doivent pas être
sous-estimés. Il y a eu 72 changements de versions de noyau dans 5.0 -
le record précédent était de 29. A mon sens, 5.0 est sorti au bon
moment, avec l’habituelle stabilité du système, des fonctionnalités
attendues par les utilisateurs et des performances en très nette
augmentation.
Mes remerciements vont à tous ceux qui ont pris part à l’élaboration
de 5.0, dans tous les domaines – les contributeurs, les utilisateurs
chasseurs de bugs, les personnes qui ont documenté ou écrit au sujet
de NetBSD 5.0. C’est à vous qu’on doit le succès de 5.0.
Merci.

Comment vois-tu NetBSD dans 5 ans ?

agc: Comme de nombreux constructeurs l’ont remarqué, NetBSD
est un excellent choix pour l’embarqué. La capacité à pouvoir
construire le système à partir de n’importe quelle plateforme pour
n’importe quelle autre, son système de licence simple et efficace,
ses performances et sa petite taille sont autant d’atouts.
Le marché de l’embarqué est lent au changement, par nature.
Ne serait-ce que pour cette raison, je pense que NetBSD est promis
à un grand avenir sur le marché de l’embarqué dans les années à venir.

Ceci dit, l’embarqué est uniquement une facette de NetBSD,
et quelques innovations techniques (comme le sous-système rump,
qui permet à des systèmes de fichiers d’être montés en userspace
- pensez par exemple à monter un système de fichiers sur une clé
USB sans savoir ce qui se produit au niveau noyau). Rump permet de
s’abstraire de ces problématiques (tout en proposant encore bien plus de
fonctionnalités) en réalisant l’ensemble des lourdes opérations filesystem
au niveau utilisateur.

Une autre tendance est la sécurité des systèmes d’exploitations, et des
applications conçues pour être sécurisées dès leur conception.
NetBSD a également de nombreux avantages dans ce domaine : des
abstractions kauth à veriexec, en passant par netpgp. Je m’attend à ce
que cette tendance s’accélère dans les années à venir.

Le stockage est depuis longtemps un des aspects différentiateurs de
NetBSD, avec des fonctionnalités telles que les initiateurs et cibles
iSCSI, l’innovant travail d’Antti Kantee sur les filesystems, son clone
reFUSE de FUSE, l’implémentation dans -current du Logical Volume Manager,
l’éternel driver RAIDframe qui sécurise de grandes quantités de données,
et l’import récent de ZFS dans -current. La stratégie “stockage” de
NetBSD a placé le système dans une superbe position. Je m’attend à
trouver de plus en plus de disques SSDs dans les 5 prochaines années,
et plus généralement à ce que les systèmes de stockages deviennent plus
hiérarchiques.
Je pense aussi que le volume de données va augmenter, mais à un rythme
plus raisonnable.

NetBSD a également été un acteur majeur dans la virtualisation, possédant
des ports des Dom0 et DomU Xen depuis 2004. Les gars tels que Manuel
Bouyer, Jean-Yves Migeon et Christoph Egger qui dépassent les limites
en portant Xen 3.3 dom0 et domU, ont mon plus total respect. Le support
de la virtualisation Xen dans NetBSD n’a peu ou pas d’équivalent.

Le licensing est un point interessant – la GPLv3 est disponible depuis
un moment maintenant, et nous constatons une tendance grandissante de
logiciels qui migrent vers la GPLv3. Personnellement, j’ai quelques
difficultés avec le licensing, en particulier en raison des brevets,
qui pourraient gêner les développeurs s’ils n’y prêtent pas attention.
Au contraire, la licence de NetBSD est concise, simple, compréhensible,
et n’a pas de clauses couteuses. Je n’ai aucun problème à la recommander
à des développeurs qui voudraient bénéficier d’une popularité maximale
(puisque les distributeurs de Linux n’ont aucun problème à integrer des
logiciels sous license BSD dans leurs produits), mais désireux de
protéger leurs arrières avec une license de poids.

Au final, NetBSD a évolué depuis sa création en 1993. À cette époque,
il y avait un motto non officiel “ça tourne sur n’importe quoi”. NetBSD
était capable de faire le grand écart entre de vieilles machines lentes
et d’énormes machines véloces, grâce à son excellent design; il est
nécessaire de souligner que cela est admirable. NetBSD tourne sur Acorn26
et sur des processeurs amd64/x86 multi-threadés avec des quantités
impressionnantes de mémoire vive. NetBSD va continuer à évoluer,
essentiellement grâce à son excellent design, sa formidable communauté
de développeurs, et nos passionnés et généreux utilisateurs-donneurs-
de-chocolat.

Pour finir, pour les lecteurs qui n’ont pas encore rejoint la communauté
NetBSD, pourquoi devraient-ils essayer NetBSD ?

agc: Je pense que les réponses ci-dessus devraient déjà partiellement
répondre à cette question. Ce qui rend NetBSD spécial, c’est son code
source.
C’est la base de tout. Mais autour de ce code source, il y a la conviction
de « faire ce qui est bien” qui émane de la communauté des développeurs
jusqu’à nos utilisateurs, nos distributeurs et les personnes qui
écrivent à notre sujet.

Nous ne *pensons* pas simplement que NetBSD est spécial
- nous *savons* que NetBSD est spécial.

Merci à Claude ‘zatmania’ Charpentier, Jean-Charles ‘anhj’ Bagneris ainsi qu’à Emile ‘iMil’ Heitor pour la relecture et la correction de cette traduction épique.

L’interview en VO sur blog.NetBSD.org