diff --git a/talks-public/2019-04-02_03-RDA/intro.org b/talks-public/2019-04-02_03-RDA/intro.org index 0547721..0eef1c7 100644 --- a/talks-public/2019-04-02_03-RDA/intro.org +++ b/talks-public/2019-04-02_03-RDA/intro.org @@ -1,162 +1,162 @@ #+COLUMNS: %40ITEM %10BEAMER_env(Env) %9BEAMER_envargs(Env Args) %10BEAMER_act(Act) %4BEAMER_col(Col) %10BEAMER_extra(Extra) %8BEAMER_opt(Opt) #+TITLE: Software Source Code Interest Group #+SUBTITLE: Introduction # does not allow short title, so we override it for beamer as follows : #+BEAMER_HEADER: \title[Software Source Code Interest Group (CC-BY-SA 4.0)]{Software Source Code Interest Group} # #+BEAMER_HEADER: \author[{\bf Roberto Di Cosmo (INRIA)}, Neil Chue Hong (SSI)]{{\bf Roberto Di Cosmo (INRIA)}, Neil Chue Hong (SSI)} #+AUTHOR: Roberto Di Cosmo (SWH and Inria) #+DATE: April 2nd, 2019 #+EMAIL: roberto@dicosmo.org #+DESCRIPTION: Preserving the technological knowledge of mankind #+KEYWORDS: software heritage legacy preservation knowledge mankind technology # # # Prelude contains all the information needed to export the main beamer latex source # #+INCLUDE: "../../common/modules/prelude.org" :minlevel 1 # #+INCLUDE: "../../common/modules/169.org" ** Why we are here *** Software is /an essential component/ of modern scientific research :B_picblock: -# Deep knowledge embodied in complex software systems :PROPERTIES: :BEAMER_opt: pic=papermountain,width=.25\linewidth,leftpic=true :BEAMER_env: picblock :BEAMER_act: +- :END: Top 100 papers (Nature, October 2014)\\ #+BEGIN_QUOTE [...] the vast majority describe experimental methods or sofware that have become essential in their fields.\\ #+END_QUOTE http://www.nature.com/news/the-top-100-papers-1.16224 #+BEAMER: \pause *** The /source code/ is essential - it contains the /real knowledge/, - it is currently poorly accounted for ** Reminder: the /source code/ of a software artefact :PROPERTIES: :CUSTOM_ID: thesourcecode :END: #+LATEX: \includegraphics[width=.08\linewidth]{software.png} “The source code for a work means the preferred form of the work for making modifications to it." \hfill GPL Licence #+Beamer: \pause *** :PROPERTIES: :BEAMER_env: block :BEAMER_act: +- :END: #+latex: \begin{center} Hello World \end{center} *** Program (excerpt of binary) :B_block:BMCOL: :PROPERTIES: :BEAMER_col: 0.5 :BEAMER_env: block :BEAMER_act: +- :END: #+begin_src hex :exports code 4004e6: 55 4004e7: 48 89 e5 4004ea: bf 84 05 40 00 4004ef: b8 00 00 00 00 4004f4: e8 c7 fe ff ff 4004f9: 90 4004fa: 5d 4004fb: c3 #+end_src *** Program (source code) :B_block:BMCOL: :PROPERTIES: :BEAMER_col: 0.55 :BEAMER_env: block :BEAMER_act: +- :END: #+begin_src c :exports code /* Hello World program */ #include void main() { printf("Hello World"); } #+end_src ** Software Source Code is /special/ :PROPERTIES: :CUSTOM_ID: softwareisdifferent :END: *** Harold Abelson, Structure and Interpretation of Computer Programs /“Programs must be written for people to read, and only incidentally for machines to execute.”/ *** Quake 2 source code (excerpt) :B_block:BMCOL: :PROPERTIES: :BEAMER_col: 0.45 :BEAMER_env: block :END: #+LATEX: \includegraphics[width=\linewidth]{quake-carmack-sqrt-1.png} # smart efficient implementation of 1/sqrt(x) on a CPU without special support *** Net. queue in Linux (excerpt) :B_block:BMCOL: :PROPERTIES: :BEAMER_col: 0.45 :BEAMER_env: block :END: #+LATEX: \includegraphics[width=\linewidth]{juliusz-sfb-short.png} # Juliusz implementation of stochastic fair blue in the Linux Kernel linux/net/sched/sch_sfb.c *** :B_ignoreheading: :PROPERTIES: :BEAMER_env: ignoreheading :END: *** Len Shustek, Computer History Museum \hfill /“Source code provides a view into the mind of the designer.”/ ** Source code is not ... just data #+BEAMER: \pause *** /executable/ and /human readable/ knowledge (an /all time new/) + written /by humans for humans/ + formats not really an issue: /text files are forever/ #+BEAMER: \pause *** the /development history/ is key to its /understanding/ + version history + literate programming #+BEAMER: \pause *** complexity: + large /web of dependencies/ + millions of SLOCs #+BEAMER: \pause *** \hfill *Bottomline:* software source code /is not just another/ sequence of bits ** Source code is /endangered/ *** Loosing precious legacy - foreclosures :: Google Code, Gitorious, now Codeplex - archives :: /off the record anecdotes/ *you* can use, and support, Software Heritage #+BEAMER: \pause *** Eu Copyright reform - huge risk to software development and reuse - *you* need to act now: more on this later +#+BEAMER: \pause *** Bottomline - - need to raise awareness + \hfill real need to raise awareness ** Objectives and Agenda *** Objectives - \alert{updates} from ongoing activities - \alert{FAIR} for Software Source Code *** Agenda 1. Introduction (5m, done) 2. Updates - Force 11 Software Citation IG (10m) - Software Source Code Identification WG (5m) - - Software Heritage: archive now open (10m) + - Software Heritage for Open Science: archive now open (10m) - Paris Call on Software Source Code (5m) - call for action EU Reform (5m) 3. Group activity: what is FAIR for Software? (40m) 4. Summary of results and wrap up (5m) * References ** Reminder :noexport: *** RDA SCIG page [[https://www.rd-alliance.org/groups/software-source-code-ig][https://www.rd-alliance.org/groups/software-source-code-ig]] *** Working document used during the session [[https://bit.ly/RDA10SoftwareIGNotes][https://bit.ly/RDA10SoftwareIGNotes]]