Qualification de module pour framework Open Source

Qualification de module pour framework Open Source

Automatisation de la collecte d’indicateurs qualité sur des initiatives open source

Département: Software and System Engineering 

Contexte

De nombreux frameworks Open Source sont composés d’une plateforme centrale et d’un écosystème d’extensions/plugins venant se greffer sur celle-ci, par exemple :

  • des IDE : Eclipse, NetBeans
  • des gestionnaires de fenêtres et bureaux : KDE, gnome
  • des outil de gestion de contenu (CMS) : SPIP, joomla, drupal
  • des outils de gestion électronique de documents (GED) : Alfresco
  • des logiciels d’infrastructure : (OW2)
  • etc.

La question se pose d’évaluer ces composants afin d’envisager leur intégration comme composants "officiels" de la plateforme. Ceci consiste à en évaluer des caractéristiques de qualité du code, de la documentation, des processus mis place pour leur développement, de la communauté elle-même. Ceci peut s’envisager de manière absolue (seuils spécifiques) ou relative (par rapport à d’autres composants de l’écosystème).

Le CETIC dispose d’une large expertise en matière d’évaluation d’initiatives Open Source grâce à sa participation et coordination du projet FP6 QualOSS. Le but du stage est d’appliquer les résultats du projet FP6 QualOSS à de tels écosystèmes afin d’aboutir à un plus grand degré d’automatisation. Ce plus grand degré d’automatisation sera rendu possible par le cadre spécifique à chaque écosystème (convention spécifiques, forge dédiées...)

Travail réalisé

Le travail réalisé comportait 3 volets relatifs aux trois étapes de l’évaluation : la collecte des données, le stockage des informations et le reporting.

  • la collecte des données : sur base du modèle de qualité défini durant le projet FP6 QualOSS, les données nécessaires seront collectées. Cette collecte suit des étapes prédéfinies dans un workflow. La mise en oeuvre de ce workflow sera réalisée via BONITA.
  • le stockage des informations : Les données seront stockées dans une base de données, de même que les indicateurs définis dans le modèle de qualité QualOSS. Ces indicateurs permettront la comparaison par rapport aux autres initiatives analysées (benchmark).
  • le reporting : Une interface utilisateur sous forme d’un site web permettra de rechercher une initiative, de comparer les résultats de différentes analyses d’une même initiative et de comparer différentes initiatives open source. De plus, dans le cas où l’analyse pour une initiative donnée n’aurait pas été effectuée, le site web donnera la possibilité d’effectuer une demande d’analyse pour celle-ci.

Au niveau de l’écosystème étudié, le stage s’est concentré sur le développement d’une plate-forme d’évaluation automatique des projets d’OW2. Cette évaluation se base sur le modèle de maturité d’OW2 ainsi que le modèle de qualité du projet FP6 QUALOSS.

Cette plate-forme intègre 3 grandes fonctionnalités :

  • la collecte des indicateurs a pour but de récupérer les informations et de calculer les indicateurs nécessaires à l’évaluation via les 2 modèles. Cette étape est réalisée grâce à un workflow édité par BONITA. Au niveau de QualOSS, seuls les indicateurs relatifs à l’évalutation de la maturité, de la fiabilité et de la communauté ont été implémentés.
  • le stockage des résultats se place entre la collecte des indicateurs et le reporting. Il sauvegarde les informations et indicateurs collectés.
  • le reporting offre une interface web qui montre clairement tous les résultats des analyses, la description de chaque indicateur utilisé et la Mature Transition Checklist correspondante au projet, laquelle peut ensuite être générée sous format PDF. La Mature Transition Checklist générée est identique à celle d’OW2 avec comme seule modification le critère SQuAT qui est remplacé par les résultats de l’évaluation par QualOSS.

Enfin, les résultats de l’analyse ont été validés sur plusieurs projets d’OW2
et sont identiques à ceux calculés manuellement par la méthodologie QualOSS.
Le travail se centrera sur un cas d’étude spécifique centré sur la qualité de modules Java et l’écosystème OW2.

Rapport de stage

Rapport de Stage