Software Heritage — Building the Software Pillar of Open Science
Abstract
Software Heritage collects publicly available source code from numerous software projects and tracks their ongoing development.
Full text
Software Heritage — Building the Software Pillar of Open Science Stefano Zacchiroli Télécom Paris Institut Polytechnique de Paris
Stefano Zacchiroli | stefano.[email protected] @zacchiro | Software Heritage$: Building the Software Pillar of Open Science | 2022-03-28 Software is everywhere Software 2/31 2
Stefano Zacchiroli | stefano.[email protected] @zacchiro | Software Heritage$: Building the Software Pillar of Open Science | 2022-03-28 Software Source Code “The source code for a work means the preferred form of the work for making modifications to it." GPL License Hello World Program (excerpt of binary) Program (source code) 4004e6: 55 4004e7: 48 89 e5 4004ea: bf 84 05 40 00 4004ef: b8 00 00 00 00 4004f4: e8 c7 fe ff ff 4004f9: 90 4004fa: 5d 4004fb: c3 /* Hello World program */ #include<stdio.h> void main() { printf("Hello World"); } 3/31 3
Stefano Zacchiroli | stefano.[email protected] @zacchiro | Software Heritage$: Building the Software Pillar of Open Science | 2022-03-28 Software Source Code is Precious Knowledge “Programs must be written for people to read, and only incidentally for machines to execute.” Harold Abelson, Structure and Interpretation of Computer Programs (1st ed.) 1985 Apollo 11 source code (excerpt) Quake III source code ( excerpt ) “Source code provides a view into the mind of the designer.” Len Shustek, Computer History Museum 2006 4/31 4
Stefano Zacchiroli | stefano.[email protected] @zacchiro | Software Heritage$: Building the Software Pillar of Open Science | 2022-03-28 A lightning fast growth Apollo 11 (~60.000 lines), 1969 Linux Kernel : 20 million lines. . . Reuse is the new rule "When I first got into it, nobody knew what it was that we were doing. It was like the Wild West." Margaret Hamilton . . . now in your pockets! tens of millions of developers collaborate on open source software worldwide today Open source software is eating the software world 80% to 90% of a new application is… just reuse! (Sonatype survey, 2017) 5/31 5
Stefano Zacchiroli | stefano.[email protected] @zacchiro | Software Heritage$: Building the Software Pillar of Open Science | 2022-03-28 Source code is special: software is not data Software evolves over time oprojects may last decades othe development history is key to its understanding Complexity omillions of lines of code olarge web of dependencies oeasy to break, difficult to maintain oresearch software a thin top layer osophisticated developer communities The human side copyright law applies! fruit of human ingenuity: design, algorithm, code, test, documentation, community, funding, and so many more facets… 6/31 6
Stefano Zacchiroli | stefano.[email protected] @zacchiro | Software Heritage$: Building the Software Pillar of Open Science | 2022-03-28 A long overlooked pillar of Open Science Software powers modern research Missing pillar: software (source code) Software may be a tool, an outcome and a research object Open source (open access to the source code) is necessary […] software [… ] essential in their fields. Top 100 papers (Nature, 2014) Sometimes, if you don’t have the software, you don’t have the data Christine Borgman, Paris, 2018 The links in the picture are essential oavoid reinventing the wheel, accelerate scientific discoveries opreserving source code and its history is necessary for reproducibility 7/31 7
Stefano Zacchiroli | stefano.[email protected] @zacchiro | Software Heritage$: Building the Software Pillar of Open Science | 2022-03-28 A plurality of needs Researchers oarchive and reference software used in articles ofind useful software Laboratories/teams oget credit for software contributions overify, reproduce, improve results otrack software contributions oproduce reports omaintain webpage Research Organization know its software assets otechnology transfer oimpact metrics ofunding strategy ocareer evaluation 8/31 8
Stefano Zacchiroli | stefano.[email protected] @zacchiro | Software Heritage$: Building the Software Pillar of Open Science | 2022-03-28 What is at stake: ARDC in increasing order of difficulty Archive Research software artifacts must be properly archived make sure we can retrieve them (reproducibility) Reference Describe Research software artifacts must be properly referenced make sure we can identify them (reproducibility) 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!) 9/31 9
Stefano Zacchiroli | stefano.[email protected] @zacchiro | Software Heritage$: Building the Software Pillar of Open Science | 2022-03-28 Focus on the French National plan for Open Science, 2021-2024 2nd National Plan for Open Science (6/7/2021) Open and promote research software source code oactions (selection) ocharter for research software policy orecognize software development (see the 2021 prize) ocoordinate communities of practice obuild a connected ecosystem of research outputs orecommendations (selection) oArchive source code in Software Heritage oStandardize and use SWHID oBuild a national catalog of research software 👉See official announcement 16/31 16
Stefano Zacchiroli | stefano.[email protected] @zacchiro | Software Heritage$: Building the Software Pillar of Open Science | 2022-03-28 Let’s build together the software pillar of open science it’s a long road, but together we can make it ❓Questions❓ References oUNESCO, Draft recommendations on Open Science, 2021, (online) oFrench Ministry of Research, Second National Plan for Open Science, 2021, (online) oEOSC SIRS Task Force, Scholarly Infrastructures for Research Software, 2020, Publications office of the European Commission, (10.2777/28598) oR. Di Cosmo, Archiving and Referencing Source Code with Software Heritage, International Conference on Mathematical Software 2020 (10.1007/978-3-030-52200-1_36) oJ.F. Abramatic, R. Di Cosmo, S. Zacchiroli, Building the Universal Archive of Source Code, CACM, October 2018 ( 10.1145/3183558) 17/31 17 Slide credits: R. Di Cosmo, S. Zacchiroli CC-BY 4.0Ⓒ
Stefano Zacchiroli | stefano.[email protected] @zacchiro | Software Heritage$: Building the Software Pillar of Open Science | 2022-03-28 Appendix
Stefano Zacchiroli | stefano.[email protected] @zacchiro | Software Heritage$: Building the Software Pillar of Open Science | 2022-03-28 A peek under the hood
Stefano Zacchiroli | stefano.[email protected] @zacchiro | Software Heritage$: Building the Software Pillar of Open Science | 2022-03-28 Software Heritage Identifiers (SWHIDs)
Stefano Zacchiroli | stefano.[email protected] @zacchiro | Software Heritage$: Building the Software Pillar of Open Science | 2022-03-28 An international non-profit initiative