Close

Mirrors

Towards a distributed and multistakeholder infrastructure

Let us save what remains: not by vaults and locks which fence them from the public eye and use in consigning them to the waste of time, but by such a multiplication of copies, as shall place them beyond the reach of accident.

— Thomas Jefferson

 

In order to prevent information loss, and simplify access to humankind’s software heritage, we are building an international network of mirrors.

mirror is a full copy of the Software Heritage universal source code archive, operated in agreement with, but independently from the Software Heritage organization.

This page lists the entities that have already signed a mirror agreement, and provides an overview of the technical and legal requirements to become part of the program.

We look forward to see a variety of institutions from all around the world becoming progressibely part of the mirror program.

Our mirror partners

ENEA

Faithful to its mission of public service, ENEA is proud to establish in its Bologna Center the first italian mirror of Software Heritage, contributing to preserve humankind’s source code, and…

Read More

Requirements

In order to establish a mirror of Software Heritage, it is necessary to fulfil two kinds of requirements: on the one hand, the availability of the technical expertise and resources needed to deploy the necessary infrastructure; on the other hand, the ability to satisfy the legal requirements needed to sign a mirror agreement

Technical requirements

A mirror contains a full copy of the archive, which involves provisioning the infrastructure for hosting a large object store and a very large graph. An overview of what is involved in operating a mirror can be found in our documentation, that is updated regularly and includes  the mirror architecture reference and various how-to guides.

There are many different options to deploy a mirror, but there are common overall requirements that are presented on a dedicated page in our documentation.

Legal requirements

An organization interested in hosting a mirror will need to sign a legal agreement that details the various rights and obligations, and the interaction with the Software Heritage organization. In particular, this includes the committment to:

  1. respect the mirrors ethical charter, and establish an ethical charter aligned with the Software Heritage one
  2. establish terms of use aligned with those of Software Heritage, both for API access and for bulk access to the data
  3. deal with archive contents, and especially personal data, in a manner aligned with the Software Heritage content policy
  4. ensure proper operation of the mirror for a minimum of three years.

Using a mirror

A mirror is a read-only copy of the main Software Heritage archive. As such, it must give access to the content of the archive, but it may not provide all the features the Software Heritage offers.

Provided features

Each mirror will:

  • be mostly up to date with the main archive, there can be some lag, but it should be minimal, usually less than a few hours (not guaranteed),
  • give public access to the web UI allowing to browse the archive,
  • allow to search by origin URL,
  • give public access to (most) the public API (rate limited),

Differences

A mirror will behave differently from the Software Heritage archive:

  • Save Code Now will redirect to the main Software Heritage,
  • Add Forge Now will redirect to the main Software Heritage,
  • there is no Deposit service,
  • statistics and counters are not displayed on the main page,
  • the replication being asynchronous, a mirror is only eventually consistent. An object might temporarily missing from the mirror resulting in a 404 error message when browsing the mirror.

Optional Features

A mirror may optionally provide some of the features of the Software Heritage archive:

  • advanced search engine,
  • extended metadata,
  • advanced graph query API (REST and GRPC),
  • authentication for increased rate limiting API access.

Ready to host a mirror? Let us know!

You have read the technical and legal requirements, and your institution has the ability and interest to become a mirror? Please tell us more by filling the form below! If the form does not work properly, you can also send the same information to mirror-inquiries@softwareheritage.org