
Vers une infrastructure distribuée et multipartite
Afin de prévenir la perte d’informations et de simplifier l’accès au patrimoine logiciel de l’humanité, nous construisons un réseau international de miroirs.
Un miroir est une copie intégrale de l’archive Software Heritage, gérée par une institution partenaire. Cette page répertorie les organisations ayant déjà signé un accord de miroir et décrit les conditions d’adhésion au programme.
Nous espérons voir davantage d’institutions du monde entier rejoindre ce réseau en pleine expansion.
Conditions requises
Afin d’établir un miroir de Software Heritage, il est important de remplir deux types des conditions : d’une part, disposer de l’expertise technique et des ressources indispensables pour le déploiement de l’infrastructure nécessaire ; d’autre part, la capacité à répondre aux exigences légales pour la signature d’un accord de miroir.
Besoins techniques
Un miroir contient une copie complète de l’archive, ce qui implique de provisionner l’infrastructure pour héberger un grand entrepôt d’objets et un très grand graphe. Une vue d’ensemble de ce qui est impliqué dans le déploiement d’un miroir peut être trouvée dans notre documentation, qui est mise à jour régulièrement et comprend l’architecture de référence d’un miroir et divers guides pratiques.
Il existe de nombreuses méthodes de déployer un miroir, mais il existe des besoins communs qui sont présentées sur une page dédiée dans notre documentation.
Conditions légales
Une organisation intéressée par l’hébergement d’un miroir doit signer un accord légal qui détaille les nombreux droits et obligations, ainsi que l’interaction avec l’organisation Software Heritage. En particulier, cela inclut les engagements suivants:
1. respecter la charte éthique du miroir, et établir une charte éthique alignée sur celle de Software Heritage
2. établir des conditions d’utilisation alignées sur celles de Software Heritage, tant pour l’accès à l’API que pour l’accès en masse aux données
3. traiter le contenu des archives, et en particulier les données personnelles, d’une manière conforme à la politique de contenu de Software Heritage
4. assurer le bon fonctionnement du miroir pendant un minimum de trois ans.
Utiliser un mirroir
Un miroir est une copie en lecture seule de l’archive principale de Software Heritage. En tant que tel, il doit donner accès au contenu de l’archive, mais il ne propose pas la totalité des fonctionnalités offertes par l’archive principale de Software Heritage.
Fonctionnalités offertes
Chaque miroir :
- sera principalement à jour avec l’archive principale, il peut y avoir un certain décalage, mais il devrait être minime, généralement moins de quelques heures (non garanti),
- offrira un accès public à l’interface web permettant de naviguer dans l’archive,
- permettra la recherche par URL d’origine,
- offrira un accès public à (la plupart) de l’API publique (rate limited),
Différences
Un miroir se comporte différemment de l’archive Software Heritage :
- Save Code Now redirige vers l’archive principale de Software Heritage,
- Add Forge Now redirige vers l’archive principale de Software Heritage,
- il n’y a pas de service de Depôt
- les statistiques et les compteurs ne sont pas affichés sur la page d’accueil,
- la réplication étant asynchrone, un miroir n’est consistant qu’à terme. Un objet peut être temporairement absent du miroir, ce qui entraîne un message d’erreur 404 lors de la consultation du miroir.
Fonctionnalités optionnelles
Un miroir peut éventuellement offrir certaines des fonctionnalités de l’archive Software Heritage :
- moteur de recherche avancée,
- metadonnées étendues,
- API avancée de requêtage du graphe(REST and GRPC),
- authentification pour un accès moins limité à l’API.