INTERVIEWS 
 
Nicolas Lehuen
Directeur technique
The CRM Company
Nicolas Lehuen (mod_python)
"Trop d'ouverture nuit à l'efficacité"
Il est un des rares développeurs habilités à modifier le code source du projet Apache mod_python. Nicolas Lehuen se pose en défenseur du modèle clos face aux tenants de l'ouverture à outrance.
07/11/2005
 
  En savoir plus
 The CRM Company
Dossier Logiciels libres/Open Source
  Le site
mod_python
Dans quels projets êtes-vous ou avez-vous été impliqué ?
Je participe actuellement au projet mod_python. Il s'agit d'un module Apache permettant d'intégrer un interpréteur Python, et de programmer des applications Web en Python. C'est l'équivalent de mod_php ou mod_perl, qui intègrent respectivement un interpréteur PHP et Perl dans le serveur Apache. mod_python est utilisé ou supporté par un grand nombre d'applications ou de frameworks Web écrits en Python.

Où trouvez-vous le temps de vous occuper de projets non rémunérateurs ?

Je ne regarde pas la télévision ! Je suis un passionné d'informatique, j'en fais mon hobby. J'ai toujours travaillé sur des projets personnels et non rémunérés, pour m'autoformer, par curiosité ou par passion. Pour moi, travailler sur un projet Open Source, c'est continuer sur ce principe de hobby, mais en m'impliquant dans des projets utiles à une communauté. C'est plus gratifiant que de travailler sur des projets personnels qui ne profitent à personne. Maintenant, je suis père d'une petite fille depuis deux mois et je dois avouer que mes priorités ont tendance à être sévèrement chamboulées...

Avez-vous eu des difficultés à entrer dans le milien du logiciel libre ?
Cela se fait tout naturellement. On commence par utiliser un logiciel Open Source. Un jour on rencontre une difficulté, une erreur dans la documentation, un bug... On commence à poser des questions sur les forums, à lire un peu le code source, à voir d'où peut venir le problème. On signale une erreur en proposant une correction, qui va être évaluée puis intégrée, et voilà ! Le niveau d'implication varie par la suite selon son temps libre, ses compétences et ses envies.

Ce qu'il faut comprendre, c'est qu'un projet ouvert n'est pas un environnement idyllique. On peut fréquemment y observer des altercations entre membres d'une communauté. Les personnalités sont souvent fortes dans le monde du logiciel libre, d'autant plus lorsque les participants travaillent pour la gloire. Chacun cherche alors à se mettre en avant et à pousser ses propres innovations, ce qui peut conduire à la zizanie dans le groupe.

je ne suis pas un fan inconditionnel du modèle Open Source"
Le libre est-il donc accessible à toute personne de bonne volonté ?
La vraie difficulté consiste à trouver sa place dans une communauté dont on ne connaît en général pas les membres, qu'on ne rencontrera que très rarement. Les quiproquos sont nombreux lors d'échanges de mails, et ce d'autant plus lorsque la barrière de la langue intervient...

Il faut alors adopter une attitude dite "professionnelle", sauf que dans le monde professionnel, le facteur hiérarchique impose une certaine structure aux débats. Dans le monde libre, la hiérarchie est beaucoup plus informelle, lorsqu'elle existe. La méritocratie est préférée, mais la mesure du mérite est très difficile. On pourrait se baser sur la qualité du code produit, malheureusement cela ne laisse pas beaucoup de places aux nouveaux entrants, qui par définition ne peuvent directement intégrer leur travail au projet. Par conséquent, ceux-ci doivent compenser en faisant la promotion de leur travail sur les forums, ce qui lance des débats sans fin.

Que représente pour vous le monde l'Open Source et du libre ?
Disons-le tout de suite, je ne suis pas un fan inconditionnel du modèle open source. Déjà, quand on parle d'Open Source, de libre ou de gratuit, on entretien une confusion générale qui mérite explication. Je vois le monde du logiciel libre sous deux angles d'approche : le développement, et la distribution.

Le développement logiciel, pour commencer, se décompose en trois catégories : développement fermé - ce qui correspond à la plupart des développements commerciaux, et même gratuits comme Skype -, développement transparent - le langage Java, par exemple, donne accès à son code, mais tout le monde ne peut pas y participer -, et le développement ouvert, où le code est ouvert aux volontaires, au travers d'une communauté.

Pour ce qui est de la distribution du logiciel, c'est une question de licences, où l'on trouve quatre catégories principales : liberté sans condition - ou domaine public -, liberté sous condition de citation, liberté sous conditions contagieuses, et non-liberté.

Derrière le concept de libre ou d'Open Source se cachent donc de nombreuses nuances, notamment dans les motivations des développeurs. D'un projet "libre" à l'autre, les objectifs et donc le mode de travail peuvent changer du tout au tout.

Ceux qui luttent contre le monde fermé négligent leurs propres faiblesses"
Vous semblez mettre ici développement ouvert et clos sur un pied d'égalité...
Je pense même que le modèle clos a également ses avantages. Le développement logiciel est un art complexe, et il me semble qu'un environnement professionnel, structuré, coordonné, avec des groupes de travail partageant les mêmes locaux, ou bénéficiant du regroupement d'équipes, permet d'obtenir de meilleurs résultats plus rapidement. L'innovation peut se propager également plus vite en environnement professionnel, puisqu'une équipe dirigeante peut imposer le développement dans une nouvelle direction sans devoir en débattre pendant des années sur des forums

Je pense que les ayatollahs qui hurlent contre le monde fermé - et principalement contre Microsoft en oubliant trop souvent Apple - négligent de prendre en compte leurs propres faiblesses.

Le monde Open Source a un problème éminemment humain à résoudre : comment des étrangers complets, ne parlant pas tous nativement la même langue, avec des niveaux de compétences, des objectifs et des motivations très variables, le tout sans système hiérarchique légitime, peuvent arriver à coopérer et à construire des projets qui soient compétitifs avec le monde professionnel ?

Voyez-vous un mouvement de professionnalisation du logiciel libre ?
Si le monde du libre devrait chercher à combler ses lacunes face au monde professionnel, le monde professionnel a très bien senti le parti pouvant être tiré du monde du libre.

De nombreux éditeurs ont compris l'avantage marketing que l'on peut tirer de l'Open Source. De gros éditeurs ont "ouvert" leur progiciel : le code source est plus ou moins disponible. C'est du domaine de la transparence plutôt que de l'ouverture réelle.

Le métier de l'édition de logiciel s'appuyant de plus en plus sur les revenus complémentaires du conseil et de l'intégration, c'est un mouvement logique. Toutefois, cela ne constitue pas à proprement parler une professionnalisation du logiciel libre, mais une stratégie de vente du monde professionnel qui utilise des ressorts du monde libre. Même chose pour les soi-disant SSLL : je ne vois guère de différence sur le fond entre une SSII qui vend de l'intégration généraliste et une SSLL qui vend de l'intégration spécialisée dans les logiciels libres.

Il s'agit ici du monde commercial qui utilise les principes du libre. Et l'inverse ?
Le seul contexte où l'on observe une véritable professionnalisation du logiciel libre, c'est lorsque des ressources financières interviennent directement dans l'exécution d'un projet libre, par exemple lorsque IBM soutient financièrement et en ressources humaines le développement de Linux, ou que la communauté européenne subventionne un projet Python comme Pypy. On a alors des personnes qui sont rémunérées pour travailler sur des projets libres, ce qui change fondamentalement leur motivation, voire leur implication.

Certains projets disposent d'un "dictateur bénévole" : cela accélère les choses
Vous semblez avoir des idées bien arrêtées. Vous considérez-vous comme un activiste du libre ?
Non, pas vraiment, je participe à mon niveau, et je suis loin d'être un ayatollah. Je pense simplement que le monde du développement fermé a ses avantages, à commencer par une structure et une hiérarchie établie, qui permettent à leurs projets d'avancer plus vite. Pour commencer, cette hiérarchie leur permet de couper court aux conflits humains.

Le libre, par son principe de méritocratie et de consensus, prend le risque de s'embourber dans de longs débats. Ils sont bien sûr utiles, et mettent en avant les critères de rentabilités différents des projets non rémunérés : on y cherche la qualité et l'efficacité.

Certains projets, à commencer par Python, disposent d'un "dictateur bénévole", qui donne son avis plus ou moins radical, et en cas de trop long débat, finit par trancher. Cela accélère les choses. Cette idée de consensus est un inconvénient nécessaire de l'Open Source. Trop d'ouverture nuit à l'efficacité.

Quels sont vos espoirs pour l'avenir du Libre ?
Avant tout que les aspects sociaux évoluent. Que cessent les guerres de tranchées néfastes à l'avancement des petits et gros projets, que disparaissent les complexes d'infériorité ou de supériorité - au choix - vis-à-vis du monde professionnel, et notamment de Microsoft.

Également, que les projets libres fassent un effort côté documentation, simplification, ergonomie et formation afin que toutes ces ressources libres de droit soient plus facilement exploitables par les milliards de personnes défavorisées de par le monde.
 
Propos recueillis par Xavier Borderie, JDN Développeurs

PARCOURS
 
 
Nicolas Lehuen, 29 ans, est directeur technique de The CRM Company, depuis 2002.

1999 Consultant puis chef du pôle R&D chez Ubicco.

1997 Developpeur puis chef de projet technique chez Fi System.

Et aussi diplômé de l'INSA Rouen, en 1998.