[OpenSSH]

Projets Summer of Code


OpenSSH espère participer au "Google's 2009 Summer of Code". Cette page affiche les projets suggérés pour les candidats. Ces projets sont basés sur des besoins réels d'utilisateurs et de développeurs, et nous avons tous l'opportunité pour faire de OpenSSH un produit meilleur.

Si vous êtes intéressé ou avez des questions sur certains de ces projets, merci de contacter le développeur nominé.

Pourquoi contribuer à OpenSSH ?

OpenSSH est l'implémentation SSH qui est la plus populaire par une large majorité, l'implémentation de référence effective du protocole SSH et un outil critique dont dépendent des millions d'utilisateurs chaque jour. Si vous vous souciez de faire votre travail utilement et de faire une différence positive, OpenSSH est un bon choix.

Nous sommes également un projet logiciel bien établi (10 ans d'ancienneté en Septembre) avec une grande esthétique et des normes de qualité pour le nouveau code. Cela sera une expérience d'apprentissage enrichissante pour quelqu'un de nouveau dans le développement de logiciel libre. Les étudiants en quête de projets universitaires devraient être conscients qu'un certain nombre de documents de haute qualité ont été écrits sur différents aspects de la mise en oeuvre de OpenSSH.

Exigences des contributeurs

Les contributeurs doivent être à l'aise dans la programmation en langage C, la norme de développement d'outils Unix et le Bourne shell. Toute contribution de code doit adhérer au OpenBSD style guide. Le produit OpenSSH lui-même est une application C, mais la plupart des tests de régression sont écrit en sh(1).

Le code source est géré en utilisant CVS et les bogues sont suivis en utilisant Bugzilla. Etre familier avec ces outils est préférable, mais pas absolument nécessaire. Les soumissions finales de code doivent compiler sans alertes et fonctionner normalement sur OpenBSD et Linux (au moins).

Après la demande initiale, la sélection et le démarrage du projet, les contributeurs seront invités à communiquer sur les listes de diffusion publiques et le bugtracker. Les contributeurs doivent s'attendre au débat et à la critique de leurs propositions et leur mise en oeuvre, mais ils peuvent aussi s'attendre à ce que ce débat soit constructif.

Enfin, les contributeurs ne sont pas seules - leur mentor et la liste de diffusion OpenSSH sont de bonnes sources de conseils, d'idées et de sagesse.

Projets disponibles

Projet Complexité Contact
Rénover sftp(1) basse-moyenne djm
Améliorer l'infrastructure de test moyenne djm
Amélioration des performances moyenne djm
Autre chose...   djm

Rénover sftp

Complexité : basse-moyenne
Contact : Damien Miller <djm@openssh.com>

sftp(1) est, jusqu'a présent, principalement un programme interactif avec une faiblesse de l'interface de commande. Il manque des caractéristiques essentielles qui sont présents dans scp(1), notamment pour les opérations récursives.

Ce projet viserait à faire de sftp(1), un remplacant pour les commandes qu'utilise scp(1) par la mise en oeuvre d'une syntaxe de commande compatible. Cela exige la mise en oeuvre des envois/téléchargements récursifs, car ils sont une fonctionnalité essentielle supportée par scp(1). Les nouvelles fonctionnalités auront besoin de documentation (pages de manuel) et de tests de régression.

D'autres projets pourraient comprendre :


Améliorer l'infrastructure de test

Complexité : moyenne
Contact : Damien Miller <djm@openssh.com>

OpenSSH posséde actuellement un ensemble de tests de régression et d'interopérabilité, mais ces moyens ne sont pas assez rigoureux. Ils ne permettent pas d'atteindre une couverture de 100% de la configuration disponible et options de ligne de commande et encore moins du code. Il n'y a pas de support pour le test de niveau de protocole, en particulier de fuzzing.

Le but de ce projet serait d'améliorer les tests par

  1. Amélioration de la couverture de test sur les options (commande et fichier de configuration)
  2. La mise en place de mesure du code
  3. Développer un moyen d'effectuer des tests de protocole, et l'utiliser pour mettre en oeuvre les tests de base de fuzzing.
  4. Développement de fonctionnalités au niveau du protocole et de tests pour le respect des RFC.

Amélioration des performances

Complexité : moyenne
Contact : Damien Miller <djm@openssh.com>

Il y a trois aspects des performances de ssh(1)/sshd(8) qui sont particulièrement intéressant : l'utilisation du processeur, l'utilisation de la mémoire et les performances du réseau. Une attention particuliére a été accordée au CPU et performances réseau, mais plus de travail pourrait être fait.

Ce projet permettrait d'examiner et de faire des améliorations quantifiables sur un ou plusieurs aspects de ces performances. Un antécédent nécessaire à ce travail sera le développement des normes de mesure de la performance et des outils qui pourront être utilisés pour évaluer les résultats.

Ceci est probablement la plus ouverte des propositions du projet.


Autre chose...

Contact : Damien Miller <djm@openssh.com>

Nous sommes ouverts aux nouvelles idées et possibilités d'amélioration de OpenSSH, n'hésitez pas à proposer quelque chose. Si vous voulez quelques inspirations, vous voudrez peut-être aussi regarder the portable OpenSSH bugtracker, car beaucoup de demandes d'améliorations sont affichées ici.


OpenSSH djm@openssh.com
$OpenBSD: gsoc.html,v 1.2 2009/04/26 15:44:21 tobias Exp $