diff --git a/common/images/2018-06-team-midres.jpg b/common/images/2018-06-team-midres.jpg new file mode 100644 index 0000000..fccbbdc Binary files /dev/null and b/common/images/2018-06-team-midres.jpg differ diff --git a/common/images/John_Carmack_GDC_2010.jpg b/common/images/John_Carmack_GDC_2010.jpg new file mode 100644 index 0000000..de7afd9 Binary files /dev/null and b/common/images/John_Carmack_GDC_2010.jpg differ diff --git a/common/images/MH.png b/common/images/MH.png new file mode 100644 index 0000000..f089398 Binary files /dev/null and b/common/images/MH.png differ diff --git a/common/images/swh-apollo11.png b/common/images/swh-apollo11.png new file mode 100644 index 0000000..0529fb6 Binary files /dev/null and b/common/images/swh-apollo11.png differ diff --git a/common/images/swh-quake3.png b/common/images/swh-quake3.png new file mode 100644 index 0000000..5aded63 Binary files /dev/null and b/common/images/swh-quake3.png differ diff --git a/talks-public/2018-06-07-Unesco/2018-06-07-Unesco.org b/talks-public/2018-06-07-Unesco/2018-06-07-Unesco.org new file mode 100644 index 0000000..468405a --- /dev/null +++ b/talks-public/2018-06-07-Unesco/2018-06-07-Unesco.org @@ -0,0 +1,475 @@ +#+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 +#+SUBTITLE: Opening the doors to the public +#+AUTHOR: Roberto Di Cosmo +#+EMAIL: roberto@dicosmo.org @rdicosmo @swheritage +#+BEAMER_HEADER: \date{May 30th, 2018} +#+BEAMER_HEADER: \title[www.softwareheritage.org]{Software Heritage} +#+BEAMER_HEADER: \author[Roberto Di Cosmo \hspace{5em} www.dicosmo.org]{Roberto Di Cosmo} +# #+BEAMER_HEADER: \setbeameroption{show notes on second screen} +#+BEAMER_HEADER: \setbeameroption{hide notes} +#+KEYWORDS: software heritage legacy preservation knowledge mankind technology + +# +# 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.7\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}} + +* 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 +*** At the heart of our society :B_picblock:noexport: + :PROPERTIES: + :BEAMER_opt: pic=software-center.pdf, leftpic=true, width=.3\linewidth + :BEAMER_env: picblock + :END: + - /Powers/ industry + - /Fuels/ digital transformation + - /Mediates/ access to information + - /Essential/ for scientific research +*** Source code is /special/ :noexport: + \hfill it is /executable/ and /human readable/ knowledge (an /all time new/) +*** 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.”/ +** We are at a turning point +#+INCLUDE: "../../common/modules/turningpoint.org::#turningpoint" :only-contents t :minlevel 5 +# * ... but it is not in good shape! +# #+INCLUDE: "../../common/modules/swh-motivations-foss-iconic.org::#spread" :minlevel 2 +# #+INCLUDE: "../../common/modules/swh-motivations-foss-iconic.org::#fragile" :minlevel 2 +# #+INCLUDE: "../../common/modules/swh-motivations-foss-iconic.org::#research" :minlevel 2 +* The Software Heritage initiative +# +# One slide motivation + goals +# +#+INCLUDE: "../../common/modules/swh-goals-oneslide-vertical.org::#goals" :minlevel 2 +# +* Milestones +** Mai 2015: ignition +#+ATTR_LATEX: :width .6\linewidth + file:inria-logo-new.png +*** initial push + \hfill resources, support +*** like for W3C + \hfill long term commitment, and open approach +** June 2016: announcement +#+ATTR_LATEX: :height .8\textheight +file:swh-announce-2016.png + +** April 2017: Unesco agreement +#+ATTR_LATEX: :height .8\textheight +file:swh-unesco-2017.png + +** Summer 2018: getting up to speed +*** The team + :PROPERTIES: + :BEAMER_COL: .48 + :BEAMER_env: block + :END: +#+ATTR_LATEX: :width .9\linewidth +file:2018-06-team-midres.jpg +*** The archive + :PROPERTIES: + :BEAMER_COL: .48 + :BEAMER_env: block + :END: +#+ATTR_LATEX: :width .9\linewidth +file:swh-counters-2018-06.png +\vskip -1em + \small GitHub, Debian, Gitorious, GoogleCode, ... +*** :B_ignoreheading: + :PROPERTIES: + :BEAMER_env: ignoreheading + :END: +*** Sponsors + :PROPERTIES: + :BEAMER_COL: .54 + :BEAMER_env: block + :END: + \Large \mbox{}\hfill *Microsoft* \hfill *Intel* \hfill *Société Générale* \hfill\mbox{}\\ + \centering + \large Huawei, Google\\ + \normalsize DANS, Nokia Bell Labs, University of Bologna, GitHub, UQAM, FOSSID +*** Collaborations + :PROPERTIES: + :BEAMER_COL: .42 + :BEAMER_env: block + :END: + - *Qwant* (search engine) + - Crossminer + - HAL, Adullact +* Today +** Today: opening the doors! \hfill archive.softwareheritage.org +#+ATTR_LATEX: :heigth .7\textheight +file:swh-opening.png +** Visiting the archive: the Apollo 11 source code +*** Margaret Hamilton today + :PROPERTIES: + :BEAMER_env: block + :BEAMER_COL: .42 + :END: + file:MH.png +*** 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...]] +** Visiting the archive: the NCSA-Mosaic source code :noexport: +*** Mark Andreesen + :PROPERTIES: + :BEAMER_env: block + :BEAMER_COL: .42 + :END: + file:MH.png +*** The NCSA Mosaic 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!]] + +** Yes, 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 see the strategic plan... +* Using the Software Heritage archive :noexport: +** Reference archive for all software +*** A "wayback machine" for software source code ... \hfill and *intrinsic identifiers*! + - *\url{http://archive.softwareheritage.org/browse}* \hfill (*icse* / *2018*) + - *\url{http://bit.ly/swhpids}* for persistent identifiers +#+BEAMER: \pause +*** + \hfill Demo time: let's highlight some features... +*** Origin search :B_block: + :PROPERTIES: + :BEAMER_env: block + :BEAMER_COL: .33 + :END: + #+latex: \centering % \vspace{-3mm} + #+ATTR_LATEX: :width \linewidth + file:webui-origin-search.png +*** Directory browsing + :PROPERTIES: + :BEAMER_env: block + :BEAMER_COL: .33 + :END: + #+latex: \centering % \vspace{-3mm} + #+ATTR_LATEX: :width \linewidth + file:webui-directory.png +*** Revisions as diffs + :PROPERTIES: + :BEAMER_env: block + :BEAMER_COL: .33 + :END: + #+latex: \centering % \vspace{-3mm} + #+ATTR_LATEX: :width \linewidth + file:webui-commit-diff.png +*** Web UI --- syntax highlighting and selection + #+latex: \centering \vspace{-3mm} + #+ATTR_LATEX: :width .85\textwidth + file:webui-source-file.png +** A glimpse at the technical roadmap :noexport: +*** Features... + - (done) *lookup* by content hash + - *browsing*: "wayback machine" for archived code + - (done) *\url{http://archive.softwareheritage.org/api}* + - (done) *\url{http://archive.softwareheritage.org/browse/search}* + - (done) *download*: =wget= / =git clone= from the archive + - (done) *deposit* of source code bundles directly to the archive + - (todo) *provenance* lookup for all archived content + - (todo) *full-text search* on all archived source code files +#+BEAMER: \pause +*** ... and much more ... + you have the world's software development graph at your hands!\\ + \hfill your tools could be here! +** Supporting more accessible and reproducible science :noexport: + :PROPERTIES: + :CUSTOM_ID: research + :END: + #+LATEX: \includegraphics[width=\extblockscale{.4\linewidth}]{action-research__bi} \hfill + #+LATEX: \includegraphics[width=\extblockscale{.5\linewidth}]{PreservationTriangle} \hfill\mbox{} +*** A global library referencing all software used in all research fields + - completes the infrastructure for *Open Access* in science + - provides intrinsic persistent identifiers needed for scientific *reproducibility* + - enables large scale, verifiable *software studies* +** Deposit Scientific Software :noexport: + #+INCLUDE: "../../common/modules/swh-scientific-publishing.org::#hal" :minlevel 3 :only-contents t +#+BEAMER: \pause +*** Intrinsic PIDS for referencing content now available + \hfill see \url{http://bit.ly/swhpids} and the forthcoming iPres 2018 article +** The way to go to archive and reference scientific software :noexport: + #+INCLUDE: "../../common/modules/swh-scientific-publishing.org::#benefits" :minlevel 3 :only-contents t +** Big Code = Big data + AI :noexport: +#+LATEX: \includegraphics[width=\extblockscale{.13\linewidth}]{universal.png} +*** Large scale /repeatable/ software studies... + :PROPERTIES: + :BEAMER_act: +- + :END: + - vulnerability detection + - dependency analysis + - pattern elicitation + - automatic classification ... +*** ... need a uniform representation + Software Heritage has *one data model* for all forges/VCS...\\ + \hfill ... yes, we do *data normalization* of software evolutiona! +*** + \hfill Coming soon to a platform near you! +* Building for the long term :noexport: +** Growing Support :noexport: + :PROPERTIES: + :CUSTOM_ID: support + :END: +*** Landmark Inria Unesco agreement, April 3rd, 2017 + #+BEGIN_EXPORT latex + \includegraphics[width=\extblockscale{.25\linewidth}]{inria-logo-new} \hfill + \includegraphics[width=\extblockscale{.35\linewidth}]{unesco-accord} \hfill + \includegraphics[width=\extblockscale{.2\linewidth}]{unesco}\\[1em] + #+END_EXPORT +*** Sharing the vision :B_block: + :PROPERTIES: + :CUSTOM_ID: endorsement + :BEAMER_COL: .5 + :BEAMER_env: block + :END: + #+LATEX: \begin{center}\includegraphics[width=\extblockscale{1.4\linewidth}]{support.pdf}\end{center} +*** See more :noexport: + \hfill\tiny\url{http:://www.softwareheritage.org/support/testimonials} +*** Contributing to the mission :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: \begin{center} + #+LATEX: \includegraphics[width=\extblockscale{.2\linewidth}]{sponsors-levels.pdf} + #+LATEX: \includegraphics[width=\extblockscale{1.1\linewidth}]{sponsors.pdf} + #+LATEX: \end{center} +# - sponsoring / partnership :: \hfill \url{sponsorship.softwareheritage.org} +** The next steps :noexport: +*** 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 +** You can help! :noexport: + #+BEAMER: \vspace{-1mm} +*** Tackle the research challenges + - efficient tracking of development streams + - machine learning/classification + - ... +*** Contribute to the development \hfill see \url{http://forge.softwareheritage.org} + | ٭٭ | listers/loaders for other unsupported forges, VCS | + | ٭٭ | Web UI improvements | +#+BEAMER: \pause +*** Funding :B_block: + :PROPERTIES: + :BEAMER_env: block + :BEAMER_COL: .63 + :END: + - pester /companies/ to become sponsors : + \url{sponsorship.softwareheritage.org} + - give /your own contribution/ : \url{www.softwareheritage.org/donate} +#+BEAMER: \pause +*** Spread the word! :B_block: + :PROPERTIES: + :BEAMER_env: block + :BEAMER_COL: .37 + :END: + - help research teams /use/ the archive + - tell everybody about Software Heritage +* Conclusion +** Come in, we're open! \hfill www.softwareheritage.org/donate +#+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 diff --git a/talks-public/2018-06-07-Unesco/Makefile b/talks-public/2018-06-07-Unesco/Makefile new file mode 100644 index 0000000..68fbee7 --- /dev/null +++ b/talks-public/2018-06-07-Unesco/Makefile @@ -0,0 +1 @@ +include ../Makefile.slides