diff --git a/common/images/HAL-logo.png b/common/images/HAL-logo.png new file mode 100644 index 0000000..718647e Binary files /dev/null and b/common/images/HAL-logo.png differ diff --git a/common/images/add-forge-now-1.png b/common/images/add-forge-now-1.png new file mode 100644 index 0000000..f34a7df Binary files /dev/null and b/common/images/add-forge-now-1.png differ diff --git a/common/images/add-forge-now-2.png b/common/images/add-forge-now-2.png new file mode 100644 index 0000000..9d8dec0 Binary files /dev/null and b/common/images/add-forge-now-2.png differ diff --git a/common/images/add-forge-now-3.png b/common/images/add-forge-now-3.png new file mode 100644 index 0000000..bfe9fbf Binary files /dev/null and b/common/images/add-forge-now-3.png differ diff --git a/common/images/add-forge-now-states.png b/common/images/add-forge-now-states.png new file mode 100644 index 0000000..be4b369 Binary files /dev/null and b/common/images/add-forge-now-states.png differ diff --git a/common/images/hal-deposit-source.png b/common/images/hal-deposit-source.png new file mode 100644 index 0000000..de8a70e Binary files /dev/null and b/common/images/hal-deposit-source.png differ diff --git a/common/images/hal-deposit-swhid.png b/common/images/hal-deposit-swhid.png new file mode 100644 index 0000000..5835b3c Binary files /dev/null and b/common/images/hal-deposit-swhid.png differ diff --git a/common/images/save-code-now-1.png b/common/images/save-code-now-1.png new file mode 100644 index 0000000..b9d1234 Binary files /dev/null and b/common/images/save-code-now-1.png differ diff --git a/talks-public/2022-06-24-CNRS/2022-06-24-CNRS.org b/talks-public/2022-06-24-CNRS/2022-06-24-CNRS.org new file mode 100644 index 0000000..7caa4f1 --- /dev/null +++ b/talks-public/2022-06-24-CNRS/2022-06-24-CNRS.org @@ -0,0 +1,258 @@ +#+COLUMNS: %40ITEM %10BEAMER_env(Env) %9BEAMER_envargs(Env Args) %10BEAMER_act(Act) %4BEAMER_col(Col) %10BEAMER_extra(Extra) %8BEAMER_opt(Opt) +#+TITLE: Archive and reference Software +# #+AUTHOR: Benoît Chauvet +# #+EMAIL: contact@benoitchauvet.com +#+BEAMER_HEADER: \date[24/06/2022]{24/06/2022\\Evénement Forge CNRS, Paris 2022} +#+BEAMER_HEADER: \title[Archive and reference software~~~~ www.softwareheritage.org]{How to archive and reference Software's source code in Software Heritage} +#+BEAMER_HEADER: \author[Benoît Chauvet~~~~ contact@benoitchauvet.com]{Benoît Chauvet} +#+BEAMER_HEADER: \institute[Software Heritage]{Software Engineering Manager, Software Heritage\\Inria} +# #+BEAMER_HEADER: \setbeameroption{show notes on second screen} +#+BEAMER_HEADER: \setbeameroption{hide notes} +#+KEYWORDS: software heritage legacy preservation knowledge mankind technology +#+LATEX_HEADER: \usepackage{tcolorbox} +#+LATEX_HEADER: \definecolor{links}{HTML}{2A1B81} +#+LATEX_HEADER: \hypersetup{colorlinks,linkcolor=,urlcolor=links} + +# +# prelude.org contains all the information needed to export the main beamer latex source +# use prelude-toc.org to get the table of contents +# + +#+INCLUDE: "../../common/modules/prelude-toc.org" :minlevel 1 + + +#+INCLUDE: "../../common/modules/169.org" + +# +LaTeX_CLASS_OPTIONS: [aspectratio=169,handout,xcolor=table] + +#+LATEX_HEADER: \usepackage{bbding} +#+LATEX_HEADER: \DeclareUnicodeCharacter{66D}{\FiveStar} + +# +# If you want to change the title logo it's here +# +# +BEAMER_HEADER: \titlegraphic{\includegraphics[width=0.5\textwidth]{SWH-logo}} + +# aspect ratio can be changed, but the slides need to be adapted +# - compute a "resizing factor" for the images (macro for picblocks?) +# +# set the background image +# +# https://pacoup.com/2011/06/12/list-of-true-169-resolutions/ +# +#+BEAMER_HEADER: \pgfdeclareimage[height=90mm,width=160mm]{bgd}{swh-world-169.png} +#+BEAMER_HEADER: \setbeamertemplate{background}{\pgfuseimage{bgd}} +#+LATEX: \addtocounter{framenumber}{-1} + + +* Introduction : the Software Heritage project + +** Why an archive ? Software is spread all around + :PROPERTIES: + :CUSTOM_ID: spread + :END: + #+latex: \begin{flushleft} + #+ATTR_LATEX: :width \extblockscale{.5\linewidth} + file:myriadsources.png + #+latex: \end{flushleft} + +*** Fashion victims + - many disparate development platforms + - a myriad places where distribution may happen + - projects tend to migrate from one place to another over time + +*** One place... :B_block: + :PROPERTIES: + :BEAMER_env: block + :END: + \hfill ... where can we find, track and search /all/ source code? + +** Why an archive ? Software is fragile + :PROPERTIES: + :CUSTOM_ID: fragile + :END: + #+latex: \begin{flushleft} + #+ATTR_LATEX: :width \extblockscale{.5\linewidth} + file:fragilecloud.png + #+latex: \end{flushleft} + +*** Like all digital information, FOSS is fragile +# - inconsiderate and/or malicious code loss (e.g., Code Spaces) + - link rot: projects are created, moved around, removed + - business-driven code loss (e.g., Gitorious, Google Code, Bitbucket) + - data rot: physical media with legacy software decay + +*** If a website disappears you go to the Internet Archive... :B_block: + :PROPERTIES: + :BEAMER_env: block + :END: + \hfill where do you go if (a repository on) GitHub or GitLab goes away? + + +** Software is missing its own Research Infrastructure + :PROPERTIES: + :CUSTOM_ID: research + :END: + #+latex: \begin{flushleft} + #+ATTR_LATEX: :width \extblockscale{.4\linewidth} + file:atacama-telescope.jpg + #+latex: \mbox{}\\{\tiny Photo: ALMA(ESO/NAOJ/NRAO), R. Hills} + #+latex: \end{flushleft} +*** A wealth of software research on crucial issues... + - safety, security, test, verification, proof + - software engineering, software evolution + - empirical and big data studies + +*** If you study the stars, you go to Atacama... :B_block: + :PROPERTIES: + :BEAMER_env: block + :END: + \hfill ... where is the /very large telescope/ of source code? + +** Software Heritage in a Nutshell + +#+latex: \begin{center} +#+ATTR_LATEX: :width \extblockscale{.6\linewidth} +file:SWH-logo+motto.pdf +#+latex: \end{center} + + +*** Main Objectives +- *Collect*, *Preserve* and *Share* + +*** Reference catalog + :PROPERTIES: + :BEAMER_env: block + :BEAMER_COL: .3 + :END: +#+BEGIN_EXPORT latex +\begin{center} +\includegraphics[width=.4\linewidth]{myriadsources} +\end{center} +#+END_EXPORT + *find* and *reference* all software source code (open source) + +*** Universal archive + :PROPERTIES: + :BEAMER_env: block + :BEAMER_COL: .3 + :END: +#+BEGIN_EXPORT latex +\begin{center} +\includegraphics[width=.4\linewidth]{fragilecloud} +\end{center} +#+END_EXPORT + *preserve* all the archived software source code *forever* + +*** Research infrastructure :B_block: + :PROPERTIES: + :BEAMER_COL: .3 + :BEAMER_env: block + :END: +#+BEGIN_EXPORT latex +\begin{center} +\includegraphics[width=.4\linewidth]{atacama-telescope} +\end{center} +#+END_EXPORT + *enable analysis* of all software source code, make every piece *identifiable* and freely *available* + +** Our principles + :PROPERTIES: + :CUSTOM_ID: principlesstatus + :END: +#+latex: \begin{center} +#+ATTR_LATEX: :width .6\linewidth +file:SWH-as-foundation-slim.png +#+latex: \end{center} +#+latex: \footnotesize\vspace{-3mm} + + #+latex: \centering + #+ATTR_LATEX: :width \extblockscale{.8\linewidth} + file:2022-05-06-archive-growth.png + +** Under the hood: Automation, and storage + :PROPERTIES: + :CUSTOM_ID: automation + :END: + #+BEAMER: \begin{center} + #+BEAMER: \only<1>{\includegraphics[width=\extblockscale{\textwidth}]{swh-dataflow-merkle.pdf}} + #+BEAMER: \end{center} + /Global development history/ *permanently archived* in a *uniform data model* + - over *12 billion* unique source files from almost *180 million* software projects + - *~900 TB* (uncompressed) blobs, *~25 B* nodes, *~300 B* edges + +* Reference archived code with SWHIDs + +** R(eference): granularity and identifiers \hfill [[http://doi.org/10.15497/RDA00053][10.15497/RDA00053]] + #+LATEX: \centering\forcebeamerstart + #+LATEX: \only<1>{\includegraphics[width=0.8\linewidth]{Granularity-Level-animated-0.png}} + #+LATEX: \only<2>{\includegraphics[width=0.8\linewidth]{Granularity-Level-animated-1.png}} + #+LATEX: \only<3>{\includegraphics[width=0.8\linewidth]{Granularity-Level-animated-2.png}} + #+LATEX: \only<4>{\includegraphics[width=0.8\linewidth]{Granularity-Level-animated-3.png}} + #+LATEX: \forcebeamerend + #+LATEX: \only<1>{\begin{block}{}\centering Top concept layers vs. bottom artifact layers\end{block}} + #+LATEX: \only<2>{\begin{block}{}\centering Extrinsic identifiers are key for the concept layers\end{block}} + #+LATEX: \only<3>{\begin{block}{}\centering Intrinsic identifiers are key for the artifact layers\end{block}} + #+LATEX: \only<4>{\begin{block}{}\centering In some cases, extrinsic identifiers can be added too\end{block}} + +** Meet the SWHID intrinsic identifiers + + :PROPERTIES: + :CUSTOM_ID: oneslide + :END: + #+LATEX: \centering + #+LATEX: \only<1>{\includegraphics[width=\linewidth]{SWHID-v1.4_3.png}} + #+LATEX: \forcebeamerend \vspace{-6mm} + + +** Meet the SWHID intrinsic identifiers + + \centering [[https://archive.softwareheritage.org/browse/origin/directory/?origin_url=https://src.koda.cnrs.fr/mmdc/sensorsio][SWHID DEMO !]] + + \vspace{1em} + + \centering [[https://www.softwareheritage.org/2020/07/09/intrinsic-vs-extrinsic-identifiers/][Reference : Extrinsic vs intrinsic identifiers]] + +* Archive a repository: Save Code Now + +** Save code now +#+LATEX: \only<1>{\includegraphics[width=1\linewidth]{save-code-now-1.png}} + +* Archive a whole forge: Add Forge Now + +** Add forge now: submit a request +#+LATEX: \only<1>{\includegraphics[width=1\linewidth]{add-forge-now-1.png}} + +** Add forge now: manage a request +#+LATEX: \only<1>{\includegraphics[width=0.8\linewidth]{add-forge-now-3.png}} + +* Deposit with HAL (Deposit) + +** HAL and Software Heritage: building a curated software catalog + +\centering \includegraphics[width=0.5\linewidth]{HAL-logo.png} + +*** Software project deposit in HAL + - 2 use cases : + - Source code deposit + - SWHID deposit + - [[https://doc.archives-ouvertes.fr/en/deposit/deposit-software-source-code/][Curated deposit in SWH via HAL]] + +** Source code deposit + +\centering \includegraphics[width=0.5\linewidth]{hal-deposit-source.png} + + +*** Local software source code upload + - .zip / .tar.gz format + - must contain README, AUTHORS and LICENSE files + +** SWHID deposit + +\centering \includegraphics[width=0.4\linewidth]{hal-deposit-swhid.png} + +*** Software Heritage archived code deposit + - SWHID reference + - metadata (codemeta.json) + + diff --git a/talks-public/2022-06-24-CNRS/Makefile b/talks-public/2022-06-24-CNRS/Makefile new file mode 100644 index 0000000..68fbee7 --- /dev/null +++ b/talks-public/2022-06-24-CNRS/Makefile @@ -0,0 +1 @@ +include ../Makefile.slides