Antepedia, base de données des projets Open Source

20
7
mar.
2012
Communauté

Le moteur de recherche de Google dédié au code Open Source, Code Search, a été arrêté le 12 janvier dernier. Il existe un certain nombre d'alternatives, comme Koders, krugle ou encore Search[code], mais une nouvelle base de données commence à se faire connaître et n'a pas encore été abordée dans les colonnes de LinuxFr.org : Antepedia.

Antepedia se revendique comme la plus grande base de données de composants Open Source. Elle annonce actuellement plus de 221 millions de fichiers référencés provenant de 940 000 projets et être en constante augmentation. En comparaison, Ohloh, une autre base de projets (dont la finalité n'est pas similaire) rachetée récemment par Black Duck Software, un compétiteur, revendique plus de 500 000 projets « seulement ».

Logo Antepedia

NdM : Un grand merci à olivierweb, Lebas Sébastien, Nÿco et Yves Bourguignon pour leur participation à la rédaction de cette dépêche.

Sommaire

Fonctionnement d'Antepedia

Antepedia permet d'uploader un fichier source, et l'analyse, essayant de retrouver le ou les projets dont il est issu. En revanche (contrairement à Ohloh, cité plus haut, par exemple), Antepedia ne permet pas d'explorer la liste des projets connus : seule la recherche d'un fichier existant est disponible sur le site. Son utilité est donc de retrouver l'origine et la licence d'un code particulier. La détection se fait pour le moment au niveau du fichier, mais il semble prévu de pouvoir descendre au niveau des extraits de code source au sein d'un fichier.

Pour avoir une idée des résultats retournés, vous pouvez tester avec un fichier source issu de JUnit par exemple.

Pour le moment, les sources d'alimentation de la base de projet d'Antepedia semblent principalement Google Code et Sourceforge. Aux dernières nouvelles, l'indexation de Github est prévue sous peu. Cette base représenterait 44 To de données, en augmentation de 1 000 projets par jour.
Répartition des sources d'Antepedia

SourceSquare pour buzzer…

SourceSquare est un logiciel sous licence AGPLv3 permettant de scanner un répertoire de son disque dur pour identifier les composants Open Source présents. « Find out if you are an open source freak or not! » comme le dit leur site web. Il se présente sous la forme d'un fichier jar à exécuter en local et permet de choisir le répertoire à analyser. Le résultat s'affiche sous la forme d'une petite application web locale, offrant une « TreeMap », tout en y incluant un peu de gamification : une série de « badges » obtenus en fonction du contenu du répertoire analysé. À noter que l'analyse peut prendre un certain temps, pour ne pas dire un temps certain, l'application communiquant avec la base Antepedia. Vous devez donc être connecté à Internet.
Badges SourceSquare

Comme nous sommes curieux et joueurs, nous avons lancé l'outil sur les dernières sources de LinuxFr.org et voici le résultat :
Résultats SourceSquare pour LinuxFr.org
Au final, seulement 7 % de code Open Source, ce qui nous vaut le badge « Open What? » et pas mal d'images à priori (plus de 25 % de nos fichiers, la plupart situés dans public/images), ce que distingue le badge « Picasso wannabe ». On devine clairement que Github n'est pas encore (complètement ?) indexé.

…et la suite d'outil d'Antelink pour travailler

Antelink propose trois outils pour interagir tout au cours du processus de développement, depuis le poste du développeur jusqu'au packageur en passant par le juriste de votre entité.

Outils Antelink

  • Antepedia Developer, plugin de l'IDE Eclipse qui permet de détecter au plus tôt la réutilisation (volontaire ou non) de code Open Source afin :
    • d'anticiper les problématiques de conflits de licence et d'éviter de le découvrir trop tard ;
    • de remonter au développeur les failles de sécurité connues reliées aux composants réutilisés ;
  • Antepedia Notifier qui lui se branche sur le gestionnaire de source pour détecter à chaque commit si un fichier est composant Open Source connu ou non et éventuellement envoie un email et/ou remplit un outil de suivi de tâches (les cas d'usage restent les mêmes grosso-modo) ;
  • Antepedia Reporter quant à lui, arrive plus en fin de course et comme son nom l'indique, permet de générer un rapport sur l'ensemble d'un projet, typiquement pour générer le fichier manifest ou Bill of material (BOM) pour s'assurer du respect de ses obligations.

Pour le projet LibreOffice, l'outil a par exemple tenté de fournir une répartition visuelle des sources provenant d'OpenOffice.org de celles qui étaient propres à Libre Office. Voici ce que cela donne :
Répartition code LibreOffice vs. OpenOffice.org

Au final, ce sont des outils propriétaires et payants, mais tout comme Atlassian avec ses outils comme JIRA, Antelink propose des licences pour les projets Open Source qui veulent s'analyser.

FOSSology, la solution libre

Logo FOSSology

Il ne semble pas y avoir d'alternative complètement libre à la solution d'Antelink. L'outil libre le plus connu est certainement FOSSology, initié par HP et distribué sous licence GPLv2 et une partie en LGPLv2.1. D'ailleurs Antelink se présente comme une solution complémentaire à FOSSology et non directement en concurrence. Ils font même des présentations communes avec Bruno Cornec (en charge du projet pour HP). FOSSology est plus un outil d'analyse et d'extraction d'informations et méta-données : recherche sur les signatures de licences, les développeurs, le packaging, droits d'auteurs, droit des marques, courriels, URLs, dépendances, description, version, etc. Là où Antelink se base sur un hash des fichiers et utilise sa base de données de composants Open Source qu'il connaît, FOSSology utilise sa connaissance des différentes licences pour les retrouver au sein des sources analysées. Les deux approches en parallèle permettent donc d'avoir une vue relativement exhaustive de son « patrimoine » de composants Open Source utilisés en interne.

Aller plus loin

  • # Faux amis

    Posté par  . Évalué à 1.

    Le mot français pour "compétiteur" c'est "concurrent" (sauf si c'est un sport).

  • # oh ce logo

    Posté par  . Évalué à 5.

    Ça a l'air drôlement intéressant même si je n'en ai pas l'utilité, mais… je suis le seul à trouver que le logo ressemble furieusement à un vieux logo d'archlinux ?

  • # SourceSquare ne marche pas

    Posté par  . Évalué à 3.

    Manifestement les résultats sont affichés dans un navigateur, mais quand on clique sur le bouton idoine, on a l'exception suivante :

    java.lang.UnsupportedOperationException: Desktop API is not supported on the current platform

    En effet, cette API n'est disponible que sous windows ou gnome. Dommage.

  • # Antelink

    Posté par  . Évalué à 4.

    J'espère que ca marche mieux que leurs précédant outils.

    Pour avoir eu à faire avec eux il y a quelque temps; leurs outils sortaient des résultats bien douteux. Encore pire ils n'ont jamais pu nous expliquer le rationnel en dehors d'un discours "C'est une analyse qualitative blahblahblah" permettant d'éviter toute réponse précise même quand on leur donnait des exemples précis d'incohérences flagrantes.

    • [^] # Re: Antelink

      Posté par  (site web personnel) . Évalué à 2.

      Autre son de cloche (et sans être anonyme ;) )
      Nous, chez Scilab, on utilise leurs outils depuis un moment. On en est très content (d'autant qu'ils écoutent nos remarques et nos demandes).

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.