diff --git a/talks-public/2019-04-02_03-RDA/Makefile b/talks-public/2019-04-02_03-RDA/Makefile new file mode 100644 index 0000000..68fbee7 --- /dev/null +++ b/talks-public/2019-04-02_03-RDA/Makefile @@ -0,0 +1 @@ +include ../Makefile.slides diff --git a/talks-public/2019-04-02_03-RDA/intro.org b/talks-public/2019-04-02_03-RDA/intro.org new file mode 100644 index 0000000..0547721 --- /dev/null +++ b/talks-public/2019-04-02_03-RDA/intro.org @@ -0,0 +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 +*** Bottomline + - 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) + - 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]] + + +