Copyright © 2005 Jimmy O'Regan
Copyright © 2005 Sébastien Duburque
Copyright © 2005 Joëlle Cornavin
Article paru dans le n°119 de la Gazette Linux d'octobre 2005.
Traduction française par Sébastien Duburque
<SebastienDuburque CHEZ gmail POINT com>
.
Réécriture et relecture de la traduction française par Joëlle Cornavin
<jcornavi CHEZ club TIRET internet POINT fr>
.
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.
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.
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é.
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 !
KDE : 24
FreeBSD : 20
Mono : 16
Gaim :15
Ubuntu Linux : 14
Fedora Core : 13
Google : 13
Gnome : 12
Gallery : 12
Codehaus : 12
Drupal : 11
WinLibre : 10
OpenOffice.org : 10
nmap : 10
Mozdev (Mozilla) : 10
Jabber : 10
Internet2 : 10
Blender : 10
Lisp NYC : 9
Subversion : 8
NetBSD : 8
Xwiki : 7
Handhelds.org : 7
Wine : 6
Semedia : 6
Samba : 6
Mambo : 6
Oscar : 4
LiveJournal : 4
Inkscape : 4
Horde : 4
Bricolage : 4
Asterisk : 4
Ohiolink : 3
Monotone : 3
JXTA : 3
Je n'ai pu trouver aucune information sur les projets choisis par JXTA, LiveJournal ou Asterisk.
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).
Sous-système de scriptage/modules externes commun pour Kontact
Intégration de la voix sur IP/vidéoconférence dans Kontact/KDE
Kamion : outil de migration d'état utilisateur pour KDE
Label Browser : étiquettes dans le style de GMail sous Konqueror
Living KDE : utilise les balises et la recherche de concepts pour organiser des documents
Nokey : contrôle complet d'un ordinateur en utilisant seulement la souris
oKular : un afficheur d'applications unifié
Project Knoware : un projet pour « deviner » (et résoudre) les problèmes communs des utilisateurs
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
Comme beaucoup d'autres projets, Python a coordonné ses projets du Summer of Code grâce à une liste de diffusion et sur un wiki.
Implémentation du DAP (Data Access Protocol)
Bitten : un framework Python pour collecter des métriques de logiciel à partir de compilations automatiques
Python Bayesian Network Toolbox : boite à outils Python pour les réseaux bayésiens
Améliorations de Shedskin : (Shed Skin est un compilateur Python vers C++)
Blocs-notes interactifs en Python (2 étudiants)
Portage de _sre.c et de arraymodule.c vers Python (pour des implémentations alternatives en Python telles que PyPy)
Virtualisation orientée objet des systèmes de fichiers
Interface graphique utilisateur Wax pour Python (non terminé)
PyTrails
mmpy : collection de boites à outils pour les ramasse-miettes
Conditionnement des modules Python (pour Ubuntu)
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
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.
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
Winlibre (projets) est un projet qui se propose de fournir des logiciels open source pour Windows.
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
Couche de transport DBus
Améliorations pour xmppd.py
Amélioration de gloox
Intégration de XMPP/JADE
Amélioration de la sécurité de la messagerie Jive
Projet de test de conformité
Interface HTTP Jabber
Très peu des projets Fedora sont propres à Fedora, et la plupart ont trait à des améliorations générales pour Linux.
Preload : un démon intelligent de lecture anticipée (il détermine quelles sont les applications que vous utilisez le plus souvent et précharge leurs bibliothèques en arrière-plan)
Kadischi : un générateur de liveCD
pyBackPack (tar) : un outil de sauvegarde à distance qui peut effectuer des sauvegardes distantes avec SSH
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
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
À l'instar des projets du Summer of Code, Horde a aussi une page de bounties
Module éditeur de texte/traitement de texte Word
Installeur
Le blog de Miguel de Icaza offre un résumé de l'état des Projets du Summer of Code, entre autres choses.
Xbuild : une version de msbuild
Compilateur XAML : XAML est la version XUL du .Net de Microsoft®
Cecil : bibliothèque de manipulation du bytecode de .Net
Diva : un éditeur vidéo
Éditeur ASP.Net reposant sur Mozilla
Localisateur de bogues (utilisant Cecil)
GCC-CIL : une interface GCC pour le bytecode .Net. Malheureusement, ce projet a été abandonné après que le participant s'est cassé le poignet.
Deux de ces projets n'ont jamais débuté.
Amélioration de Opie non root
Biométrie rapide pour handhelds
Création/portage d'un client de messagerie instantanée pour GPE
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).
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
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 »).
Télémétrie à spectre étalé pour la fusée sonde LV2 de la Portland State Aerospace Society
Une interface SDR pour GPL-GPS
Filtre intelligent de spam à apprentissage automatique pour Thunderbird
Rendu des nouveaux caractères chinois, spécialement la notation Qin
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...
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.
Crazy chat : un module externe qui anime un avatar en 3D à l'aide des expressions du visage de l'utilisateur
Doodle croquis partagés compatible avec Yahoo!
Quelques-uns, s'il y a lieu, des projets NetBSD s'appliquent à Linux, mais je les ajoute pour être complet.
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
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.
Écriture des tests de régression nécessaires pour le protocole Active Directory Synchronisation
Réécriture de smbclient pour utiliser libsmbclient
Écriture d'une bibliothèque MS-RPC pour autoriser le contrôle à distance de serveurs Samba et Windows
Ajout de la prise en charge de DNOTIFY au module cifs de Linux
Plutôt que de configurer une page séparée, Ubuntu à intégré les projets du Summer of Code avec leurs bounties existants.
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.
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é)
Repérage des communautés : un système reposant sur une servlet Java pour le repérage (comme del.icio.us, mais pour un éventail de données plus large)
Gvinum 'move', etc. (Gvinum est un gestionnaire de volume logique pour FreeBSD)
K : métalangage du noyau FreeBSD
SEBSD : Security Enhanced BSD
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.
[1] | Ce sont des fondations pour aider au développement de projets open source. (N. d. T.). |