#+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{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: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
* 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::#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

* 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
** Reproducibility
#+INCLUDE: "../../common/modules/swh-scientific-reproducibility.org::#short" :only-contents t
** Scientific Publishing
#+INCLUDE: "../../common/modules/swh-scientific-publishing.org::#hal" :only-contents t
#+INCLUDE: "../../common/modules/swh-scientific-publishing.org::#codereferences" :only-contents t
#+INCLUDE: "../../common/modules/swh-scientific-publishing.org::#benefits" :only-contents t

