diff --git a/common/modules/foss-commons.org b/common/modules/foss-commons.org index 9b6fa40..3ca554b 100644 --- a/common/modules/foss-commons.org +++ b/common/modules/foss-commons.org @@ -1,67 +1,67 @@ #+COLUMNS: %40ITEM %10BEAMER_env(Env) %9BEAMER_envargs(Env Args) %10BEAMER_act(Act) %4BEAMER_col(Col) %10BEAMER_extra(Extra) %8BEAMER_opt(Opt) #+INCLUDE: "prelude.org" :minlevel 1 * The Free Software Commons :PROPERTIES: :CUSTOM_ID: main :END: ** Free Software *** Definition (Free Software) A program is *free software* if the program's users have the four /essential freedoms/: - Freedom #0, to *run* the program, for any purpose - Freedom #1, to *study* how the program works, and change it - Freedom #2, to *redistribute* copies - Freedom #3, to *improve* the program, and *release* improvements *** :B_ignoreheading: :PROPERTIES: :BEAMER_env: ignoreheading :BEAMER_ref: :END: Free Software also comes with *obligations*, which vary according to the license: BSD, GPL, Apache, AGPL, . . . ** Why bother? Why, as computer scientists/teachers/students, should we bother about Free/Open Source Software (FOSS)? #+BEAMER: \pause \vfill FOSS has /radically changed/ the way software is: - developed - tested - proven - conceived - marketed - sold - maintained - taught - deployed - ... ** The Commons and FOSS :PROPERTIES: :CUSTOM_ID: commonsdef :END: *** Definition (Commons) The *commons* is the cultural and natural resources accessible to all members of a society, including natural materials such as air, water, and a habitable earth. These resources are held in common, not owned privately. #+BEAMER: {\tiny\url{https://en.wikipedia.org/wiki/Commons}} *** Definition (Software Commons) The *software commons* consists of all computer software which is available at little or no cost and which can be altered and reused with few restrictions. Thus /all open source software and all free software are part of the [software] commons/. [...] #+BEAMER: {\tiny\url{https://en.wikipedia.org/wiki/Software_Commons}} ** But /where/ is this commons? #+latex: \begin{flushleft} #+ATTR_LATEX: :width \extblockscale{.5\linewidth} file:myriadsources.png #+latex: \end{flushleft} #+BEAMER: \pause *** Fashion victims - many disparate development platforms - a myriad places where distribution may happen - projects tend to migrate from one place to the other over time #+BEAMER: \pause -*** One place to bind them... :B_block: +*** One place... :B_block: :PROPERTIES: :BEAMER_env: block :END: \hfill ... where can we find, track and search /all/ source code? diff --git a/common/modules/software-all-around-us.org b/common/modules/software-all-around-us.org index 51e114b..3aa4daa 100644 --- a/common/modules/software-all-around-us.org +++ b/common/modules/software-all-around-us.org @@ -1,96 +1,95 @@ #+COLUMNS: %40ITEM %10BEAMER_env(Env) %9BEAMER_envargs(Env Args) %10BEAMER_act(Act) %4BEAMER_col(Col) %10BEAMER_extra(Extra) %8BEAMER_opt(Opt) # # Software is all around us # #+INCLUDE: "prelude.org" :minlevel 1 * Software all around us :PROPERTIES: :CUSTOM_ID: main :END: ** Software is Pervasive :PROPERTIES: :CUSTOM_ID: softwareispervasive :END: *** At the heart of /our society/ :B_picblock: :PROPERTIES: :BEAMER_opt: pic=software-center.pdf, leftpic=true, width=.4\linewidth :BEAMER_env: picblock :END: #+ATTR_BEAMER: :environment itemize - communication, entertainment - administration, finance - health, energy, transportation - education, research, politics - ... #+BEAMER: \pause *** At the heart of /technology/ :B_picblock: :PROPERTIES: :BEAMER_opt: pic=pervasiveComputing :BEAMER_env: picblock :BEAMER_act: +- :END: #+ATTR_BEAMER: :environment itemize - house appliances $\approx$ 10M SLOC - phones $\approx$ 20M SLOC, /cars/ $\approx$ 100M SLOC - Internet of things, ... ** Software is Knowledge :PROPERTIES: :CUSTOM_ID: softwareisknowledge :END: *** /Key mediator/ for accessing /all/ information (c) Banski :B_picblock: :PROPERTIES: :BEAMER_opt: pic=Banski-Information-Pillar-Society-Small, leftpic=true :BEAMER_env: picblock :END: Information is *a main pillar* of our modern societies. #+BEGIN_QUOTE Absent an ability to correctly interpret digital information, we are left with [...] "rotting bits" [...] of no value. \mbox{}\hfill Vinton G. Cerf IEEE 2011 #+END_QUOTE #+BEAMER: \pause *** Software is /an essential component/ of modern scientific research :B_picblock: # Deep knowledge embodied in complex software systems :PROPERTIES: :BEAMER_opt: pic=papermountain,width=.15\linewidth :BEAMER_env: picblock :END: #+BEGIN_QUOTE [...] the vast majority describe experimental methods or sofware that have become essential in their fields. #+END_QUOTE \mbox{}\hfill Top 100 papers (Nature, October 2014) # http://www.nature.com/news/the-top-100-papers-1.16224 *** separator :B_ignoreheading: :PROPERTIES: :BEAMER_env: ignoreheading :END: #+BEAMER: \pause *** Bottomline: Sofware embodies our /Knowledge/ and /Cultural Heritage/ :PROPERTIES: :END: \hfill It /must/ be /collected/, /referenced/ and made /accessible/! ** Software Source Code is /different/ :PROPERTIES: :CUSTOM_ID: softwareisdifferent :END: #+LATEX: \includegraphics[width=\extblockscale{.15\linewidth}]{software.png} #+BEGIN_QUOTE “Programs must be written for people to read, and only incidentally for machines to execute.” Harold Abelson, Structure and Interpretation of Computer Programs #+END_QUOTE *** Distinguishing features - /executable/ and /human readable/ knowledge (an /all time new/) + even hardware is... software! (VHDL, FPGA, ...) + /text files are forever/ - naturally /evolves/ over time + the /development history/ is key to its /understanding/ - complex: large /web of dependencies/, millions of SLOCs *** In a word - software /is not just another/ sequence of bits - a software archive /is not just another/ digital archive - diff --git a/common/modules/swh-goals.org b/common/modules/swh-goals.org index 5658b03..2118b17 100644 --- a/common/modules/swh-goals.org +++ b/common/modules/swh-goals.org @@ -1,64 +1,64 @@ #+COLUMNS: %40ITEM %10BEAMER_env(Env) %9BEAMER_envargs(Env Args) %10BEAMER_act(Act) %4BEAMER_col(Col) %10BEAMER_extra(Extra) %8BEAMER_opt(Opt) # # Software is all around us # #+INCLUDE: "prelude.org" :minlevel 1 * How Software Heritage changes the world :PROPERTIES: :CUSTOM_ID: main :END: ** The reference repository of all Source Code :PROPERTIES: :CUSTOM_ID: exhaustive :END: #+latex: \begin{flushleft} #+ATTR_LATEX: :width \extblockscale{.5\linewidth} file:myriadsources.png #+latex: \end{flushleft} *** Fashion victims - many disparate development platforms - a myriad places where distribution may happen - projects tend to migrate from one place to the other over time #+BEAMER: \pause -*** One place to bind them... :B_block: +*** One place... :B_block: :PROPERTIES: :BEAMER_env: block :END: \hfill ... in Software Heritage you can find and search /all/ the source code ** The universal archive of Source Code :PROPERTIES: :CUSTOM_ID: longterm :END: #+latex: \begin{flushleft} #+ATTR_LATEX: :width \extblockscale{.5\linewidth} file:fragilecloud.png #+latex: \end{flushleft} *** like all digital information, Software Source Code is fragile - inconsiderate and/or malicious code loss (e.g., Code Spaces) - business-driven code loss (e.g., Gitorious, Google Code) - for obsolete code: physical media decay (data rot) #+BEAMER: \pause *** If (a repository on) GitHub goes away ... :B_block: :PROPERTIES: :BEAMER_env: block :END: \hfill ... Software Heritage will have a copy of it! ** Building the Software Research Infrastructure :PROPERTIES: :CUSTOM_ID: researchinstrument :END: #+latex: \begin{flushleft} #+ATTR_LATEX: :width \extblockscale{.4\linewidth} file:atacama-telescope.jpg #+latex: \mbox{}\\{\tiny Photo: ALMA(ESO/NAOJ/NRAO), R. Hills} #+latex: \end{flushleft} *** A wealth of software research on crucial issues... - safety, security; test, verification, proof; - software engineering, software evolution; - empirical and big data studies; #+BEAMER: \pause *** If you study the stars, you go to Atacama... :B_block: :PROPERTIES: :BEAMER_env: block :END: \hfill ... Software Heritage is the /very large telescope/ of source code diff --git a/common/modules/swh-motivations.org b/common/modules/swh-motivations.org index 1093341..8d60844 100644 --- a/common/modules/swh-motivations.org +++ b/common/modules/swh-motivations.org @@ -1,69 +1,69 @@ #+COLUMNS: %40ITEM %10BEAMER_env(Env) %9BEAMER_envargs(Env Args) %10BEAMER_act(Act) %4BEAMER_col(Col) %10BEAMER_extra(Extra) %8BEAMER_opt(Opt) # # Software is all around us # #+INCLUDE: "prelude.org" :minlevel 1 * What we are missing today :PROPERTIES: :CUSTOM_ID: main :END: ** Software is spread all around :PROPERTIES: :CUSTOM_ID: spread :END: #+latex: \begin{flushleft} #+ATTR_LATEX: :width \extblockscale{.5\linewidth} file:myriadsources.png #+latex: \end{flushleft} *** Fashion victims - many disparate development platforms - a myriad places where distribution may happen - projects tend to migrate from one place to the other over time #+BEAMER: \pause -*** One place to bind them... :B_block: +*** One place... :B_block: :PROPERTIES: :BEAMER_env: block :END: \hfill ... where can we find, track and search /all/ source code? ** Software is fragile :PROPERTIES: :CUSTOM_ID: fragile :END: #+latex: \begin{flushleft} #+ATTR_LATEX: :width \extblockscale{.5\linewidth} file:fragilecloud.png #+latex: \end{flushleft} *** Like all digital information, FOSS is fragile - inconsiderate and/or malicious code loss (e.g., Code Spaces) - business-driven code loss (e.g., Gitorious, Google Code) - for obsolete code: physical media decay (data rot) #+BEAMER: \pause *** If a website disappears you go to the Internet Archive... :B_block: :PROPERTIES: :BEAMER_env: block :END: \hfill ... where do you go if (a repository on) GitHub goes away? ** Software is missing its own Research Infrastructure :PROPERTIES: :CUSTOM_ID: research :END: #+latex: \begin{flushleft} #+ATTR_LATEX: :width \extblockscale{.4\linewidth} file:atacama-telescope.jpg #+latex: \mbox{}\\{\tiny Photo: ALMA(ESO/NAOJ/NRAO), R. Hills} #+latex: \end{flushleft} *** A wealth of software research on crucial issues... - safety, security; test, verification, proof; - software engineering, software evolution; - empirical and big data studies; #+BEAMER: \pause *** If you study the stars, you go to Atacama... :B_block: :PROPERTIES: :BEAMER_env: block :END: \hfill ... where is the /very large telescope/ of source code?