diff --git a/talks-public/2022-11-13-biennale/2022-11-13-biennale.org b/talks-public/2022-11-13-biennale/2022-11-13-biennale.org new file mode 100644 index 0000000..f7b8d4a --- /dev/null +++ b/talks-public/2022-11-13-biennale/2022-11-13-biennale.org @@ -0,0 +1,371 @@ +#+COLUMNS: %40ITEM %10BEAMER_env(Env) %9BEAMER_envargs(Env Args) %10BEAMER_act(Act) %4BEAMER_col(Col) %10BEAMER_extra(Extra) %8BEAMER_opt(Opt) +#+TITLE: Preservare il Software Bene Comune per il Futuro dell'Umanità +#+BEAMER_HEADER: \date[2022-11-13, Torino]{13 Novembre 2022\\Biennale Tecnologia\\Torino, Italy\\[-2mm]} +#+AUTHOR: Stefano Zacchiroli +#+DATE: 13 Novembre 2022 +#+EMAIL: stefano.zacchiroli@telecom-paris.fr + +#+INCLUDE: "../../common/modules/prelude-toc.org" :minlevel 1 +#+INCLUDE: "../../common/modules/169.org" +#+BEAMER_HEADER: \institute[Télécom Paris]{Télécom Paris, Institut Polytechnique de Paris\\ {\tt stefano.zacchiroli@telecom-paris.fr}} +#+BEAMER_HEADER: \title[Preservare il Software Bene Comune]{Preservare il Software Bene Comune per il Futuro dell'Umanità} +#+BEAMER_HEADER: \author{Stefano Zacchiroli} + +* Preface +** About the speaker + :PROPERTIES: + :CUSTOM_ID: bio + :END: +*** + - Professor of Computer Science, Télécom Paris, Institut Polytechnique de + Paris + - Free/Open Source Software activist (20+ years) + - Debian Developer & Former 3x Debian Project Leader + - Former Open Source Initiative (OSI) director + - Software Heritage co-founder & CTO +* The Software Commons +** Software is everywhere (and a key mediator) in society +#+latex: \begin{center} +#+ATTR_LATEX: :width .7\linewidth +file:software-center.pdf +#+latex: \end{center} +# #+INCLUDE: "../../common/modules/foss-commons.org::#freeswdef" +** Free/Open Source Software (FOSS) is everywhere as well +*** Free Software (1986) + :PROPERTIES: + :BEAMER_env: definition + :END: + A program is *free software* if the program's users have the four + /essential freedoms/: + - Freedom #0, to *run* the program, for any purpose + - Freedom #1, to *study* how the program works, and change it + - Freedom #2, to *redistribute* copies + - Freedom #3, to *improve* the program, and *release* improvements +# #+INCLUDE: "../../common/modules/foss-commons.org::#commonsdef" +*** linebreak :B_ignoreheading: + :PROPERTIES: + :BEAMER_env: ignoreheading + :END: +Current estimates: 99% of software products on the market contains at least +/some/ free software parts (Synopsis 2020). +** The Commons and FOSS +*** Definition (Commons) + The *commons* is the cultural and natural resources accessible to all + members of a society, including natural materials such as air, water, and a + habitable earth. These resources are held in common, not owned privately. +*** Definition (Software Commons) + The *software commons* consists of all computer software which is available + at little or no cost and which can be altered and reused with few + restrictions. Thus /all open source software and all free software are part + of the [software] commons/. […] +*** linebreak :B_ignoreheading: + :PROPERTIES: + :BEAMER_env: ignoreheading + :END: + Kranich and Schement (2008); Schweik and English (2012). +** Software is dual-form knowledge +#+INCLUDE: "../../common/modules/source-code-different-short.org::#thesourcecode" :only-contents t :minlevel 3 +** Software /source code/ is precious human knowledge +#+INCLUDE: "../../common/modules/source-code-different-short.org::#softwareisdifferent" :only-contents t :minlevel 3 +* An Endangered Knowledge +** But /where/ is this commons? + #+latex: \begin{flushleft} + #+ATTR_LATEX: :width \extblockscale{.7\linewidth} + file:myriadsources.png + #+latex: \end{flushleft} +*** + - many disparate *development* platforms, with a few dominant players (e.g., + GitHub) + - a myriad places where *distribution* may happen + - most of them operated by *for-profit* companies +** Calling for preservation: UNESCO +*** :B_column:BMCOL: + :PROPERTIES: + :BEAMER_col: .53 + :BEAMER_env: column + :END: + #+ATTR_LATEX: :width .7\linewidth + file:UNESCOParisCallMeeting.png + UNESCO, Inria, Software Heritage invite\\ + [[https://en.unesco.org/news/experts-call-greater-recognition-software-source-code-heritage-sustainable-development][40 international experts meet in Paris]] ... + #+BEAMER: \pause +*** :B_column:BMCOL: + :PROPERTIES: + :BEAMER_col: .5 + :BEAMER_env: column + :END: + #+ATTR_LATEX: :width .65\linewidth + file:paris_call_ssc_cover.jpg + [[https://en.unesco.org/foss/paris-call-software-source-code][The call is published on Feb 2019]]\pause +*** :B_ignoreheading: + :PROPERTIES: + :BEAMER_env: ignoreheading + :END: +*** + :PROPERTIES: + :BEAMER_COL: 1.06 + :BEAMER_env: block + :END: + “[We call to] support efforts to gather and preserve the artifacts and + narratives of the history of computing, while the earlier creators are still + alive” + \vspace{10pt} + \hfill https://en.unesco.org/foss/paris-call-software-source-code \hfill\mbox{} + +** Calling for preservation: Donald Knuth and Len Shustek +*** Communications of the ACM, February 2021 :B_picblock: + :PROPERTIES: + :BEAMER_env: picblock + :BEAMER_OPT: pic=KnuthHistory.jpg, leftpic=true, width=.3\textwidth + :END: + /"Telling historical stories is the best way to teach. It's much easier to understand something if you know the threads it is connected to."/ + \mbox{}\\ + \mbox{}\\ + \mbox{}\hfill /Let's Not Dumb Down the History of Computer Science/\\ + \mbox{}\hfill Donald E. Knuth, Len Shustek\\ + \mbox{}\hfill https://doi.org/10.1145/3442377 +#+BEAMER: \pause +*** A unique opportunity + most of the creators are still here: we can talk to them!\\ + \hfill but the clock is ticking... +# - Software Heritage provides a key infrastructure for software historians +** Source code history for Open Science + #+INCLUDE: "../../common/modules/swh-ardc.org::#pillaropenscience" :only-contents t :minlevel 3 +#+BEAMER: \pause +*** + \hfill Preserving the history of source code is important for /reproducibility/ +** Software source code is fragile +#+INCLUDE: "../../common/modules/swh-motivations.org::#fragile" :only-contents t :minlevel 3 +** Takeaways :noexport: +*** Software Commons +- Good news: thanks to FOSS developers we are growing by the day a novel kind + of digital commons rich in valuable human knowledge: the *software commons*. +*** Risk of losing it +- However: there is a risk of "ruining" it (specifically: losing access to it + forever). +- As per other commons (including traditional material commons, like natural + resources), we need to apply *individual care, public policies, and proactive + initiatives* to mitigate this risk. +*** linebreak :B_ignoreheading: + :PROPERTIES: + :BEAMER_env: ignoreheading + :END: +#+BEAMER: \pause +... enter Software Heritage! +* Avoiding the Tragedy of an Unattended Software Commons +** Software Heritage in a nutshell \hfill www.softwareheritage.org + #+INCLUDE: "../../common/modules/swh-goals-oneslide-vertical.org::#goals" :only-contents t :minlevel 3 +** The largest public source code archive, principled \hfill \small \url{bit.ly/swhpaper} +*** + :PROPERTIES: + :BEAMER_env: block + :BEAMER_col: 0.5 + :END: + #+latex: \centering + #+ATTR_LATEX: :width \linewidth + file:SWH-as-foundation-slim.png +*** + :PROPERTIES: + :BEAMER_env: block + :BEAMER_col: 0.5 + :END: + #+latex: \centering + #+ATTR_LATEX: :width \linewidth + file:archive-growth.png\\ + [[https://archive.softwareheritage.org][archive.softwareheritage.org]] +*** linebreak :B_ignoreheading: + :PROPERTIES: + :BEAMER_env: ignoreheading + :END: +#+BEAMER: \pause +*** Technology + :PROPERTIES: + :BEAMER_env: block + :BEAMER_col: 0.34 + :END: + - transparency and FOSS + - replicas all the way down +*** Content (billions!) + :PROPERTIES: + :BEAMER_env: block + :BEAMER_col: 0.32 + :END: + - intrinsic identifiers + - facts and provenance +*** Organization + :PROPERTIES: + :BEAMER_env: block + :BEAMER_col: 0.33 + :END: + - non-profit + - multi-stakeholder +** A peek under the hood: a global view on the software commons +*** + #+BEAMER: \begin{center} + #+BEAMER: \vspace{-2mm} + #+BEAMER: \includegraphics[width=.8\textwidth]{swh-dataflow-merkle.pdf} + #+BEAMER: \end{center} + #+BEAMER: \pause +*** + #+BEAMER: \vspace{-2mm} \small + A *global graph* linking together fully *deduplicated* source code artifact + (files, commits, directories, releases, etc.) to the places that distribute + them (e.g., Git repositories), providing a *unified view* on the entire + */Software Commons/*. + + (Size: *~30 B* nodes, *~300 B* edges, *~1 PiB* blobs) +** Software Heritage /intrinsic/ Identifiers (SWHID) \hfill [[https://docs.softwareheritage.org/devel/swh-model/persistent-identifiers.html][(full spec)]] +# #+INCLUDE: "../../common/modules/swh-id-syntax.org::#swh-id-syntax" :only-contents t :minlevel 3 + #+LATEX: \centering%\forcebeamerstart + #+LATEX: \mode{\only<1>{\includegraphics[width=\linewidth]{SWHID-v1.4_1.png}}} + #+LATEX: \mode{\only<2>{\includegraphics[width=\linewidth]{SWHID-v1.4_2.png}}} + #+LATEX: \only<3->{\includegraphics[width=\linewidth]{SWHID-v1.4_3.png}} + #+LATEX: %\forcebeamerend +*** An emerging standard :B_block: + :PROPERTIES: + :BEAMER_act: <4-> + :BEAMER_COL: .6 + :BEAMER_env: block + :END: + - in Linux Foundation's [[https://spdx.github.io/spdx-spec/appendix-VI-external-repository-identifiers/#persistent-id][SPDX 2.2]] + - IANA registered, WikiData property [[https://www.wikidata.org/wiki/Property:P6138][P6138]] +*** Examples: :B_block: + :PROPERTIES: + :BEAMER_act: <5-> + :BEAMER_COL: .4 + :BEAMER_env: block + :END: + - [[https://archive.softwareheritage.org/swh:1:cnt:64582b78792cd6c2d67d35da5a11bb80886a6409;origin=https://github.com/virtualagc/virtualagc;lines=245-261/][Apollo 11 AGC excerpt]] + - [[https://archive.softwareheritage.org/swh:1:cnt:bb0faf6919fc60636b2696f32ec9b3c2adb247fe;origin=https://github.com/id-Software/Quake-III-Arena;lines=549-572/][Quake III rsqrt]] +** Demo time! + - Browse [[https://archive.softwareheritage.org][the archive]] + - [[https://save.softwareheritage.org][Trigger archival]] of your preferred software in a breeze + - Get and use SWHIDs ([[https://docs.softwareheritage.org/devel/swh-model/persistent-identifiers.html][full specification available online]]) + - The [[https://www.softwareheritage.org/2019/07/20/archiving-and-referencing-the-apollo-source-code/][Apollo 11 AGC source code example]] + - Cite software [[https://www.softwareheritage.org/2020/05/26/citing-software-with-style/][with the biblatex-software style]] from CTAN + - Example use in a research article: compare Fig. 1 and conclusions + - in [[http://www.dicosmo.org/Articles/2012-DaneluttoDiCosmo-Pcs.pdf][the 2012 version]] + - in [[https://www.dicosmo.org/share/parmap_swh.pdf][the updated version]] using SWHIDs and Software Heritage +# - Example use in a research article: extensive use of SWHIDs in [[https://www.dicosmo.org/Articles/2020-ReScienceC.pdf][a replication experiment]] + - Example in a journal: [[http://www.ipol.im/pub/art/2020/300/][an article from IPOL]] + - [[https://doc.archives-ouvertes.fr/en/deposit/deposit-software-source-code/][Curated deposit in SWH via HAL]], see for example: + [[https://hal.archives-ouvertes.fr/hal-02130801][LinBox]], [[https://hal.archives-ouvertes.fr/hal-01897934][SLALOM]], [[https://hal.archives-ouvertes.fr/hal-02130729][Givaro]], [[https://hal.archives-ouvertes.fr/hal-02137040][NS2DDV]], [[https://hal.archives-ouvertes.fr/lirmm-02136558][SumGra]], [[https://hal.archives-ouvertes.fr/hal-02155786][Coq proof]], ... + - Rescue landmark legacy software, see the [[https://www.softwareheritage.org/swhap/][SWHAP process with UNESCO]] +* Researching the Software Commons (highligts) +#+INCLUDE: "../../common/modules/ese-research.org::#provenance" :only-contents t +#+INCLUDE: "../../common/modules/ese-research.org::#diversity" :only-contents t +#+INCLUDE: "../../common/modules/dataset.org::#graphdataset" :minlevel 2 +** The Software Commons is growing fast and becoming more diverse :noexport: +An observatory on the Software Commons enables studying broad phenomena and +trends. +#+BEAMER: \begin{center} \includegraphics[width=\textwidth]{revision_content_growth_wide.png} \end{center} +- *Original content* released as public code doubles every 22-30 months (Di + Cosmo, Rousseau, Zacchiroli. Emp.Sw.Eng. 2020). +- Other examples: long-term population trends such as *gender diversity* + (Zacchiroli, IEEE Software 2021) and *geography diversity* (Rossi and + Zacchiroli. ICSE 2022 & MSR 2022) in public code. +* Preserving the Software Commons --- Present and Future +** Academia & policy: growing adoption (selection) + #+INCLUDE: "../../common/modules/swh-adoption-academic.org::#adoption" :only-contents t :minlevel 3 +** An international, non profit initiative\hfill built for the long term + :PROPERTIES: + :CUSTOM_ID: support + :END: +*** Sharing the vision :B_block: + :PROPERTIES: + :CUSTOM_ID: endorsement + :BEAMER_COL: .5 + :BEAMER_env: block + :END: + #+LATEX: \begin{center}{\includegraphics[width=\extblockscale{.4\linewidth}]{unesco_logo_en_285}}\end{center} + #+LATEX: \vspace{-0.8cm} + #+LATEX: \begin{center}\vskip 1em \includegraphics[width=\extblockscale{1.4\linewidth}]{support.pdf}\end{center} + #+latex:\begin{center}\tiny\url{www.softwareheritage.org/support/testimonials}\end{center} + # #+BEAMER: \pause +*** Donors, members, sponsors :B_block: + :PROPERTIES: + :CUSTOM_ID: sponsors + :BEAMER_COL: .5 + :BEAMER_env: block + :END: + #+LATEX: \begin{center}\includegraphics[width=\extblockscale{.4\linewidth}]{inria-logo-new}\end{center} + #+LATEX: \vspace{-1cm} + #+LATEX: \begin{center} + #+LATEX: \colorbox{white}{\includegraphics[width=\extblockscale{1.4\linewidth}]{sponsors.pdf}} + #+LATEX: \end{center} + #+latex:\begin{center}\tiny\url{www.softwareheritage.org/support/sponsors}\end{center} +*** :B_ignoreheading: + :PROPERTIES: + :BEAMER_env: ignoreheading + :END: +*** Research collaboration :B_picblock:noexport: + :PROPERTIES: + :BEAMER_COL: .5 + :BEAMER_env: picblock + :BEAMER_OPT: pic=Qwant_Logo, leftpic=true + :END: + source code search engine +*** See more :noexport: + \hfill\tiny\url{http:://www.softwareheritage.org/support/testimonials} +*** Global network :B_picblock:noexport: + :PROPERTIES: + :BEAMER_COL: .5 + :BEAMER_env: picblock + :BEAMER_OPT: pic=fossid, leftpic=true, width=.3\linewidth + :END: + - first *independent mirror* + - increased reliability + +** You can help! +*** Foster adoption and best practices + + [[https://www.softwareheritage.org/save-and-reference-research-software/][archive and reference relevant source code]] (save code now, and [[https://hal.inria.fr/hal-01872189][deposit]]) + + use Software Heritage in research articles, journals, and books + + [[https://www.softwareheritage.org/swhap/][rescue and preserve landmark legacy source code]] with SWHAP and Software Stories +# #+BEAMER: \pause +*** Engage with Software Heritage as an individual + - join the [[https://www.softwareheritage.org/ambassadors/][ambassador program]], help raise awareness + - contribute to [[https://www.softwareheritage.org/community/developers/][technical]] and [[https://www.softwareheritage.org/community/scientists/][scientific]] development +# #+BEAMER: \pause +*** Engage with Software Heritage as an organization + - become [[https://www.softwareheritage.org/support/sponsors/][a member/sponsor]] + - build a Software Heritage mirror +** Thank you! +*** Resources + - homepage :: [[https://www.softwareheritage.org/][www.softwareheritage.org]] + - archive :: [[https://archive.softwareheritage.org/][archive.softwareheritage.org]] + - blog :: [[https://www.softwareheritage.org/blog/][www.softwareheritage.org/blog]] + - newsletter :: [[https://www.softwareheritage.org/newsletter/][www.softwareheritage.org/newsletter]] + +*** Selected references + #+BEGIN_EXPORT latex + \begin{thebibliography}{Foo Bar, 1969} + \footnotesize + + \bibitem{DiCosmo2017} Roberto Di Cosmo, Stefano Zacchiroli + \newblock Software Heritage: Why and How to Preserve Software Source Code + \newblock iPRES 2017: Intl. Conf. on Digital Preservation + + \bibitem{Abramatic2018} J.F. Abramatic, R. Di Cosmo, S. Zacchiroli, + \newblock Building the Universal Archive of Source Code + \newblock Communications of the ACM, October 2018 + + \end{thebibliography} + #+END_EXPORT + + #+BEAMER: \footnotesize ~\\ + (complete bibliography: [[https://www.softwareheritage.org/publications][www.softwareheritage.org/publications]]) + +* Appendix :B_appendix: + :PROPERTIES: + :BEAMER_env: appendix + :END: +** + \vfill + \centerline{\Huge Appendix} + \vfill + +#+INCLUDE: "../../common/modules/status-extended.org::#archivinggoals" :minlevel 2 +#+INCLUDE: "../../common/modules/status-extended.org::#architecture" :minlevel 2 :only-contents t +#+INCLUDE: "../../common/modules/status-extended.org::#merkletree" :minlevel 2 +#+INCLUDE: "../../common/modules/data-model.org::#merklestruct" :minlevel 2 +#+INCLUDE: "../../common/modules/status-extended.org::#dagdetailsmall" :minlevel 2 :only-contents t diff --git a/talks-public/2022-11-13-biennale/Makefile b/talks-public/2022-11-13-biennale/Makefile new file mode 100644 index 0000000..68fbee7 --- /dev/null +++ b/talks-public/2022-11-13-biennale/Makefile @@ -0,0 +1 @@ +include ../Makefile.slides