Welcome to Software Heritage documentation#

Basics
_images/card_basics_undraw_discoverable.svg

Learn about our mission and our source code archive. Find out about how to make your first steps with the archive.

Discover Software Heritage

Discover Software Heritage
Preserve
_images/card_preserve_undraw_moving.svg

All the ways that source code may be added or updated in the archive.

Archive source code

Archive and reference source code
Browse
_images/card_browse_undraw_file_searching.svg

Our vast archive can be searched and accessed in multiple ways. Use it to reference unambiguously any part of a source code to your peers: fragment of code, directory, release, etc.

Learn how to search the archive

Search, browse and reference
Learn and share
_images/card_outreach_undraw_engineering_team.svg

Explore our full collection of training content, trainer resources, and organizational strategy documents. Discover the ambassadors programme.

Train yourself and learn

Learn and share
Interface
_images/card_interface_undraw_futuristic_interface.svg

Develop or research using Software Heritage. Browse, access or import source code programmatically.

Use Software Heritage in your applications

Use in your applications
Develop
_images/card_contribute_undraw_dev_focus.svg

Enhance our collection, preservation, and querying processes.

Improve the universal archive of source code

Improve the universal archive

Discover Software Heritage#

Learn about our mission and our source code archive. Find out about how to make your first steps with the archive.

_images/card_basics_undraw_discoverable.svg

Why an universal software archive?#

Software Heritage in practice#


Archive and reference source code#

There are multiple ways to add or update source code in Software Heritage archive. Some of them are automated: our tools crawl multiple software development plateforms to archive as many open projects as possible. Others require manual procedures.

_images/card_preserve_undraw_moving.svg

Before anything…#

Save a code repository#

Deposit artefacts and/or metadata#

The deposit service allows a trusted partner to submit software source archives and its associated metadata to the Software Heritage archive. Metadata can be also submitted referencing a repository url (origin).

Discover the deposit service

Save multiple projects at a time, save a forge#

Save a forge in 2 steps :

  1. Create an account

  2. Submit a request of archival for to save a complete forge

Technical insight on the “Add forge now” process

Save legacy source code#

Recovering and curating landmark legacy source code : how to save legacy code


Search, browse and reference#

Search and access the archive, or use it to reference unambiguously any part of a source code.

Need help? Want to make a proposal? Ask the community using the users mailing-list


Learn and share#

Developers, software engineers, researchers, academic librarians, metadata curators, and software archivists: get trained on Software Heritage, or find the resources you need to train others.

Software Heritage advocates will also find documentation for a deeper understanding of the overall strategy.

Any feedback, any question? community-care@softwareheritage.org

_images/card_outreach_undraw_engineering_team.svg

Learning resources#

Find out learning resources for end-users and trainers, presentations, strategic documents, etc.

Ambassador program#


Use in your applications#

Interact with our source code archive from your applications or research projects.

_images/card_interface_undraw_futuristic_interface.svg

Browse API#

Data model and identifiers#

Deposit API#


Improve the universal archive#

There are many ways to help Software Heritage. However small or large, contributions are welcome and very much appreciated.

_images/card_contribute_undraw_dev_focus.svg

Contributing development skills:

Contributing resources and infrastructure:


Table of contents#