Après le Summer of Code

Gazette Linux n°119 — Octobre 2005

Jimmy O'Regan

Article paru dans le n°119 de la Gazette Linux d'octobre 2005.

Traduction française par Sébastien Duburque .

Réécriture et relecture de la traduction française par Joëlle Cornavin .

Article publié sous Open Publication License. La Linux Gazette n'est ni produite, ni sponsorisée, ni avalisée par notre hébergeur principal, SSC, Inc.


Table des matières
1. Les suites
2. Les projets
3. Nombres de postulants retenus par projet
3.1. Google
3.2. KDE
3.3. Mozdev
3.4. XWiki
3.5. Python
3.6. Lisp NYC
3.7. Gallery
3.8. Project Looking Glass
3.9. Inkscape
3.10. Nmap
3.11. WinLibre
3.12. Codehaus
3.13. GNOME
3.14. Jabber
3.15. Fedora Core
3.16. Internet 2
3.17. Bricolage
3.18. Horde
3.19. Mono
3.20. Handhelds.org
3.21. The Perl Foundation
3.22. Drupal
3.23. Portland State University
3.24. Monotone
3.25. Apache Software Foundation
3.26. Subversion
3.27. Gaim
3.28. NetBSD
3.29. Oscar
3.30. Semedia
3.31. Samba
3.32. Blender
3.33. Ubuntu
3.34. Wine
3.35. OhioLink
3.36. Mambo
3.37. FreeBSD
3.38. OpenOffice.org

L'un des plus grands événements dans l'Open Source cette année a été produit par l'annonce de Google du Summer of Code : un projet pour encourager les étudiants à participer au développement de projets open source pendant les vacances d'été.

Google s'est allié à un certain nombre de groupes de « mentors », dont chacun a fourni une liste d'idées de projets aux postulants pleins d'espoir. Ces derniers pouvaient ensuite faire une proposition écrite pour Google®, qui a trié la liste des postulants par projet et proprosé aux groupes de mentors une liste, avec un nombre de postulants qu'ils pouvaient choisir.

La date limite pour les applications était le 14 juin ; les postulants retenus ont été avertis le 25 juin, pour pouvoir remettre leur projet pour le 1er septembre. La liste des projets retenus a été présentée le 1er octobre. (J'ai essayé d'établir une liste des projets, triés par association responsable, que j'ai placée en annexe de cet article.)

Les heureux participants reçoivent 3 750 euros pour leurs efforts et 417 euros de plus pour l'organisation tutrice. Bien que Google ait eu à l'origine l'intention de sélectionner 200 postulants, les réponses furent si nombreuses (8 700 ont été relevées) qu'ils ont en finalement choisi 410.

Cet article, contenant des conseils pour de futurs postulants, explique comment les sélections ont été effectuées :

[ Nous avons reçu 126 applications. Nous en avons sélectionné 12 pour approbation. Comme Google® nous a donné 10 créneaux, donc les 10 premiers choix ont été pouvus. Il était très facile d'en refuser peut-être un tiers des applications qui étaient très indigentes, en effet. D'où le public peut-il croire que couper et coller mon propre texte depuis la description d'un projet valait plus de 3 750 euros ? Qui sont ceux qui pensent obtenir une bourse avec des applications d'une ligne ou d'un paragraphe ? Certaines d'entre elles ont été écrites par des personnes ayant des curriculum vitae impressionnants. Il était évident qu'elles pouvaient faire mieux. ]

À la différence des bounties [1] de projets open source (Novell®, par exemple, a annoncé une suite de Gnome Bounties il y a quelques mois), le Summer of Code était strictement réservé aux étudiants. Il n'y avait aucune restriction en termes de nationalité, mais une preuve d'appartenance à un établissement de troisième degré était une condition en plus de la proposition, dans laquelle un mérite universitaire devait être démontré et des résultats définis.


1. Les suites

Google a été largement applaudi pour son idée de Summer of Code, bien qu'il y ait eu des critiques. La quantité d'argent en jeu en particulier a été une source de plaintes, comme étant bien au-dessous de ce qu'un stagiaire gagnerait aux États-Unis. Il y a également eu des problèmes pour les participants en dehors des États-Unis. Bien que les étudiants américains n'aient pas à payer de taxe sur l'argent provenant du Summer of Code, cela ne s'applique pas aux non Américains. Les participants venant de pays qui n'ont pas signé de conventions fiscales avec les États-Unis devront payer des taxes, la taxe américaine et la taxe local s'appliquant l'une et l'autre.

Il y a eu quelques plaintes à propos du choix des projets. Un projet qui a été choisi à été jugé comme un gaspillage de fonds, The Sneaky Snakes, un clone de serpent en Python, parrainé par le projet WinLibre. (À mon avis, cette organisation mérite des critiques pour le gâchis des fonds. Non pour avoir choisi le clone du serpent, mais pour avoir choisi trois logiciels de mise à jour séparés mais similaires.)

Il y a eu aussi une certaine déception pour ceux qui n'ont pas été acceptés. Le site Summer of Rejects présente une liste des idées rejetées et la liste de discussion summer-discuss (groupe Google) a eu quelques messages de personnes qui avaient l'intention de terminer leurs projets sans financement. (Je n'ai trouvé aucune preuve de cet événement, cependant.)

Le processus n'a pas été sans problème pour les tuteurs non plus. Dans ce message à la liste de discussion wine-devel, Jeremy White de Codeweavers écrit 

[ Pour être honnête, nous sommes un peu responsables de cette situation ; je pense que Google s'est jeté dans ce projet sans être aussi préparé que vous pourriez autrement l'espérer, et il y a eu des défis dans toute cette entreprise. Nous sommes toujours en grande partie ignorants à propos des responsabilités des mentors du point de vue de Google, par exemple.) ]

Plusieurs des organisations tutrices ont déjà lancé leurs propres bounties. Certain d'entre eux ont mentionné la crainte que le Summer of Code ait un effet négatif sur les bounties offerts par les projets open source :

[ Travailler « gratuitement » est une chose ; être payé pour travailler sur des logiciels « gratuits » et open source en est une autre. Le financement de Google des divers projets n'a pas soulevé de problèmes notables, quoiqu'il puisse avoir suscité des attentes pour l'avenir. ]

[ « Une question mineure pour nous est que l'offre de récompense est tout à fait considérable et était, dans la plupart des cas, plus importante que ce que le bounty aurait atteint dans le système de bounty employé au sein du projet Ubuntu », affirme le porte-parole d'Ubuntu. ]

[ « Cette attente devra être gérée ». ]

(Je pense qu'il est juste de dire que Ubuntu aurait se présenter avec une liste de projets spécifiquement pour le Summer of Code, au lieu de simplement se concentrer sur leur tâche existante, ils n'auraient alorspas eu ce problème).

Il y a eu aussi quelques cas étranges. Ce message sur la liste de diffusion du Summer of Code affiche un événement courant dans l'open source : le postulant a trouvé un autre projet qui fait pratiquement la même chose que celui qu'il a proposé.

[ Maintenant c'est un peu délicat : commitmessage.tigris.org est un projet séparé de Subversion. Pourtant une partie de l'intérêt du Summer of Code est pour l'étudiant de travailler réellement avec l'organisation tutrice désignée -- qui dans ce cas est le projet Subversion. Nous avons donc une situation peu commune ici. Brian a soumis son code à commitmessage.tigris.org, qui est entièrement maintenu par une seule personne, Stephen Haberman. Cependant, son organisation tutrice est le projet Subversion, qui compte trente à quatre vingts développeurs (selon la manière dont vous comptez) et, naturellement, la dynamique des deux projets est clairement différente. Le Summer of Code de Google est plus adapté à la seconde situation : il est censé donner à des étudiants une chance de travailler avec de grande équipes et leur mécanisme de collaboration. ]

Chris DiBona, de Google, qui était la face publique du Summer of Code, a exprimé un espoir de répéter le Summer of Code, mais le succès de la compétition de cette année devra d'abord être déterminé.


2. Les projets

Les informations disponibles sur les projets choisis ont été quelque peu inégales : ironiquement, les projets parrainés par Google sont parmi les plus difficiles sur lesquels trouver des informations.

Plusieurs des participants ont détaillé leurs progrès dans leur blog : certains d'entre eux sont disponibles sur PlanetSoC. On peut aussi trouver une galerie de photos de certains des participants.

Dans certains cas, le travail était assez bon pour être publié : Mono 1.1.9 contient le travail du Summer of Code sur le JScript et le navigateur MonoDoc, Wine 20050830 offre la gestion des thèmes et le travail de Mozilla, etc.

Beaucoup de projets étaient le genre habituel des tâches de développement disponibles en open source, ce qui est compréhensible puisque les participants n'avaitent que deux mois pour mener à bien leurs projets.

Certains, cependant, étaient des idées très ambitieuses. « JavaEye , un des projets du Project Looking Glass, a la phrase suivante en introduction de sa proposition : « Quelqu'un a-t-il vu Minority Report ? Avez-vous vu Tom Cruise utiliser juste ses mains se déplaçant dans un espace 3D pour contrôler l'ordinateur ? Voulez-vous le faire dans la prochaine génération de Java Desktop ? Si oui, je peux faire en sorte que cela devienne réalité. » Peut-être était-ce un peu trop ambitieux (au moment où j'écris ces lignes, aucun code n'avait été publié), mais c'est certainement une idée fascinante.

Gnome et Gaim avaient des idées similaires. CamTrack (Gnome) est une aide d'accessibilité, qui permet à l'utilisateur de déplacer le curseur de la souris avec le mouvement de sa tête via une webcam. CamTrack est disponible en téléchargement. CrazyChat (disponible sur le CVS de Gaim) détermine les expressions faciales et les mouvements de la tête, également via une webcam et contrôle un avatar en 3D à l'aide de ces informations.

L'université d'État de Portland a, parmi d'autres projets ambitieux, un logiciel d'implémentation da la norme 802.11 ; KDE à un explorateur de balises de type del.icio.us pour le système de fichiers ; Gaim contient un éditeur de code collaboratif... Je pourrais lister mes idées de projets favorites, mais comme j'ai mis un certain temps, choisissez dans ce qui suit !


3. Nombres de postulants retenus par projet

Je n'ai pu trouver aucune information sur les projets choisis par JXTA, LiveJournal ou Asterisk.


3.1. Google

  • Tsync : comme une version automatisée de rsync (dans la brève)

  • LFS : un système de fichiers journaux structuré pour Linux, qui prend en charge les instantanés (snapshot) (blog)

  • Query by Example : des requêtes plus « naturelles » pour PostgreSQL (Détails)


3.2. KDE

KDE à reçu la deuxième plus grande quantité de développeurs du Summer of Code et présente donc une liste de projets impressionnante (la majorité du code est disponible dans la section playground du référentiel SVN de KDE).


3.3. Mozdev

Mozdev (projets) est un site similaire à Sourceforge pour les développeurs d'extensions Mozilla.

  • BugXula : interface XUL pour Bugzilla

  • Cockatoo : client de téléphonie SIP pour Thunderbird

  • EventLogger : une macro avancée et un outil de création de cas de test pour Firefox

  • Firefoxinhindi : localisation en hindi de Firefox

  • firepuddle : client BitTorrent construit avec XUL/XPCOM

  • MozLv : localisation en letton de Mozilla

  • MultiExl : installation d'extensions Mozilla/Firefox sur plusieurs machines

  • Muzzled : un constructeur de thèmes graphiques pour Mozilla

  • Thailocalization : localisation en thaïlandais de Firefox et Thunderbird

  • vi : localisation en vietnamien de Firefox


3.5. Python

Comme beaucoup d'autres projets, Python a coordonné ses projets du Summer of Code grâce à une liste de diffusion et sur un wiki.


3.7. Gallery

Bien que Gallery ait mis en place un groupe Google pour les projets, il est pratiquement inutilisé. Il a également créé un projet Sourceforge, qui heureusement n'existe plus.

  • Importation de Picasa

  • Interface XMLRPC

  • Albums cachés

  • Albums protégés par mot de passe

  • Protocole à distance

  • Gestion de modules externes téléchargeables

  • Intégration de Zen Cart

  • Gestion du RSS


3.8. Project Looking Glass

Project Looking Glass est un bureau 3D reposant sur Java de Sun®.La plupart des projets ici sont des réimplémentations des utilitaires de bureau communs, avec un effet 3D. Le code de ces projets est disponible via le projetlg3d-incubator, sur java.net.


3.10. Nmap

En dehors de l'annonce des projets sélectionnés, je n'ai pas pu trouver d'autres informations sur les projets nmap.

  • Clone de netcat et un modificateur de paquets

  • Interface graphique utilisateur reposant sur Qt (pour les utilisateurs avancés, avec de grands ensembles de données)

  • Amélioration de la détection de la base de donnée

  • Amélioration des ports Windows (3 étudiants travaillent sur ce projet)

  • Nouvelles méthodes de détection de systèmes d'exploitation)

  • Une interface graphique utilisateur reposant sur PyGtk

  • Ajout de la prise en charge de scripts

  • Amélioration des performances


3.12. Codehaus

Projets


3.13. GNOME

Projets

  • Gestion des dossiers chiffrés

  • gShrooms : partage d'espaces musicaux

  • SearchParty : une extension pour Firefox et Epiphany qui crée des groupes de discussion pour les personnes qui font des recherches similaires sur le Web

  • Serveur DAAP/prise en charge du DAAP pour les boîtes à rythmes (DAAP est le protocole qu'emploie iTunes pour partager de la musique : consultez ce blog)

  • Outil pour la ligne de commande

  • Live Documentation Editing : un système similaire au wiki qui génère des manuels DocBook

  • library.gnome.org

  • Amélioration du temps de démarrage de GNOME

  • Contrôle de révision de documents dans Nautilus

  • CamTrack : suivi des mouvements du visage

  • Courrier dans le style de Gmail pour Evolution

  • Groupes d'applets de panneaux


3.14. Jabber


3.15. Fedora Core

Très peu des projets Fedora sont propres à Fedora, et la plupart ont trait à des améliorations générales pour Linux.


3.16. Internet 2

Les informations sur les projets Internet 2 sont plutôt rares. La seule que j'ai pu trouver se trouve dans un ensemble de minutes (faites défiler le texte presque jusqu'à la fin). Je dois admettre que cela n'a guère de signification pour moi.

  • Présence de Rich

  • thrulay : un outil de mesure (2 étudiants)

  • Bibliothèque de chronométrage reposant sur TSC (2 étudiants)

  • Calibration du bruit (2 étudiants)

  • API pour Bulk Transport (2 étudiants)

  • Transport de l'espace d'utilisateur


3.17. Bricolage

Vous trouverez leurs projets ici.

  • Ajout de chaînes d'entrée

  • Nouveaux extraits de types et modèles de documents types

  • Port Bricolage sous Apache2/mod_perl 2 et sous Windows

  • Port Bricolage sous Mysql


3.18. Horde

À l'instar des projets du Summer of Code, Horde a aussi une page de bounties


3.19. Mono

Le blog de Miguel de Icaza offre un résumé de l'état des Projets du Summer of Code, entre autres choses.


3.21. The Perl Foundation

Sur la page de projets, les projets Perl dont vous trouverez les liens ci-dessous, sont répertoriés avec des entretiens avec leurs créateurs, à part pour BitTorrent (entretien) et WWW::Kontent (entretien, journal).


3.22. Drupal

Projets

  • Module de quiz (2 étudiants)

  • Module d'abonnement

  • Intégration de NNTP

  • Test automatisé (2 étudiants)

  • Implémentation de l'API de Upcoming.org

  • Interface WebDAV

  • Module TODO

  • Cartes de sites de Google

  • Interface AJAX


3.23. Portland State University

En tant qu'université, il n'est pas surprenant que le mérite universitaire de ces projets soit très élevé. (Consultez également certains des autres projets réalisés par la « classe OSS »).


3.24. Monotone

Ces informations ne sont pas disponibles sur le site web de Monotone. Merci à Nathaniel Smith d'avoir fourni celles-ci. Il a également indiqué que tous les postulants étaient retenus.

  • Petr Baudis : Importation/exportation monotone<->git

  • Timothy Brownawell : implémentation plus avancée de la gestion de la fusion (quelques nouveaux algorithmes pour la fusion textuelle et la fusion de la disposition arborescente qui apportent une amélioration par rapport à la fusion 3-way traditionnelle)

  • Kaushik Veeraraghavan : accélération de la bibliothèque de cryptographie Botan, de sorte que nous pouvons passer à celle-ci depuis Crypto++. Non content d'être maintenant conçu, implémenté et documenté de manière beaucoup plus soignée (malgré quelques bogues d'aliasing un peu obscurs), Botan est également plus rapide que Crypto++ pour les opérations qui nous intéressent...


3.27. Gaim

Gaim a été une des organisations tutrices les mieux documentées du Summer of Code. À la fois en tant que page de projets offrant des descriptions très claires de chaque projet, ils ont également fourni un espace de blog pour chaque participant, ainsi qu'un agrégateur Planet Summer of Gaim.


3.28. NetBSD

Quelques-uns, s'il y a lieu, des projets NetBSD s'appliquent à Linux, mais je les ajoute pour être complet.

  • tmpfs : mémoire rapide reposant sur le système de fichiers

  • wcurses : prise en charge des gros caractères pour curses

  • bpg : version de PGP sous licence BSD

  • zeroconf : consultez Howl pour Linux

  • userfs : systèmes de fichiers de l'espace utilisateur

  • ndis : NDISwrapper pour NetBSD

  • hfs : prise en charge du HFS+


3.29. Oscar

Projets

  • Paquetage SGE

  • OSCAR sur Debian

  • Paquetage de bioinformatique

  • Portail web


3.30. Semedia

La page des projets de Semedia n'est pas très claire à ce propos : je pars du principe que les projets qui se sont vus affecter un mentor sont les projets en cours d'élaboration.

  • FOAF Smusher : un projet pour aider à déterminer si deux concepts foaf:Person décrits sont la même personne

  • SPARQL pour Sesame

  • Requêtes distribuées

  • Navigateur RDF générique

  • MVC pour la sémantique du Web

  • Services pour BuRST


3.31. Samba

Tout en proposant une liste de discussion et un espace de blog (inutilisé), l'équipe Samba a offert un espace pour les projets du Summer of Code sur le site web de leurs projets.


3.34. Wine

La liste des projets apparaît dans la brève hebdomadaire de Wine, avec une note de déception du fait qu'au moins un projet a été abandonné et qu'il n'y a pas de code pour une autre.

Parmi ces projets, Mozilla, les thèmes, DirectInput ont été ajoutés au CVS de Wine.

  • Intégration de Mozilla

  • Prise en charge des thèmes

  • Améliorations de DirectInput

  • Authentification compatible avec NT (utilisant l'outil ntlm_auth de Samba)

  • Compatibilité de Wire avec DCOM (pas de code)

  • Active Server Pages (abandonné)


3.35. OhioLink


3.38. OpenOffice.org

Encore une fois je déclare forfait, bien que j'aie tout de même réussi à trouver un projet.

Jimmy est père célibataire d'un enfant, qui aime les longues marches.

Jimmy utilise des ordinateurs depuis sa plus tendre enfance, depuis l'âge de 7 ans, quand son père a hérité d'un PCW8256 Amstrad®. Après quelques petites incursions dans le monde Atari ST® et nombre de versions de DOS et Windows, Jimmy s'est initié à Linux en 1998 et n'est jamais revenu en arrière.

À ses heures perdues, Jimmy aime jouer de la guitare et lire.

Notes

[1]

Ce sont des fondations pour aider au développement de projets open source. (N. d. T.).