Mémoire de maîtrise (2012)
Résumé
Les logiciels libres reposent largement sur la éutilisation de composants logiciels disponibles sous une variété de licences (e.g., Apache, BSD, GPL, ou LGPL). Différentes licences imposent des limitations et des conditions différentes sur la réutilisation d'un programme et sa redistribution ce qui rend difficile la compréhension des contraintes juridiques imposées au système final. La licence d'un fichier est spécifié par une déclaration de licence. Les déclarations de licence sont des extraits de texte insérées en haut du code source ou de tout autre fichier qui spécifie la licence sous laquelle le fichier peut être réutilisé, ainsi que les contributeurs qui possèdent des droits d'auteur sur le fichier. Les déclarations de licence ne sont pas un concept statique car les projets peuvent mettre à jour leur licences (version ou type) ou ajouter des contributeurs. Comme ces changements peuvent avoir un impact majeur sur un système en terme de sa distribution et son utilisation, (1) il est important de comprendre quand ils se produisent au cours du développement relativement à l'évolution du système (le changement des licences peut être pendant d'importantes modifications ou indépendamment de l'évolution des modifications du système), (2) combien de fois ils se produisent (rare vs. récurants), et (3) qui les effectue (experts vs. développeurs réguliers). D'abord, nous proposons, un métamodèle pour effectuer des analyses qui permettent la détection des problèmes de licence et ce meta-modèle présente aussi une source d'information structurée qui peut être utilisé dans les études reliées aux licences. Ensuite, nous présentons une étude sur la co-évolution des déclarations de licence et le code source dans sept systèmes OSS : JFreeChart, Jitsi, PHP, Rhino, Tomcat, XalanJ et XercesJ. Notre étude montre que ce n'est que dans quelques cas, dans PHP, que les évolutions des déclarations de licences et celle du logiciel sont soigneusement planifiées et gérées ensemble juste avant les versions majeures. Dans tous les systèmes, les développeurs qui effectuent plus de changement de code source, sont aussi les plus actifs mainteneurs de licence. Notre travail permet de comprendre quand les déclarations de licence sont changées et permet d'identifier les développeurs qui effectuent ces changements. De ce point de vue, notre travail est un travail préliminaire afin de mieux contrôler l'impact de ces changements sur le système, i.e., éviter l'introduction des inconsistences en proposant une méthodologie pour la gestion des changements de licences des règles de vérification des termes de license en se basant sur notre metamodèle.
Statistiques
Total des téléchargements à partir de PolyPublie
Téléchargements par année
Provenance des téléchargements
