diff --git a/common/images/sponsors-levels.pdf b/common/images/sponsors-levels-2017.pdf similarity index 100% copy from common/images/sponsors-levels.pdf copy to common/images/sponsors-levels-2017.pdf diff --git a/common/images/sponsors-levels.odg b/common/images/sponsors-levels.odg index 1968f3d..81f8479 100644 Binary files a/common/images/sponsors-levels.odg and b/common/images/sponsors-levels.odg differ diff --git a/common/images/sponsors-levels.pdf b/common/images/sponsors-levels.pdf index b38f97f..29459df 100644 Binary files a/common/images/sponsors-levels.pdf and b/common/images/sponsors-levels.pdf differ diff --git a/common/images/sponsors.odg b/common/images/sponsors.odg index 8078bd4..b399403 100644 Binary files a/common/images/sponsors.odg and b/common/images/sponsors.odg 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 index 86042de..cad93d9 100644 --- a/talks-public/2018-06-07-Unesco/2018-06-07-Unesco.org +++ b/talks-public/2018-06-07-Unesco/2018-06-07-Unesco.org @@ -1,508 +1,510 @@ #+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{June 7th, 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.org" :minlevel 1 # #+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 *** 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 * The Software Heritage initiative # # One slide motivation + goals # -** Software Heritage in a nutshell +** Software Heritage, in a nutshell \transdissolve #+INCLUDE: "../../common/modules/swh-goals-oneslide-vertical.org::#goals" :only-contents t :minlevel 3 # * Collect, Preserve, Share :noexport: ** Collect *** #+BEAMER: \begin{center} #+BEAMER: \mode{\only<1>{\includegraphics[width=\extblockscale{.9\textwidth}]{swh-dataflow-merkle-listers.pdf}}} #+BEAMER: \only<2-3>{\includegraphics[width=\extblockscale{.9\textwidth}]{swh-dataflow-merkle.pdf}} #+BEAMER: \end{center} #+BEAMER: \pause #+BEAMER: \pause - all the software source code - full development history permanently archived ** Preserve *** Build a 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 ** Share * Milestones +** +#+BEAMER: \vfill\begin{center}\Huge Milestones\end{center}\vfill ** Mai 2015: ignition #+ATTR_LATEX: :width .6\linewidth file:inria-logo-new.png *** initial push \hfill core team and infrastructure *** long term commitment \hfill open approach, and continued support ** June 2016: announcement #+ATTR_LATEX: :height .8\textheight file:swh-announce-2016.png #+BEAMER: \transpush ** April 2017: Unesco agreement #+ATTR_LATEX: :height .8\textheight file:swh-unesco-2017.png #+BEAMER: \transpush ** 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 #+BEAMER: \transpush * Today ** Today: opening the doors! \hfill archive.softwareheritage.org \transdissolve #+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, 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 see the strategic plan... ** 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 * 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} ** 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