James Clark (né le à Londres) est un développeur anglais de logiciels libres très réputé dans les communautés SGML et XML pour ses bibliothèques et ses spécifications.
Biographie
Né à Londres, il fréquente l'école Charterhouse, puis étudie les mathématiques et la philosophie au collège Merton College (Oxford); son diplôme en poche, il s'interesse à l'informatique en lisant la documentation du système V7 « A Triumph of Simplicity: James Clark on Markup Languages and XML », Dr. Dobb's Journal, juillet 2001., notamment le manuel d'utilisation troff. Il se passionne à la fois pour TeX, qu'il utilise intensément, et pour le mouvement du logiciel libre, auquel il souhaite apporter sa contribution. Son premier grand projet consiste en une implémentation du standard logiciel UNIX de composition de documents, typiquement, du code traitant le texte. et dont on retrouve dans son projet groff toutes les différentes briques logicielles, y compris troff, , , ou . Le projet groff, rebaptisé depuis GNU Troff « GNU Troff (Groff) — a GNU project », gnu.org, 2 mai 2009., devient alors un paquet GNU notamment utilisé sous GNU/Linux pour le formatage des pages de documentation man « Writing man Pages Using groff », linuxjournal.com, octobre 1995..
Il fut ensuite très tôt reconnu dans le monde SGML, en écrivant deux parsers libres (sgmls, sp), et la spécification d'un langage de transformation (DSSSL, 1996) avec son implémentation de référence (Jade).
C'est tout naturellement qu'il fut contacté en 1998 par le W3C comme expert technique pour la norme XML, dont il a d'ailleurs proposé le nom « The Correct Title », xml.com, 1998., et pour lequel il écrivit un parseur de référence xp en Java, puis expat en C, puis comme éditeur principal d'XPath et d'XSLT (1999), eux aussi accompagnés d'une implémentation libre (xt).
Il est également coauteur d'un puissant langage de description de schéma, RelaxNG (2001), autour duquel il a notamment développé des outils de conversion (Jing « Jing », thaiopensource.com, 28 octobre 2008. et Trang « Trang », thaiopensource.com, 28 octobre 2008.), et un nouveau mode XML pour GNU Emacs « A new XML mode for Emacs with RELAX NG support », lists.oasis-open.org, septembre 2003., baptisé nxml, lequel valide à la volée tout document XML en cours d'édition, pourvu qu'il soit associé à un schéma RNC (la syntaxe compacte de RelaxNG).
Il s'est assuré une certaine indépendance financière par une opération sur la société SoftQuad, alors possesseuse de l'éditeur SGML/XML XMetaL. Il vit depuis en Thaïlande, continuant à s'investir pour le logiciel libre XML à travers sa société Thai Open Source Software Center. Dans son pays d'adoption, il se consacre actuellement à des œuvres de charité, et à la promotion du logiciel libre.
Cet anglais confirme que les avancées technologiques ont des noms, voire un style. Tim Bray, éditeur principal de la norme XML n'hésite pas à reconnaître tout ce que ce standard lui doit, dans un portrait « James Clark », Tim Bray- xml.com, 1998. dont la brièveté ne diminue pas l'admiration. On lui reconnaît une intelligence brillante de la simplification, appréciée dans l'élégance des langages qu'il définit. Son éthique, aussi, a influencé ; ses spécifications sont toujours illustrées par une implémentation logiciel libre de qualité commerciale. Il ajoute même cette précaution : selon lui, il ne faut pas que le logiciel qui prouve le concept soit si parfait qu'il décourage les projets concurrents, ce qui lui est arrivé avec SGML et DSSSL. Ainsi xt, le processeur qu'il écrivit initialement pour XSLT, a-t-il été rapidement supplanté par de nombreux processeurs plus complets et plus rapides, libres ou propriétaires.
Projets
, langage de transformation SGML et standard ISO 10179. , une bibliothèque de décomposition analytique XML écrite en C. nXML « Mode nXML », thaiopensource.org, 14 octobre 2004., une extension XML pour GNU Emacs réalisée en 2003 dont le code est officiellement intégré dans Emacs en « nXML - Richard Stallman », lists.gnu.org, 13 septembre 2007.. Suriyan « Suriyan », thaiopensource.org, 10 janvier 2012., une distribution GNU/linux orientée serveur basée sur Debian, adaptée aux besoins de petites entreprises.
Notes et références
Voir aussi Articles connexes SGML, XML, XSLT, XPath, RelaxNG.
Liens externes Site personnel. James Clark, Comparison of SGML and XML, comparaison de SGML et XML, W3C, 1997. Cette note est citée en référence non normative de XML, elle indique les règles à configurer dans un parser SGML pour qu'il soit conforme à XML. A Triumph of Simplicity: James Clark on Markup Languages and XML, « Triomphe de la simplicité : James Clark, langage de balisage et XML », interview de James Clark par Eugene Eric Kim, 2001. En quelques paragraphes, James Clark résume son parcours et ses idées technologiques, avec un éloge inattendu du parser XML/XSLT de Microsoft, de la part d'une grande figure du logiciel libre.
Catégorie:Naissance en février 1964 Catégorie:Naissance à Londres au XXe siècle Catégorie:Contributeur au projet GNU Catégorie:Étudiant de Merton College Catégorie:Emacs Catégorie:W3C Catégorie:XML