Roy Fielding : L'architecte du Web moderne
Quelque part entre 1994 et 2000, un étudiant diplômé à Irvine, en Californie, a fait deux choses qui n'arrivent presque jamais ensemble. Il a aidé à construire le logiciel qui faisait fonctionner la plupart des serveurs Web du monde, et il a écrit la théorie qui expliquait pourquoi le Web fonctionnait tout court. La première chose a fait de lui l'un des fondateurs de l'Apache Software Foundation. La seconde était une thèse de doctorat dont le cinquième chapitre a nommé un style architectural appelé REST — quatre lettres qui apparaissent désormais dans plus de descriptions de poste que toute autre idée issue d'un département d'informatique au cours des trente dernières années, et que presque personne parmi ceux qui les tapent n'a lues.
Laguna Beach
Roy Thomas Fielding est né en septembre 1965 à Laguna Beach, en Californie. Il s'est décrit lui-même, dans une formulation qui convient à un homme ayant passé sa carrière sur l'interopérabilité, comme « mi-maori, mi-kiwi, mi-yankee, mi-irlandais, mi-écossais, mi-britannique et mi-vagabond de plage californien ». Il n'a jamais quitté son domicile sur le plan académique : ses trois diplômes en informatique et en sciences de l'information proviennent de l'Université de Californie à Irvine — une licence en 1988, une maîtrise en 1993 et un doctorat en 2000.
Cette période de douze ans mérite que l'on s'y attarde. La majeure partie de ce qui a rendu Fielding important s'est produite pendant cette période, parallèlement à ses cours plutôt qu'après. Il n'était pas un universitaire qui a ensuite rejoint l'industrie, ni un ingénieur qui a ensuite collectionné les diplômes. Il faisait les deux en même temps, sur le même objet, durant les années exactes où l'objet était en train d'être inventé.
Le serveur qui a mangé Internet
Fielding a cofondé le projet Apache HTTP Server, le serveur Web open source qui est devenu l'infrastructure par défaut de l'Internet commercial naissant. Il a ensuite effectué le travail institutionnel ingrat que la plupart des fondateurs techniques évitent : il a été vice-président du projet HTTP Server, directeur de l'Apache Software Foundation de 1999 à 2003, et président pour ses trois premières années, de 1999 à 2002, restant au conseil d'administration jusqu'en mai 2014. Le modèle de fondation qu'il a aidé à établir — une structure juridique et de gouvernance permettant à des entreprises concurrentes de contribuer à un code partagé sans qu'aucune d'entre elles ne le possède — a depuis été copié dans toute l'industrie.
La reconnaissance est arrivée rapidement. Le serveur HTTP Apache a remporté le prix ACM Software System Award en 1999. Cette même année, la MIT Technology Review l'a nommé sur sa liste TR100 des meilleurs innovateurs de moins de trente-cinq ans, et en 2000, O'Reilly lui a décerné son prix Open Source Appaloosa pour sa vision.
Vingt questions, huit minutes au chronomètre et un centile mesuré face à tous ceux qui l’ont passé. Sans inscription.
Passer le test de QI →Écrire le protocole
La contribution plus profonde se trouvait dans les spécifications. Fielding était l'auteur principal de la spécification HTTP, et son nom figure sur les documents qui définissent la façon dont pratiquement chaque application en réseau communique encore. Il a rédigé ou co-rédigé la RFC 1808 sur les URL relatives, la RFC 1945 sur HTTP/1.0, la RFC 2068 puis la RFC 2616 sur HTTP/1.1, et la RFC 2396 et la RFC 3986 sur la syntaxe générique des identifiants de ressources uniformes. Il a également été très impliqué dans le développement du HTML.
La RFC 2616, en particulier, a régi le Web pendant bien plus d'une décennie, et la RFC 3986 reste le document qui répond à la question de savoir ce qu'est réellement une URL. Écrire une spécification de ce genre est une discipline étrange : ce n'est pas tant une invention qu'une législation, décrivant quelque chose qui existe déjà dans le monde avec suffisamment de précision pour que mille implémentations indépendantes soient d'accord entre elles. Fielding l'a fait pour le protocole le plus utilisé jamais déployé.
REST
Sa thèse de 2000, Architectural Styles and the Design of Network-based Software Architectures, est le compte-rendu théorique de tout cela. Son argumentaire fonctionne à l'inverse de la direction habituelle de la conception logicielle. Plutôt que de proposer un système, Fielding a proposé un vocabulaire de styles architecturaux — des ensembles de contraintes — et a demandé quel ensemble de contraintes produit les propriétés dont un réseau mondial, décentralisé et évolutif a besoin. La réponse qu'il a dérivée et nommée était Representational State Transfer : un style client-serveur, sans état, pouvant être mis en cache, à interface uniforme, en couches, dans lequel les éléments sont des ressources et les clients se déplacent dans l'application en suivant l'hypermédia que le serveur leur donne. En 2000, il a inventé le terme HATEOAS — Hypermedia As The Engine Of Application State — pour cette dernière contrainte.
La thèse était, en fait, une explication rétroactive des raisons pour lesquelles le Web avait survécu à sa propre croissance explosive alors que des systèmes distribués mieux conçus ne l'avaient pas fait. Elle est devenue le document architectural le plus cité de l'industrie.
Waka
Il a également essayé d'aller au-delà. Entre 2001 et 2006, Fielding a travaillé sur Waka, un remplacement binaire basé sur des jetons pour HTTP destiné à correspondre au style REST plus efficacement que le protocole texte qu'il avait lui-même spécifié. Il n'a jamais été terminé ni déployé. Le Web a continué à fonctionner sur HTTP.
Pourquoi Roy est qualifié de génie
La faculté spécifique ici est l'abstraction architecturale : la capacité de regarder un système fonctionnel, désordonné et historiquement accidentel, et d'en extraire le petit ensemble de contraintes qui expliquent réellement ses propriétés. Fielding a compris pourquoi le Web fonctionne — pourquoi l'absence d'état permet l'évolutivité, pourquoi une interface uniforme permet une évolution indépendante, pourquoi la mise en cache et la superposition permettent à des intermédiaires d'être insérés par des parties que les concepteurs originaux n'ont jamais rencontrées. Ayant dérivé cela, il l'a ensuite utilisé comme discipline de conception, orientant HTTP/1.1 et les normes URI afin que la croissance du Web ne détruise pas les propriétés que son analyse qualifiait de porteuses de charge. Faire la théorie, la rédaction des normes et l'implémentation de référence simultanément, sur une infrastructure utilisée par des millions de personnes alors qu'il travaillait, est la partie vraiment inhabituelle.
Le contre-argument est juste. Sa réputation repose essentiellement sur une idée et les documents qui l'encodent. Son prix majeur, l'ACM Software System Award de 1999, a été décerné au serveur Apache — un produit collaboratif — et aucune source consultée ici ne rapporte qu'une autorité l'ait qualifié de génie. Sa tentative d'avancer au-delà de son propre protocole, Waka, a duré cinq ans et n'a mené nulle part. Et le destin de REST est une forme d'inculpation de la clarté : une idée dont le nom est désormais appliqué sans distinction à toute interface qui renvoie du JSON sur HTTP, la plupart ignorant la contrainte hypermédia qu'il considérait comme essentielle. C'est de l'influence, mais ce n'est pas la même chose que d'être compris.
Héritage
Fielding a évolué dans l'industrie sans jamais quitter le sujet : scientifique en chef chez eBuilt de 1999 à 2002, scientifique en chef chez Day Software puis Adobe de 2002 à 2010, et scientifique principal senior chez Adobe à San José depuis. Il énumère ses intérêts de recherche clairement — le World Wide Web, l'architecture logicielle pour les applications basées sur le réseau, les protocoles réseau de couche application, les méthodes de développement logiciel collaboratif et les environnements mondiaux d'ingénierie logicielle — et a passé trente ans exactement sur ces sujets.
La mesure de son travail est qu'il est invisible. Chaque requête Web obéit à des règles qu'il a écrites ; chaque URL est légale parce qu'un document portant son nom définit ce que signifie légal ; chaque ingénieur qui dit « API REST » invoque, généralement de manière inexacte, un chapitre d'une thèse d'Irvine. L'infrastructure est la seule forme de paternité qui réussit en étant oubliée, et Fielding a été oublié plus complètement que la plupart.

