diff --git a/talks-public/2019-06-27-PSES/2019-06-27-PSES.org b/talks-public/2019-06-27-PSES/2019-06-27-PSES.org index f1f1b38..0dabbfd 100644 --- a/talks-public/2019-06-27-PSES/2019-06-27-PSES.org +++ b/talks-public/2019-06-27-PSES/2019-06-27-PSES.org @@ -1,285 +1,286 @@ #+COLUMNS: %40ITEM %10BEAMER_env(Env) %9BEAMER_envargs(Env Args) %10BEAMER_act(Act) %4BEAMER_col(Col) %10BEAMER_extra(Extra) %8BEAMER_opt(Opt) #+TITLE: Software Heritage: The Great Library of Source Code # does not allow short title, so we override it for beamer as follows : #+BEAMER_HEADER: \title[Software Heritage]{Software Heritage\\The Great Library of Source Code} -#+BEAMER_HEADER: \author{Nicolas Dandrimont} -#+BEAMER_HEADER: \date[2019-05-18 Ubuntu Party]{18 mai 2019\\Ubuntu Party - Paris} +#+BEAMER_HEADER: \author{David Douard \& Antoine R. Dumont} +#+BEAMER_HEADER: \date[2019-06-27 PSES]{27 juin 2019\\PSES - Choisy-le-Roy} #+AUTHOR: David Douard #+AUTHOR: Antoine R. Dumont #+DATE: 2019-06-27 #+EMAIL: david.douard@sdfa3.org #+EMAIL: ardumont@softwareheritage.org #+DESCRIPTION: Software Heritage: The Great Library of Source Code #+KEYWORDS: software heritage legacy preservation knowledge mankind technology #+INCLUDE: "../../common/modules/prelude.org" :minlevel 1 #+INCLUDE: "../../common/modules/169.org" -#+BEAMER_HEADER: \institute[Software Heritage]{Software Engineer - Software Heritage\\\href{mailto:nicolas@dandrimont.eu}{\tt nicolas@dandrimont.eu}} +#+BEAMER_HEADER: \institute[Software Heritage]{Software Engineer - Software Heritage\\\href{mailto:info@softwareheritage.org}{\tt info@softwareheritage.org}} #+LATEX_HEADER_EXTRA: \usepackage{bbding} #+LATEX_HEADER_EXTRA: \DeclareUnicodeCharacter{66D}{\FiveStar} #+LATEX_HEADER_EXTRA: \usepackage{tikz} #+LATEX_HEADER_EXTRA: \usetikzlibrary{arrows,shapes} #+LATEX_HEADER_EXTRA: \definecolor{swh-orange}{RGB}{254,205,27} #+LATEX_HEADER_EXTRA: \definecolor{swh-red}{RGB}{226,0,38} #+LATEX_HEADER_EXTRA: \definecolor{swh-green}{RGB}{77,181,174} * Software is everywhere around us ** Software is everywhere :PROPERTIES: :CUSTOM_ID: softwareispervasive :END: #+latex: \begin{center} #+ATTR_LATEX: :width .5\linewidth file:software-center.pdf #+latex: \end{center} #+BEGIN_EXPORT latex \note{If we look around us, we see software everywhere.\\[1em] It powers our industries, fuels innovation, mediates access to all digital information, and is a pillar of modern scientific research.\\[1em] % %Our industry, our society, our own lives depend on software!\\[1em] Software in general, and Free and Open Source software in particular, is at the heart of our society.\\[1em] The Source code of this software embodies our collective knowledge, and is a growing part of our cultural heritage.\\ %Now the question is: are we taking care of it? } #+END_EXPORT #+BEAMER: \pause *** Software embodies a growing part of... \hfill ... our scientific, /technical/ and Cultural Heritage! ** Source Code: /executable/ and /human readable/ knowledge #+INCLUDE: "../../common/modules/source-code-different-short.org::#thesourcecode" :only-contents t :minlevel 3 ** ~ 50 years, a lightning fast growth # #+INCLUDE: "../../common/modules/50years-source-code.org::#apollolinux" :only-contents t :minlevel 3 *** Apollo 11 (~60.000 lines), 1969 :B_picblock: :PROPERTIES: :BEAMER_opt: pic=Margaret_Hamilton, width=.4\linewidth, leftpic=true :BEAMER_env: picblock :BEAMER_act: :BEAMER_COL: .58 :END: "When I first got into it, nobody knew what it was that we were doing. It was like the Wild West."\\ \mbox{}\hfill Margaret Hamilton\\ # https://github.com/chrislgarry/Apollo-11 # https://archive.softwareheritage.org/api/1/origin/git/url/https://github.com/chrislgarry/Apollo-11 #+BEAMER: \pause *** Linux Kernel (in your pockets!) :B_picblock: :PROPERTIES: :BEAMER_opt: pic=Linuxlinecount, width=1.3\linewidth, leftpic=true :BEAMER_env: picblock :BEAMER_COL: .42 :BEAMER_act: :END: # \mbox{}\\ \vfill #+BEAMER: \pause *** Harold Abelson, Structure and Interpretation of Computer Programs \hfill (1985) /“Programs must be written for people to read, and only incidentally for machines to execute.”/ #+BEAMER: \pause *** Len Shustek, Computer History Museum \hfill (2006) \hfill /“Source code provides a view into the mind of the designer.”/ #+INCLUDE: "../../common/modules/swh-motivations-foss.org::#fragile" :minlevel 2 ** We are at a turning point *** Preserve the past \hfill Only a few years left to recover the history of software technology #+BEAMER: \pause *** Improve the future \hfill We need a \alert{universal} platform for all the future software source code * Software Heritage #+INCLUDE: "../../common/modules/swh-overview-sourcecode.org::#mission" :minlevel 2 ** Core principles #+latex: \begin{center} #+ATTR_LATEX: :width .9\linewidth file:SWH-as-foundation-slim.png #+latex: \end{center} #+BEAMER: \pause *** Open approach :B_block:BMCOL: :PROPERTIES: :BEAMER_col: 0.4 :BEAMER_env: block :END: - 100% Free and Open Source Software - transparency *** In for the long haul :B_block:BMCOL: :PROPERTIES: :BEAMER_col: 0.4 :BEAMER_env: block :END: - replication - non profit #+INCLUDE: "../../common/modules/status-extended.org::#archivinggoals" :minlevel 2 -* Architecture +* Data Model #+INCLUDE: "../../common/modules/status-extended.org::#architecture" :only-contents t -# #+INCLUDE: "../../common/modules/status-extended.org::#merkletree" :minlevel 2 - #+INCLUDE: "../../common/modules/status-extended.org::#merklerevision" :only-contents t + #+INCLUDE: "../../common/modules/status-extended.org::#merkletree" :minlevel 2 + #+INCLUDE: "../../common/modules/status-extended.org::#datamodel" :only-contents t + #+INCLUDE: "../../common/modules/status-extended.org::#dagdetailsmall" :only-contents t +# #+INCLUDE: "../../common/modules/status-extended.org::#merklerevision" :only-contents t #+INCLUDE: "../../common/modules/status-extended.org::#archive" :minlevel 2 -# #+INCLUDE: "../../common/modules/status-extended.org::#technology" :only-contents t - #+INCLUDE: "../../common/modules/status-extended.org::#technology-short" :only-contents t - #+INCLUDE: "../../common/modules/status-extended.org::#development" :only-contents t -# #+INCLUDE: "../../common/modules/status-extended.org::#features" :minlevel 2 * Accessing the archive #+INCLUDE: "../../common/modules/webui.org::#intro" ** Visiting the archive: the Apollo 11 source code *** Margaret Hamilton today :PROPERTIES: :BEAMER_env: block :BEAMER_COL: .42 :END: #+ATTR_LATEX: :width 0.4\linewidth file:mhh-sweden.3-190x300.jpg *** The Apollo 11 source code in SWH :PROPERTIES: :BEAMER_env: block :BEAMER_COL: .42 :END: file:swh-apollo11.png *** :B_ignoreheading: :PROPERTIES: :BEAMER_env: ignoreheading :END: *** Some pointers # Source code entry point - [[https://archive.softwareheritage.org/swh:1:dir:3c235a1a8223727a964c154eb8f2273176c48c88;origin=https://github.com/chrislgarry/Apollo-11/][Entry point]] - [[https://archive.softwareheritage.org/swh:1:cnt:41ddb23118f92d7218099a5e7a990cf58f1d07fa;origin=https://github.com/chrislgarry/Apollo-11;lines=53-87/][Burn, baby, burn!]] ** Visiting the archive: the Quake 3 source code *** John Carmack :PROPERTIES: :BEAMER_env: block :BEAMER_COL: .42 :END: #+ATTR_LATEX: :width .7\linewidth file:John_Carmack_GDC_2010.jpg *** The Quake 3 source code in SWH :PROPERTIES: :BEAMER_env: block :BEAMER_COL: .52 :END: file:swh-quake3.png *** :B_ignoreheading: :PROPERTIES: :BEAMER_env: ignoreheading :END: *** Some pointers # Source code entry point - [[https://archive.softwareheritage.org/swh:1:dir:c6f07c2173a458d098de45d4c459a8f1916d900f;origin=https://github.com/id-Software/Quake-III-Arena/][Entry point]] - [[https://archive.softwareheritage.org/swh:1:cnt:bb0faf6919fc60636b2696f32ec9b3c2adb247fe;origin=https://github.com/id-Software/Quake-III-Arena;lines=552-572/][What the f...]] # #+INCLUDE: "../../common/modules/status-extended.org::#apiintro" :minlevel 2 # #+INCLUDE: "../../common/modules/vault.org::#vault-short" :minlevel 2 :only-contents t # #+INCLUDE: "../../common/modules/vault.org::#main" :minlevel 2 :only-contents t #+INCLUDE: "../../common/modules/webui.org" :minlevel 2 :lines "21-" +* Architecture + #+INCLUDE: "../../common/modules/status-extended.org::#technology" :only-contents t + #+INCLUDE: "../../common/modules/status-extended.org::#development" :only-contents t * Today ** Yes, now you can! *** Wayback machine for source code :B_block: :PROPERTIES: :BEAMER_COL: .46 :BEAMER_env: block :END: \hfill *retrieve* the source code as it was *** Reference catalog :B_block: :PROPERTIES: :BEAMER_COL: .5 :BEAMER_env: block :END: \hfill use *intrinsic identifiers* for software *** :B_ignoreheading: :PROPERTIES: :BEAMER_env: ignoreheading :END: *** Open science :B_block: :PROPERTIES: :BEAMER_COL: .46 :BEAMER_env: block :END: \hfill *deposit* scientific software (via HAL) *** Universal knowledge base :B_block: :PROPERTIES: :BEAMER_COL: .5 :BEAMER_env: block :END: \hfill store the *knowledge* about source code *** :B_ignoreheading: :PROPERTIES: :BEAMER_env: ignoreheading :END: *** And much, much more is in store! \hfill With your help? ** The next steps *** The Software Heritage Foundation :B_block: :PROPERTIES: :BEAMER_env: block :BEAMER_COL: .4 :END: - independent - long term mission - multistakeholder *** The community :B_block: :PROPERTIES: :BEAMER_env: block :BEAMER_COL: .58 :END: - academia: Open Access, research - industry: better software - cultural heritage: *all* the software history *** The mirror network :B_block: :PROPERTIES: :BEAMER_env: block :END: - resilience - biodiversity #+BEGIN_EXPORT latex \begin{quote} “Let us save what remains: not by vaults and locks which fence them from the public eye and use in consigning them to the waste of time, but by such a multiplication of copies, as shall place them beyond the reach of accident.”\\ \hfill Thomas Jefferson \end{quote} #+END_EXPORT * Conclusion ** Come in, we're open! \hfill www.softwareheritage.org #+BEGIN_EXPORT latex \begin{center} \includegraphics[width=.6\linewidth]{SWH-logo.pdf} \end{center} \begin{center} {\large \url{www.softwareheritage.org} \hspace{4em} \url{@swheritage}} \end{center} #+END_EXPORT #+LATEX: {\begin{center}\Large Everybody is concerned, everybody can help build\end{center}} *** The Library of Alexandria of code :B_picblock: :PROPERTIES: :BEAMER_env: picblock :BEAMER_COL: 0.42 :BEAMER_OPT: pic=clock-spring-forward.png,width=.45\linewidth,leftpic=true :END: - recover the past - structure the future *** A CERN for Software :B_picblock: :PROPERTIES: :BEAMER_env: picblock :BEAMER_COL: 0.5 :BEAMER_OPT: pic=atacama-telescope.jpg,width=.5\linewidth,leftpic=true :END: - build better software + for industry + for society as a whole * FAQ :B_appendix: :PROPERTIES: :BEAMER_env: appendix :END: ** Q: do you archive /only/ Free Software? - We only crawl origins /meant/ to host source code (e.g., forges) - Most (~90%) of what we /actually/ retrieve is textual content #+BEAMER: \vfill *** Our goal Archive *the entire Free Software Commons* #+BEAMER: \vfill *** - Large parts of what we retrieve is /already/ Free Software, today - Most of the rest /will become/ Free Software in the long term - e.g., at copyright expiration