Close

Mirrors

Towards a distributed and multistakeholder infrastructure

 

To prevent information loss and simplify access to humanity’s software heritage, we’re building an international network of mirrors.

A mirror is a complete copy of the Software Heritage Archive, operated by a partner institution. This page lists the organizations that have already signed a mirror agreement and outlines the requirements to join the program.

We look forward to seeing more institutions from around the world become part of this growing network.

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

Establishing a Software Heritage mirror requires both technical expertise and legal compliance.

Technical requirements

A mirror contains a full copy of the archive, which requires provisioning infrastructure for a large object store and a very large graph. Our documentation provides an overview of what’s involved in operating a mirror, including the architecture and various how-to guides.

While there are many different options for deployment, common requirements are outlined on a dedicated page.

 

Legal requirements

An organization interested in hosting a mirror will need to sign a legal agreement outlining the various rights, obligations, and their interactions with the Software Heritage.
This includes a commitment to:

Using a mirror

A mirror is a read-only copy of the main Software Heritage archive. It must provide access to the archive’s content but isn’t required to offer every feature that the main Software Heritage service does.

Provided features

  • Be kept mostly up to date with the main archive, typically with a minimal lag of less than a few hours.
  • Provide public access to a web interface for browsing the archive.
  • Allow users to search by the original URL.
  • Give public access to most of the public API, with rate limits.

Differences

There are a few ways a mirror will behave differently from the main Software Heritage archive:

  • The Save Code Now and Add Forge Now features will redirect to the main Software Heritage site.
  • There is no Deposit service.
  • Statistics and counters are not displayed on the main page.
  • Because replication is asynchronous, a mirror is only eventually consistent. This means an object may be temporarily missing from a mirror, resulting in a 404 error when you try to browse it.

Optional Features

A mirror can also optionally provide some of the features of the main Software Heritage archive, such as:

  • An advanced search engine
  • Extended metadata
  • An advanced graph query API (REST and GRPC)
  • Authentication for increased API rate limits

Ready to host a mirror? Get in touch!

Are you interested in having your institution host a mirror? If you’ve reviewed the technical and legal requirements and are interested in moving forward, please fill out the form below.

If you encounter issues with the form, you can also send the same information to mirror-inquiries@softwareheritage.org