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 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
Outreach
_images/card_outreach_undraw_engineering_team.svg

Join our network of partners. Collaborate with the team or become an ambassador. Teach others how to use the archive. Get materials for your next events.

Tell the world about Software Heritage

Tell the world
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 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#

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 code used for science#

Save a software using ELife, Ipol, HAL. Your content are directly pushed into the archive by trusted partners using the deposit service of Software Heritage:

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.

_images/card_browse_undraw_file_searching.svg

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


Tell the world#

Wherever you have a technical background or not, help us spread the word about Software Heritage. Encourage developers to archive their source code. Find researchers and practitioners interested in using an immense collection of source code.

_images/card_outreach_undraw_engineering_team.svg

Ambassador program#

Presentations#


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#