Software Heritage key infrastructure for Open Science and Software Science
Abstract
Software Heritage collects publicly available source code from numerous software projects and tracks their ongoing development. Jaime Arias is a Software Heritage ambassador.
Full text
Software Heritage key infrastructure for Open Science and Software Science Jaime Arias Research Engineer CNRS, LIPN, Université Sorbonne Paris Nord December 15, 2025 THE GREAT LIBRARY OF SOURC E CODE Jaime Arias [email protected] (CC-BY 4.0) Software Heritage for Open Science and Research December 15, 2025 1 / 31
Outline 1Open Science & Software 2Software Heritage for Open Science and Reproducibility 3Quick Demo ! 4Call to action 5Conclusion Jaime Arias [email protected] (CC-BY 4.0) Software Heritage for Open Science and Research December 15, 2025 1 / 31
Why Open Science? Open Science (Second National Plan for Open Science, France, 2021) Unhindered dissemination of results, methods and products from scientific research. It draws on the opportunity provided by recent digital progress to develop open access to publications and – as much as possible – data,source code and research methods. Jean-Eric Paquet (EU DGRI, on the objective of Open Science) “Increase scientific quality, the pace of discovery and technological development, as well as societal trust in science.” Jaime Arias [email protected] (CC-BY 4.0) Software Heritage for Open Science and Research December 15, 2025 1 / 31
Why Open Science? Open Science (Second National Plan for Open Science, France, 2021) Unhindered dissemination of results, methods and products from scientific research. It draws on the opportunity provided by recent digital progress to develop open access to publications and – as much as possible – data,source code and research methods. Jean-Eric Paquet (EU DGRI, on the objective of Open Science) “Increase scientific quality, the pace of discovery and technological development, as well as societal trust in science.” Jaime Arias [email protected] (CC-BY 4.0) Software Heritage for Open Science and Research December 15, 2025 1 / 31
Why Open Science? Mariya Gabriel (EU Commissionneer for Research) The COVID-19 crisis has also shown that cooperation at international level in research and innovation is more important than ever, including through open access to data and results.No nation, no country can tackle any of these global challenges alone. Yuval Noah Harari (on COVID 19) “The real antidote [to epidemic] is scientific knowledge and global cooperation.” Jaime Arias [email protected] (CC-BY 4.0) Software Heritage for Open Science and Research December 15, 2025 2 / 31
Why Open Science? Mariya Gabriel (EU Commissionneer for Research) The COVID-19 crisis has also shown that cooperation at international level in research and innovation is more important than ever, including through open access to data and results.No nation, no country can tackle any of these global challenges alone. Yuval Noah Harari (on COVID 19) “The real antidote [to epidemic] is scientific knowledge and global cooperation.” Jaime Arias [email protected] (CC-BY 4.0) Software Heritage for Open Science and Research December 15, 2025 2 / 31
Software Source Code is Precious Knowledge Apollo 11 source code (excerpt) Quake III source code ( excerpt ) Jaime Arias [email protected] (CC-BY 4.0) Software Heritage for Open Science and Research December 15, 2025 3 / 31
Software Source Code is Precious Knowledge Apollo 11 source code (excerpt)Quake III source code ( excerpt ) Jaime Arias [email protected] (CC-BY 4.0) Software Heritage for Open Science and Research December 15, 2025 3 / 31
Software Source Code is Precious Knowledge Harold Abelson, Structure and Interpretation of Computer Programs (1st ed.) 1985 “Programs must be written for people to read, and only incidentally for machines to execute.” Len Shustek, Computer History Museum 2006 “Source code provides a view into the mind of the designer.” Art. L. 112-2 du Code de la Propriété Intellectuelle 1994 “Sont considérés notamment comme œuvres de l’esprit au sens du présent code: ... 13o «Les logiciels, y compris le matériel de conception préparatoire»; ...” Jaime Arias [email protected] (CC-BY 4.0) Software Heritage for Open Science and Research December 15, 2025 4 / 31
Source code is special (software is not data) Software evolves over time projects may last decades the development history is key to its understanding Complexity millions of lines of code large web of dependencies easy to break, difficult to maintain research software a thin top layer sophisticated developer communities python3-matplotlib python3-dateutil python3-six (>= 1.4) python3:any python-matplotlib-data (>= 3.0.2-2) python3-pyparsing (>= 1.5.6) libjs-jquery libjs-jquery-ui python3-numpy (>= 1:1.14.3) python3 (<< 3.8) (>= 3.7~) python3-numpy-abi9 python3-cycler (>= 0.10.0) python3-kiwisolver libfreetype6 (>= 2.2.1) libpng16-16 (>= 1.6.2-1) python3-pil python3-tk (>= 1.5) (>= 3.2~) tzdata [python3] [python3] {debconf} debconf-2.0 (>= 0.5) [debconf] {cdebconf} fonts-lyx ttf-bitstream-vera (>= 3.3.2-2~) jquery javascript-common (>= 1.7) (<< 3.8)(>= 3.7~)python3.7:any libblas3 libblas.so.3 liblapack3 liblapack.so.3python3-pkg-resources python3-minimal (= 3.7.3-1) python3.7 (>= 3.7.3-1~) libpython3-stdlib (= 3.7.3-1) python3.7-minimal (>= 3.7.3-1~) {dpkg} install-info (>= 1.13.20) libpython3.7-minimal (= 3.7.3-2) libexpat1 (>= 2.1~beta3) libssl1.1 (>= 1.1.1) libpython3.7-stdlib (>= 0.5) (= 3.7.3-2) mime-support libbz2-1.0 liblzma5 (>= 5.1.1alpha+20120614) libdb5.3 libffi6 (>= 3.0.4) libmpdec2 libncursesw6 (>= 6) libtinfo6 (>= 6) libreadline7 (>= 7.0~beta) libsqlite3-0 (>= 3.7.15) libuuid1 (>= 2.20.1) bzip2file xz-utils (= 1.0.6-9) libmagic1 (= 1:5.35-4) libmagic-mgc (= 1:5.35-4) (>= 5.2.2)xz-lzma (= 6.1+20181013-2) libgpm2 (>= 6) readline-common (>= 1.15.4) libreadline-common (>= 1.16.1) uuid-runtime (>= 2.25-5~) (>= 2.31.1) adduserlibsmartcols1 (>= 2.27~rc1) libsystemd0 (>= 0.5) passwd (>= 5.1.1alpha+20120614) libgcrypt20 (>= 1.8.0) liblz4-1 (>= 0.0~r122) libgpg-error0 (>= 1.25) libgpg-error-l10n (= 3.7.3-2) (= 3.7.3-2) (>= 3.7.3-1~) [python3.7] [python3.7] libgfortran5 (>= 8) libquadmath0 (>= 4.6) ... -6gcc-9-base (= 9-20190428-1) (>= 4.6) (= 9-20190428-1) (>= 8) (>= 4.6) ... -3- (>= 3.3.2-2~) (<< 3.8)(>= 3.6~) (>= 1.6.2-1) (<< 3.8) (>= 3.7~) (>= 2.2.1) [mime-support] python3-pil.imagetk libimagequant0 (>= 2.11.10) libjpeg62-turbo (>= 1.3.1) liblcms2-2 (>= 2.2+git20110628) libtiff5 (>= 4.0.3) libwebp6 (>= 0.5.1) libwebpdemux2 (>= 0.5.1) libwebpmux3 (>= 0.6.1-2) python3-olefile (<< 3.8)(>= 3.7~) (= 6.0.0-1) (>= 3.4.1-2) (>= 3.7.1-1~)(<< 3.9) blt (>= 2.4z-9) tk8.6-blt2.5 (>= 2.5.3) libtcl8.6 (>= 8.6.0) libtk8.6 (>= 8.6.0)(= 2.5.3+dfsg-5) (>= 8.6.0) (>= 8.6.0) blt4.2blt8.0 blt8.0-unoff (>= 2.2.1) (>= 8.6.0-2) libfontconfig1 (>= 2.12.6) libxext6 libxft2 (>> 2.1.1) libxss1 (>= 2.3.5)(>= 2.12.6) libxrender1 x11-common libjpeg62 (>= 5.1.1alpha+20120614) (>= 1.3.1) libjbig0 (>= 2.0) (>= 0.5.1) libzstd1 (>= 1.3.2) (>= 0.5.1)(>= 0.5.1) Matplotlib library Python dependencies Real dependencies Fake OS dependencies induced by package granularity The human side design, algorithm, code, test, documentation, community, funding and so many more facets ... Jaime Arias [email protected] (CC-BY 4.0) Software Heritage for Open Science and Research December 15, 2025 7 / 31
Source code is special (software is not data) Software evolves over time projects may last decades the development history is key to its understanding Complexity millions of lines of code large web of dependencies easy to break, difficult to maintain research software a thin top layer sophisticated developer communities python3-matplotlib python3-dateutil python3-six (>= 1.4) python3:any python-matplotlib-data (>= 3.0.2-2) python3-pyparsing (>= 1.5.6) libjs-jquery libjs-jquery-ui python3-numpy (>= 1:1.14.3) python3 (<< 3.8) (>= 3.7~) python3-numpy-abi9 python3-cycler (>= 0.10.0) python3-kiwisolver libfreetype6 (>= 2.2.1) libpng16-16 (>= 1.6.2-1) python3-pil python3-tk (>= 1.5) (>= 3.2~) tzdata [python3] [python3] {debconf} debconf-2.0 (>= 0.5) [debconf] {cdebconf} fonts-lyx ttf-bitstream-vera (>= 3.3.2-2~) jquery javascript-common (>= 1.7) (<< 3.8)(>= 3.7~)python3.7:any libblas3 libblas.so.3 liblapack3 liblapack.so.3python3-pkg-resources python3-minimal (= 3.7.3-1) python3.7 (>= 3.7.3-1~) libpython3-stdlib (= 3.7.3-1) python3.7-minimal (>= 3.7.3-1~) {dpkg} install-info (>= 1.13.20) libpython3.7-minimal (= 3.7.3-2) libexpat1 (>= 2.1~beta3) libssl1.1 (>= 1.1.1) libpython3.7-stdlib (>= 0.5) (= 3.7.3-2) mime-support libbz2-1.0 liblzma5 (>= 5.1.1alpha+20120614) libdb5.3 libffi6 (>= 3.0.4) libmpdec2 libncursesw6 (>= 6) libtinfo6 (>= 6) libreadline7 (>= 7.0~beta) libsqlite3-0 (>= 3.7.15) libuuid1 (>= 2.20.1) bzip2file xz-utils (= 1.0.6-9) libmagic1 (= 1:5.35-4) libmagic-mgc (= 1:5.35-4) (>= 5.2.2)xz-lzma (= 6.1+20181013-2) libgpm2 (>= 6) readline-common (>= 1.15.4) libreadline-common (>= 1.16.1) uuid-runtime (>= 2.25-5~) (>= 2.31.1) adduserlibsmartcols1 (>= 2.27~rc1) libsystemd0 (>= 0.5) passwd (>= 5.1.1alpha+20120614) libgcrypt20 (>= 1.8.0) liblz4-1 (>= 0.0~r122) libgpg-error0 (>= 1.25) libgpg-error-l10n (= 3.7.3-2) (= 3.7.3-2) (>= 3.7.3-1~) [python3.7] [python3.7] libgfortran5 (>= 8) libquadmath0 (>= 4.6) ... -6gcc-9-base (= 9-20190428-1) (>= 4.6) (= 9-20190428-1) (>= 8) (>= 4.6) ... -3- (>= 3.3.2-2~) (<< 3.8)(>= 3.6~) (>= 1.6.2-1) (<< 3.8) (>= 3.7~) (>= 2.2.1) [mime-support] python3-pil.imagetk libimagequant0 (>= 2.11.10) libjpeg62-turbo (>= 1.3.1) liblcms2-2 (>= 2.2+git20110628) libtiff5 (>= 4.0.3) libwebp6 (>= 0.5.1) libwebpdemux2 (>= 0.5.1) libwebpmux3 (>= 0.6.1-2) python3-olefile (<< 3.8)(>= 3.7~) (= 6.0.0-1) (>= 3.4.1-2) (>= 3.7.1-1~)(<< 3.9) blt (>= 2.4z-9) tk8.6-blt2.5 (>= 2.5.3) libtcl8.6 (>= 8.6.0) libtk8.6 (>= 8.6.0)(= 2.5.3+dfsg-5) (>= 8.6.0) (>= 8.6.0) blt4.2blt8.0 blt8.0-unoff (>= 2.2.1) (>= 8.6.0-2) libfontconfig1 (>= 2.12.6) libxext6 libxft2 (>> 2.1.1) libxss1 (>= 2.3.5)(>= 2.12.6) libxrender1 x11-common libjpeg62 (>= 5.1.1alpha+20120614) (>= 1.3.1) libjbig0 (>= 2.0) (>= 0.5.1) libzstd1 (>= 1.3.2) (>= 0.5.1)(>= 0.5.1) Matplotlib library Python dependencies Real dependencies Fake OS dependencies induced by package granularity The human side design, algorithm, code, test, documentation, community, funding and so many more facets ... Jaime Arias [email protected] (CC-BY 4.0) Software Heritage for Open Science and Research December 15, 2025 7 / 31
How are we managing our software ? Reproducibility, maintenance in Academia (articles: here,here,here and here) Security, integrity, traceability in Industry Can they track the software that they ship, use, acquire has that bug or vulnerability Jaime Arias [email protected] (CC-BY 4.0) Software Heritage for Open Science and Research December 15, 2025 8 / 31
How are we managing our software ? Reproducibility, maintenance in Academia (articles: here,here,here and here) Security, integrity, traceability in Industry Can they track the software that they ship, use, acquire has that bug or vulnerability Jaime Arias [email protected] (CC-BY 4.0) Software Heritage for Open Science and Research December 15, 2025 8 / 31
French National plan for Open Science, 2021-2024 SECOND FRENCH PLAN FOR OPEN SCIENCE Generalising open science in France 2021-2024 1 Launch on 6 July 2021 by Frédérique Vidal, Minister for Higher Education, Research and Innovation •Multiplying the levers for change in order to generalise open science practices •Structuring the policy for opening up or sharing research data •New commitments to the opening of source code produced by research •European and international inclusion in the context of the French Presidency of the European Union •Disciplinary and thematic variations: open science policies must be adapted to disciplinary specificities 2 Path Three : Opening up and promoting source code produced by research 3 Recognize and support the dissemination under an open source license of software produced by publicly funded research programmes Highlight the production of source code from higher education, research and innovation Define and promote an open source software policy 789 « The opening of software source code is a major challenge for the reproductibility of scientific results. » « Distribution of software products under open source licence will be preferred. » 4 •Produce a National Charter for Open Source Software coming from higher education, research and innovation •Develop the link between data and software through a network of Chief Data Officers in the various universities and research performing organisations. •Develop the economic models of open source software and make them known within commercialization services •Support Software Heritage and recommend it for the archiving and referencing of source code Define and promote an open source software policy •Create an open source research software prize •Provide greater recognition for software production in the career of researchers, research support staff Recognise source code as a contribution to research •Develop proper coordination between software forges, open publication archives, data repositories and the scientific publishing sector. Build an ecosystem that connects code, data and publications Jaime Arias [email protected] (CC-BY 4.0) Software Heritage for Open Science and Research December 15, 2025 9 / 31
French National plan for Open Science, 2021-2024 SECOND FRENCH PLAN FOR OPEN SCIENCE Generalising open science in France 2021-2024 1 Launch on 6 July 2021 by Frédérique Vidal, Minister for Higher Education, Research and Innovation •Multiplying the levers for change in order to generalise open science practices •Structuring the policy for opening up or sharing research data •New commitments to the opening of source code produced by research •European and international inclusion in the context of the French Presidency of the European Union •Disciplinary and thematic variations: open science policies must be adapted to disciplinary specificities 2 Path Three : Opening up and promoting source code produced by research 3 Recognize and support the dissemination under an open source license of software produced by publicly funded research programmes Highlight the production of source code from higher education, research and innovation Define and promote an open source software policy 789 « The opening of software source code is a major challenge for the reproductibility of scientific results. » « Distribution of software products under open source licence will be preferred. » 4 •Produce a National Charter for Open Source Software coming from higher education, research and innovation •Develop the link between data and software through a network of Chief Data Officers in the various universities and research performing organisations. •Develop the economic models of open source software and make them known within commercialization services •Support Software Heritage and recommend it for the archiving and referencing of source code Define and promote an open source software policy •Create an open source research software prize •Provide greater recognition for software production in the career of researchers, research support staff Recognise source code as a contribution to research •Develop proper coordination between software forges, open publication archives, data repositories and the scientific publishing sector. Build an ecosystem that connects code, data and publications Jaime Arias [email protected] (CC-BY 4.0) Software Heritage for Open Science and Research December 15, 2025 9 / 31
Source code in Open Science: a plurality of needs to address Researchers archive and reference software used in articles find useful software get credit for developed software verify, reproduce, improve results Laboratories/teams track software contributions produce reports maintain web page Research Organizations and/or Funders know its software assets technology transfer impact metrics funding strategy career evaluation Jaime Arias [email protected] (CC-BY 4.0) Software Heritage for Open Science and Research December 15, 2025 10 / 31
Source code in Open Science: a plurality of needs to address Researchers archive and reference software used in articles find useful software get credit for developed software verify, reproduce, improve results Laboratories/teams track software contributions produce reports maintain web page Research Organizations and/or Funders know its software assets technology transfer impact metrics funding strategy career evaluation Jaime Arias [email protected] (CC-BY 4.0) Software Heritage for Open Science and Research December 15, 2025 10 / 31
Source code in Open Science: a plurality of needs to address Researchers archive and reference software used in articles find useful software get credit for developed software verify, reproduce, improve results Laboratories/teams track software contributions produce reports maintain web page Research Organizations and/or Funders know its software assets technology transfer impact metrics funding strategy career evaluation Jaime Arias [email protected] (CC-BY 4.0) Software Heritage for Open Science and Research December 15, 2025 10 / 31
Fundamental needs for software in Open Science (selection) Archive Research software artifacts must be properly archived make sure we can retrieve them (reproducibility) Reference Research software artifacts must be properly referenced make sure we can identify them (reproducibility) Describe Research software artifacts must be properly described make it easy to discover and reuse them (visibility) Cite/Credit Research software artifacts must be properly cited (not the same as referenced!) to give credit to authors (evaluation!) Jaime Arias [email protected] (CC-BY 4.0) Software Heritage for Open Science and Research December 15, 2025 11 / 31
Archive and reference: some popular approaches that do not fit the bill A - Since the 1970’s 1990’s .zip or .tar file on: ftp server (e.g. gnu) web page (example) document archive (+ DOI sample) B - Since the 2000’s Rely on software forges institutional/project (e.g. example) free commercial ones: BitBucket, GitHub, GitLab, ... (e.g. imitator) C: a mix of the two Can get no satisfaction... APoor user experience BNo preservation guarantee CCan do so much better Jaime Arias [email protected] (CC-BY 4.0) Software Heritage for Open Science and Research December 15, 2025 13 / 31
Archive and reference: some popular approaches that do not fit the bill A - Since the 1970’s 1990’s .zip or .tar file on: ftp server (e.g. gnu) web page (example) document archive (+ DOI sample) B - Since the 2000’s Rely on software forges institutional/project (e.g. example) free commercial ones: BitBucket, GitHub, GitLab, ... (e.g. imitator) C: a mix of the two Can get no satisfaction... APoor user experience BNo preservation guarantee CCan do so much better Jaime Arias [email protected] (CC-BY 4.0) Software Heritage for Open Science and Research December 15, 2025 13 / 31
Archive and reference: some popular approaches that do not fit the bill A - Since the 1970’s 1990’s .zip or .tar file on: ftp server (e.g. gnu) web page (example) document archive (+ DOI sample) B - Since the 2000’s Rely on software forges institutional/project (e.g. example) free commercial ones: BitBucket, GitHub, GitLab, ... (e.g. imitator) C: a mix of the two Can get no satisfaction... APoor user experience BNo preservation guarantee CCan do so much better Jaime Arias [email protected] (CC-BY 4.0) Software Heritage for Open Science and Research December 15, 2025 13 / 31
Archive and reference: some popular approaches that do not fit the bill A - Since the 1970’s 1990’s .zip or .tar file on: ftp server (e.g. gnu) web page (example) document archive (+ DOI sample) B - Since the 2000’s Rely on software forges institutional/project (e.g. example) free commercial ones: BitBucket, GitHub, GitLab, ... (e.g. imitator) C: a mix of the two Can get no satisfaction... APoor user experience BNo preservation guarantee CCan do so much better Jaime Arias [email protected] (CC-BY 4.0) Software Heritage for Open Science and Research December 15, 2025 13 / 31
Forges are not archives! 2015: the first big bad news Google Code and Gitorious.org shutdown: ~1M endangered repositories broken links in the web of knowledge Big bad news keep coming in summer 2019: BitBucket announces Mercurial VCS sunset july 2020: BitBucket erases 250.000+ repositories (including research software) summer 2022: GitLab.com considers erasing all projects that are inactive for a year In Academia too! 2021: Inria’s old gforge is unplugged... breaks the Opam build chain for OCaml We need a universal archive of software source code: now we have one! Jaime Arias [email protected] (CC-BY 4.0) Software Heritage for Open Science and Research December 15, 2025 14 / 31
Forges are not archives! 2015: the first big bad news Google Code and Gitorious.org shutdown: ~1M endangered repositories broken links in the web of knowledge Big bad news keep coming in summer 2019: BitBucket announces Mercurial VCS sunset july 2020: BitBucket erases 250.000+ repositories (including research software) summer 2022: GitLab.com considers erasing all projects that are inactive for a year In Academia too! 2021: Inria’s old gforge is unplugged... breaks the Opam build chain for OCaml We need a universal archive of software source code: now we have one! Jaime Arias [email protected] (CC-BY 4.0) Software Heritage for Open Science and Research December 15, 2025 14 / 31
Forges are not archives! 2015: the first big bad news Google Code and Gitorious.org shutdown: ~1M endangered repositories broken links in the web of knowledge Big bad news keep coming in summer 2019: BitBucket announces Mercurial VCS sunset july 2020: BitBucket erases 250.000+ repositories (including research software) summer 2022: GitLab.com considers erasing all projects that are inactive for a year In Academia too! 2021: Inria’s old gforge is unplugged... breaks the Opam build chain for OCaml We need a universal archive of software source code: now we have one! Jaime Arias [email protected] (CC-BY 4.0) Software Heritage for Open Science and Research December 15, 2025 14 / 31
Forges are not archives! 2015: the first big bad news Google Code and Gitorious.org shutdown: ~1M endangered repositories broken links in the web of knowledge Big bad news keep coming in summer 2019: BitBucket announces Mercurial VCS sunset july 2020: BitBucket erases 250.000+ repositories (including research software) summer 2022: GitLab.com considers erasing all projects that are inactive for a year In Academia too! 2021: Inria’s old gforge is unplugged... breaks the Opam build chain for OCaml We need a universal archive of software source code: now we have one! Jaime Arias [email protected] (CC-BY 4.0) Software Heritage for Open Science and Research December 15, 2025 14 / 31
Forges are not archives! 2015: the first big bad news Google Code and Gitorious.org shutdown: ~1M endangered repositories broken links in the web of knowledge Big bad news keep coming in summer 2019: BitBucket announces Mercurial VCS sunset july 2020: BitBucket erases 250.000+ repositories (including research software) summer 2022: GitLab.com considers erasing all projects that are inactive for a year In Academia too! 2021: Inria’s old gforge is unplugged... breaks the Opam build chain for OCaml We need a universal archive of software source code: now we have one! Jaime Arias [email protected] (CC-BY 4.0) Software Heritage for Open Science and Research December 15, 2025 14 / 31
Outline 1Open Science & Software 2Software Heritage for Open Science and Reproducibility 3Quick Demo ! 4Call to action 5Conclusion Jaime Arias [email protected] (CC-BY 4.0) Software Heritage for Open Science and Research December 15, 2025 15 / 31
The largest software archive, a shared infrastructure One infrastructure open and shared The largest archive ever built Jaime Arias [email protected] (CC-BY 4.0) Software Heritage for Open Science and Research December 15, 2025 17 / 31
The largest software archive, a shared infrastructure One infrastructure open and shared The largest archive ever built Jaime Arias [email protected] (CC-BY 4.0) Software Heritage for Open Science and Research December 15, 2025 17 / 31
The largest software archive, a shared infrastructure One infrastructure open and shared The largest archive ever built Jaime Arias [email protected] (CC-BY 4.0) Software Heritage for Open Science and Research December 15, 2025 17 / 31
Software Heritage: a radically different approach to archiving dsc dsc hg hg hg git git git git svn svn svn tar zip software origins Package repos Forges GitHub lister GitLab lister Debian lister PyPi lister . . . Distros ... Listing (full/incremental) tar Global development history permanently archived inauniform data model over 18 billion unique source files from over 290 million software projects ~1.5PB (compressed) blobs, ~35 B nodes, ~500 B edges Jaime Arias [email protected] (CC-BY 4.0) Software Heritage for Open Science and Research December 15, 2025 18 / 31
Software Heritage: a radically different approach to archiving Git loader Mercurial loader Debian source package loader pypi source package loader . . . Software Heritage Archive Merkle DAG + blob storage Loading & deduplication dsc dsc hg hg hg git git git git svn svn svn tar zip software origins Package repos Forges GitHub lister GitLab lister Debian lister PyPi lister . . . Distros ... Scheduling Listing (full/incremental) tar origins snapshots releases revisionsrevisions directoriesdirectories contents Global development history permanently archived inauniform data model over 18 billion unique source files from over 290 million software projects ~1.5PB (compressed) blobs, ~35 B nodes, ~500 B edges Jaime Arias [email protected] (CC-BY 4.0) Software Heritage for Open Science and Research December 15, 2025 18 / 31
Software Heritage: a radically different approach to archiving Git loader Mercurial loader Debian source package loader pypi source package loader . . . Software Heritage Archive Merkle DAG + blob storage Loading & deduplication dsc dsc hg hg hg git git git git svn svn svn tar zip software origins Package repos Forges GitHub lister GitLab lister Debian lister PyPi lister . . . Distros ... Scheduling Listing (full/incremental) tar origins snapshots releases revisionsrevisions directoriesdirectories contents Global development history permanently archived inauniform data model over 18 billion unique source files from over 290 million software projects ~1.5PB (compressed) blobs, ~35 B nodes, ~500 B edges Jaime Arias [email protected] (CC-BY 4.0) Software Heritage for Open Science and Research December 15, 2025 18 / 31
Software Heritage is radically different, cont’d A quick tour as a user designed for source code: Browse (e.g. Apollo 11 excerpt, see also Apollo 11 blog post) like on a developer platform, not a document archive! reference source code: all granularities, using SWHIDs (full specification available online) compare Fig. 1 and conclusions in the 2012 version and the updated version SWHID in a replication experiment SWHIDs guarantee integrity like in blockchains Jaime Arias [email protected] (CC-BY 4.0) Software Heritage for Open Science and Research December 15, 2025 19 / 31
Software Heritage is radically different, cont’d A quick tour as a user designed for source code: Browse (e.g. Apollo 11 excerpt, see also Apollo 11 blog post) like on a developer platform, not a document archive! reference source code: all granularities, using SWHIDs (full specification available online) compare Fig. 1 and conclusions in the 2012 version and the updated version SWHID in a replication experiment SWHIDs guarantee integrity like in blockchains Jaime Arias [email protected] (CC-BY 4.0) Software Heritage for Open Science and Research December 15, 2025 19 / 31
Software Heritage is radically different, cont’d Getting software archived automated harvesting:over 290 million software origins, your researchers’ work may already be there (actually, here)! universal archive: all source code from all platforms (BitBucket, GitHub, GitLab, your own forge, etc.) trigger archival of any code in one click with the updateswh browser extension use webhooks to automatically archive your code (a GitHub action is available too) journals, libraries, open access portals may deposit sourcecode and metadata Example article from IPOL Example article from eLife Jaime Arias [email protected] (CC-BY 4.0) Software Heritage for Open Science and Research December 15, 2025 20 / 31
Software Heritage is radically different, cont’d Getting software archived automated harvesting:over 290 million software origins, your researchers’ work may already be there (actually, here)! universal archive: all source code from all platforms (BitBucket, GitHub, GitLab, your own forge, etc.) trigger archival of any code in one click with the updateswh browser extension use webhooks to automatically archive your code (a GitHub action is available too) journals, libraries, open access portals may deposit sourcecode and metadata Example article from IPOL Example article from eLife Jaime Arias [email protected] (CC-BY 4.0) Software Heritage for Open Science and Research December 15, 2025 20 / 31
A walkthrough Browse (e.g. Imitator [excerpt], your work may be already there !) Trigger archival, use the updateswh browser extension, configure the webhooks Get and use SWHIDs (full specification available online) Cite software with biblatex-software package from CTAN Overleaf ACMART template available Example in journals: article from IPOL Example with adt2amas: code source,archive in SWH,curated deposit in HAL Extracting all the software products for Inria,for CNRS,for CNES,for LIRMM or for Rémi Gribonval using HalTools Curated deposit in SWH via HAL, see for example: LinBox,SLALOM,Givaro, NS2DDV,SumGra,Coq proof, ... Jaime Arias [email protected] (CC-BY 4.0) Software Heritage for Open Science and Research December 15, 2025 22 / 31
An example of long term reproducibility for HPC (re)create fully reproducible binaries from source... https://guix.gnu.org/ functional package manager bit by bit reproductibility from the source code ... with a focus on HPC https://hpc.guix.info/ environment control support cluster deployment from the source code connection with Software Heritage source code archival and identification for guix and nix automatic fallback for missing sources (see experience report) Jaime Arias [email protected] (CC-BY 4.0) Software Heritage for Open Science and Research December 15, 2025 23 / 31
An example of long term reproducibility for HPC (re)create fully reproducible binaries from source... https://guix.gnu.org/ functional package manager bit by bit reproductibility from the source code ... with a focus on HPC https://hpc.guix.info/ environment control support cluster deployment from the source code connection with Software Heritage source code archival and identification for guix and nix automatic fallback for missing sources (see experience report) Jaime Arias [email protected] (CC-BY 4.0) Software Heritage for Open Science and Research December 15, 2025 23 / 31
An example of long term reproducibility for HPC (re)create fully reproducible binaries from source... https://guix.gnu.org/ functional package manager bit by bit reproductibility from the source code ... with a focus on HPC https://hpc.guix.info/ environment control support cluster deployment from the source code connection with Software Heritage source code archival and identification for guix and nix automatic fallback for missing sources (see experience report) Jaime Arias [email protected] (CC-BY 4.0) Software Heritage for Open Science and Research December 15, 2025 23 / 31
A look at some adoption indicators From Melissa Harrison’s OSEC 2022 talk Use on replicabilitystamp.org HAL+SWH in the Open Science software booklet Funding agencies recommendations ANR 2023 guidelines (p. 17) Jaime Arias [email protected] (CC-BY 4.0) Software Heritage for Open Science and Research December 15, 2025 24 / 31
A look at some adoption indicators From Melissa Harrison’s OSEC 2022 talk Use on replicabilitystamp.org HAL+SWH in the Open Science software booklet Funding agencies recommendations ANR 2023 guidelines (p. 17) Jaime Arias [email protected] (CC-BY 4.0) Software Heritage for Open Science and Research December 15, 2025 24 / 31
A look at some adoption indicators From Melissa Harrison’s OSEC 2022 talk Use on replicabilitystamp.org HAL+SWH in the Open Science software booklet Funding agencies recommendations ANR 2023 guidelines (p. 17) Jaime Arias [email protected] (CC-BY 4.0) Software Heritage for Open Science and Research December 15, 2025 24 / 31
HAL and Software Heritage: building a curated software catalog with minimal user overhead! Jaime Arias [email protected] (CC-BY 4.0) Software Heritage for Open Science and Research December 15, 2025 25 / 31
Outline 1Open Science & Software 2Software Heritage for Open Science and Reproducibility 3Quick Demo ! 4Call to action 5Conclusion Jaime Arias [email protected] (CC-BY 4.0) Software Heritage for Open Science and Research December 15, 2025 26 / 31
Call to action: best practices for ARDC are available... today! Archiving and referencing For all source code used in research (yes, even small scripts!) ensure it is archived in Software Heritage (see save code now) get the proper SWHID for your software (see detailed HOWTO) add it to research articles for reproducibility (see detailed HOWTO) Describing and Citing/Crediting For software you want to put forward (mention in your CV, reports, etc., get citations and credit for it), do the following extra steps: add codemeta.json with description (see the codemeta generator) reference in the HAL portal (french partners, see online HAL documentation) cite software using the biblatex-software package (in CTAN and TeXLive) train students, colleagues engage journals, conferences, learned societies Jaime Arias [email protected] (CC-BY 4.0) Software Heritage for Open Science and Research December 15, 2025 26 / 31
A rally flag for a grand vision Bring together academia, industry, governments, communities "to build a reference, global infrastructure for open and better software" Software Heritage is the first brick ... vendor neutral open source aworldwide initiative along term initiative ... that will enable archival,reference,integrity qualification,sharing and reuse aglobal software knowledge base test and deploy world class tooling A lot more is needed Software Heritage can be the catalyser of a way bigger undertaking You can help! use, disseminate, contribute, build&adapt research tools, ... Jaime Arias [email protected] (CC-BY 4.0) Software Heritage for Open Science and Research December 15, 2025 27 / 31
A rally flag for a grand vision Bring together academia, industry, governments, communities "to build a reference, global infrastructure for open and better software" Software Heritage is the first brick ... vendor neutral open source aworldwide initiative along term initiative ... that will enable archival,reference,integrity qualification,sharing and reuse aglobal software knowledge base test and deploy world class tooling A lot more is needed Software Heritage can be the catalyser of a way bigger undertaking You can help! use, disseminate, contribute, build&adapt research tools, ... Jaime Arias [email protected] (CC-BY 4.0) Software Heritage for Open Science and Research December 15, 2025 27 / 31
Join a growing and active community Team Ambassadors Contributors to the platform Work with us! https://softwareheritage.org/jobs/ Jaime Arias [email protected] (CC-BY 4.0) Software Heritage for Open Science and Research December 15, 2025 28 / 31
Join a growing and active community Team Ambassadors Contributors to the platform Work with us! https://softwareheritage.org/jobs/ Jaime Arias [email protected] (CC-BY 4.0) Software Heritage for Open Science and Research December 15, 2025 28 / 31
Join a growing and active community Team Ambassadors Contributors to the platform Work with us! https://softwareheritage.org/jobs/ Jaime Arias [email protected] (CC-BY 4.0) Software Heritage for Open Science and Research December 15, 2025 28 / 31
Join a growing and active community Team Ambassadors Contributors to the platform Work with us! https://softwareheritage.org/jobs/ Jaime Arias [email protected] (CC-BY 4.0) Software Heritage for Open Science and Research December 15, 2025 28 / 31
Report and videos Annual report 5 years in 5 minutes Link Evolution of our codebase Link Jaime Arias [email protected] (CC-BY 4.0) Software Heritage for Open Science and Research December 15, 2025 29 / 31
Report and videos Annual report 5 years in 5 minutes Link Evolution of our codebase Link Jaime Arias [email protected] (CC-BY 4.0) Software Heritage for Open Science and Research December 15, 2025 29 / 31
Report and videos Annual report 5 years in 5 minutes Link Evolution of our codebase Link Jaime Arias [email protected] (CC-BY 4.0) Software Heritage for Open Science and Research December 15, 2025 29 / 31
The floor is yours it’s a long road, but together we can make it Questions? References UNESCO, Draft recommendations on Open Science 2021, (online) French Ministry of Research, Second National Plan for Open Science 2021, (online) EOSC SIRS Task Force, Scholarly Infrastructures for Research Software 2020, Publications office of the European Commission, (10.2777/28598) R. Di Cosmo, Archiving and Referencing Source Code with Software Heritage International Conference on Mathematical Software 2020 (10.1007/978-3-030-52200-1_36) J.F. Abramatic, R. Di Cosmo, S. Zacchiroli, Building the Universal Archive of Source Code CACM, October 2018 (10.1145/3183558) Jaime Arias [email protected] (CC-BY 4.0) Software Heritage for Open Science and Research December 15, 2025 30 / 31