
Vers une infrastructure distribuée et multipartite
« Sauvons ce qui reste : pas en l’enfermant à clé dans des coffres qui vont le soustraire au regard du public et en interdire toute utilisation, mais par une telle multiplication des copies, qui les mettra hors de portée de l’accident. »
— Thomas Jefferson
Les institutions et les entreprises du monde entier sont invitées à rejoindre notre programme de miroirs.
Cela est essentiel pour éviter la perte d’informations et simplifiera considérablement l’accès au patrimoine logiciel de l’humanité.
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.