diff --git a/common/modules/software-fragile.org b/common/modules/software-fragile.org index d5ef7c1..d6135f4 100644 --- a/common/modules/software-fragile.org +++ b/common/modules/software-fragile.org @@ -1,145 +1,147 @@ #+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 * Software is Fragile :PROPERTIES: :CUSTOM_ID: main :END: ** Like all digital information, software is fragile :PROPERTIES: :CUSTOM_ID: fragiletagcloud :END: #+latex: \begin{center} #+ATTR_LATEX: :width \extblockscale{.8\linewidth} file:fragilecloud.png #+latex: \end{center} *** An example is worth a thousand words... \hfill let's see a few ** Inconsiderate or malicious loss of code :PROPERTIES: :CUSTOM_ID: lost :END: *** The Year 2000 Bug ... uncovered an inconvenient truth :B_picblock: :PROPERTIES: :BEAMER_env: picblock :BEAMER_opt: leftpic=true,pic=y2k :END: in 1999, an estimated 40% of companies had either /lost/, or \alert{thrown away} the original source code for their systems! # Mads Tofte rich *** CodeSpaces: source code hosting, 2007-2014 :B_picblock: :PROPERTIES: :BEAMER_env: picblock :BEAMER_opt: pic=codespaces-murdered-compact,width=.45\linewidth,leftpic=true :END: Yes, for \emph{seven years} all seemed ok.\\ \pause No, they did not recover the data. +** Code hosting platform accidents + FIXME: add 31/1/2017 GitLab googledocs screen capture ** Business-driven loss of code support: Google :noexport: #+BEGIN_EXPORT latex \begin{center} \includegraphics[width=\extblockscale{.99\linewidth}]{google-code-stops-download-annotated} \end{center} #+END_EXPORT latex ** Business-driven loss of code support: Google #+BEGIN_EXPORT latex \begin{center} \includegraphics[width=\extblockscale{.99\linewidth}]{google-code-shutdown-annotated} \end{center} \url{http://google-opensource.blogspot.fr/2015/03/farewell-to-google-code.html} #+END_EXPORT latex ** Business-driven loss of code support: Gitorious #+BEGIN_EXPORT latex \begin{alltt} From: Rolf Bjaanes \\ To: zack@upsilon.cc\\ Subject: Gitorious.org is dead, long live Gitorious.org\\ Message-Id: <30589491.20150416155909.552fdc4d164758.16579271@mail141.wdc04.mandrillapp.com>\\ \mbox{}\\ Hi zacchiro,\\ \mbox{}\\ I'm Rolf Bjaanes, CEO of Gitorious, and you are receiving this email because you have a user on gitorious.org. As you may know, Gitorious was acquired by GitLab [1] about a month ago \emph{(NDLR: 3/3/2015)}, and we announced that Gitorious.org would be \alert{shutting down at the end of May, 2015}.\\ % After the announcement we talked to the Archive Team [2] about how to preserve Gitorious.org and its data for the future. A member of the Archive Team graciously offered to host gitorious.org as a read-only archive on Gitorious.org and GitLab agreed to allow to use the Gitorious.org domain name for this. % This is a huge benefit to anyone depending on gitorious.org as repositories will remain available at the same location. Cloning and fetching will continue to work as well. Projects you may depend on will stay around even if it isn't moved to % +GitLab. % In order to build the archive we need to make Gitorious.org read-only prior to the shutdown date. % This ensures that no new data is coming in while we are migrating. % Pushing changes and creating new repositories will therefore stop working from the 15th of May, 2015. % If you need to push changes, create new repositories and generally collaborate on code, I highly recommend using the migration tool available on gitlab.com [3] and updating your remotes to point there. % If you are self-hosting you can check out GitLab Community Edition [4] and GitLab Enterprise Edition [5]. % Are you using Gitorious in a professional capacity or need help to migrate your existing Gitorious instance to GitLab? Send an email to sales@gitlab.com and tell them I sent you. % I realise that all of this may be a major inconvenience, and for that I sincerely apologise, but I hope you appreciate the efforts we are putting into making it as painless as we can. % If you have any questions please reach out to GitLab on Twitter [6] or use the mailing list [7]. % Thanks, ... Rolf % [1] https://about.gitlab.com/2015/03/03/gitlab-acquires-gitorious/ % [2] http://archiveteam.org/ % [3] https://gitlab.com/ % [4] https://about.gitlab.com/features/ % [5] https://about.gitlab.com/features/#enterprise % [6] https://twitter.com/gitlab % [7] https://groups.google.com/forum/#!forum/gitlabhq \end{alltt} #+END_EXPORT latex ** Disruption of the web of reference: an old problem :noexport: *** URLs used in articles /decay/! Analysis of /IEEE Computer/ (Computer), and the /Communications of the ACM/ (CACM): 1995-1999 - the half-life of a referenced URL is approximately 4 years from its publication date - deep path hierarchies are linked to increased URL failures \hfill D. Spinellis. The Decay and Failures of URL References.\\ \hfill Communications of the ACM, 46(1):71-77, January 2003. Similar findings in Lawrence, S. et al. /Persistence of Web References in Scientific Research/, IEEE Computer, 34(2), pp. 26–31, 2001. ** Disruption of the /web of reference/ *** Web links \emph{are not} permanent (even \emph{permalinks}) :B_picblock: :PROPERTIES: :BEAMER_env: picblock :BEAMER_opt: pic=404 :END: \itshape there is no general guarantee that a URL... which at one time points to a given object continues to do so \\ \hfill T. Berners-Lee et al. Uniform Resource Locators. RFC 1738. #+BEAMER: \pause *** URLs used in articles /decay/! Analysis of /IEEE Computer/ (Computer), and the /Communications of the ACM/ (CACM): 1995-1999 - the /half-life/ of a referenced URL /is approximately 4 years/ from its publication date \hfill D. Spinellis. The Decay and Failures of URL References.\\ \hfill Communications of the ACM, 46(1):71-77, January 2003.\\ ** Disruption of the web of reference: our Gforge :noexport: #+BEGIN_EXPORT latex \begin{center} \includegraphics[width=\extblockscale{.65\linewidth}]{gforge-changed-url} \end{center} #+END_EXPORT latex #+BEAMER: \pause *** Fixed, adding a redirection, by the Gforge team in /1 day/ this one was fixed!\\ #+BEAMER: \pause \hfill Not always that lucky, though ... ** Uniformity: nowhere to be seen *** Reference repositor(ies) - Bitbucket - GitHub - GitLab - Gitorious (no, scratch this) - Google Code (no, scratch this) - Maven - Sourceforge - your institution's forge - your home page - ... *** :B_ignoreheading: :PROPERTIES: :BEAMER_env: ignoreheading :END: And they are all diffent / incompatible diff --git a/common/modules/swh-goals.org b/common/modules/swh-goals.org index 2118b17..76abf73 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... :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: +*** If (a repository on) GitHub or GitLab 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/talks-public/2017-02-04-FOSDEM/2017-02-04-FOSDEM.org b/talks-public/2017-02-04-FOSDEM/2017-02-04-FOSDEM.org index 0ab3693..e19feaa 100644 --- a/talks-public/2017-02-04-FOSDEM/2017-02-04-FOSDEM.org +++ b/talks-public/2017-02-04-FOSDEM/2017-02-04-FOSDEM.org @@ -1,160 +1,217 @@ #+COLUMNS: %40ITEM %10BEAMER_env(Env) %9BEAMER_envargs(Env Args) %10BEAMER_act(Act) %4BEAMER_col(Col) %10BEAMER_extra(Extra) %8BEAMER_opt(Opt) #+TITLE: Software Heritage #+SUBTITLE: Preserving the Free Software Commons #+AUTHOR: Roberto Di Cosmo #+DATE: February 2017 #+DESCRIPTION: Preserving the Free Software Commons #+KEYWORDS: software heritage legacy preservation knowledge mankind technology #+BEAMER_HEADER: \date[February 4th 2017]{February 4th 2017\\ FOSDEM} #+BEAMER_HEADER: \author[R. Di Cosmo, S. Zacchiroli ]{Roberto Di Cosmo and Stefano Zacchiroli} # # 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 #+BEAMER_HEADER: \institute[Irill/INRIA/UPD]{\url{roberto@dicosmo.org, zack@upsilon.cc}} - +# #+LATEX_HEADER: \usepackage{enumitem} # # Part I: vision # * Software, Source Code, and the Software Commons ** Free Software is everywhere :PROPERTIES: :CUSTOM_ID: softwareispervasive :END: #+latex: \begin{center} - #+ATTR_LATEX: :width .7\linewidth + #+ATTR_LATEX: :width .9\linewidth file:software-center.pdf #+latex: \end{center} # # Source code # #+INCLUDE: "../../common/modules/source-code-different-short.org::#softwareisdifferent" :minlevel 2 ** Our Software Commons # taken from #+INCLUDE: "../../common/modules/foss-commons.org::#commonsdef" :only-contents t :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}} #+BEAMER: \pause *** Source code is /a precious part/ of our commons \hfill we need to take care of it! # # Negative presentation (what we are missing) # # *** Our source code is /precious knowledge/ # \hfill are we taking care of it? # #+INCLUDE: "../../common/modules/swh-motivations.org::#main" :only-contents t :minlevel 2 # # The project # #+INCLUDE: "../../common/modules/swh-overview-sourcecode.org::#mission" :minlevel 2 # # Positive presentation (what we are building) # #+INCLUDE: "../../common/modules/swh-goals.org::#main" :only-contents t :minlevel 2 + +# +# Part II: roadmap +# +* Where we are today: technical overview + #+INCLUDE: "../../common/modules/status-extended.org::#architecture" :only-contents t + #+INCLUDE: "../../common/modules/status-extended.org::#merkletree" :minlevel 2 + #+INCLUDE: "../../common/modules/status-extended.org::#giantdag" :only-contents t +** SHA1 collisions considered harmful + #+BEAMER: \lstinputlisting[language=SQL,basicstyle=\small]{../../common/source/swh-content.sql} + #+INCLUDE: "../../common/modules/status-extended.org::#archive" :minlevel 2 + #+INCLUDE: "../../common/modules/status-extended.org::#features" :minlevel 2 + +# +# Part III: +# +* Come in, we're open! +** An ambitious, worldwide initiative +*** Inria as initiator :B_picblock: + :PROPERTIES: + :BEAMER_env: picblock + :BEAMER_opt: pic=inria-logo-new,leftpic=true,width=\extblockscale{.4\linewidth} + :END: + - .fr national CS research institution + - strong FOSS culture, W3C founding partner + # - creating a non profit, international organisation + #+BEAMER: \pause +*** Benefits society as a whole :B_picblock: + :PROPERTIES: + :BEAMER_env: picblock + :BEAMER_opt: pic=unesco,leftpic=true + :END: + + preserve knowledge embedded in software + + access knowledge embedded in software +*** Supporters and /first partners/ + *Société Générale, Microsoft, Huawei, Nokia Bell Labs, DANS,* + ACM, Adullact, Creative Commons, Eclipse, FSF, OSI, GitHub, GitLab, IEEE, + OIN, OW2, SFC, SFLC, The Document Foundation, The Linux Foundation, ... + #+BEAMER: \pause ** Our principles #+latex: \begin{center} #+ATTR_LATEX: :width \extblockscale{.7\linewidth} file:SWH-as-foundation-slim.png #+latex: \end{center} #+BEAMER: \pause *** Open approach :B_block:BMCOL: :PROPERTIES: - :BEAMER_col: 0.3 + :BEAMER_COL: 0.4 :BEAMER_env: block :END: open source, transparency *** Unix philosophy :B_block:BMCOL:noexport:noexport: :PROPERTIES: :BEAMER_opt: :BEAMER_env: block :BEAMER_col: 0.3 :END: - do /one/ thing - do it /well/ *** In for the long haul :B_block:BMCOL: :PROPERTIES: - :BEAMER_col: 0.3 + :BEAMER_COL: 0.4 :BEAMER_env: block :END: non profit, replication #+BEAMER: \pause *** Thomas Jefferson, February 18, 1791 :PROPERTIES: :BEAMER_act: +- :END: # #+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. # #+latex: \end{quote} +#+BEAMER: \pause +*** Building an /open, multistakeholder, nonprofit/ global organisation # -# Part II: roadmap +# explain what we need and plan to do # +** There is a whole lot to do! +#+latex: \begin{center} +#+ATTR_LATEX: :width \extblockscale{\textwidth} +file:SWH-as-foundation-block.png +#+latex: \end{center} +#+BEAMER: \pause +*** Collect :B_exampleblock: + :PROPERTIES: + :BEAMER_env: exampleblock + :BEAMER_COL: .3 + :END: + - discover + + sources + - harvest + + protocols + - ingest + + VCS + + data models +*** Organise and Preserve :B_block: + :PROPERTIES: + :BEAMER_env: block + :BEAMER_COL: .4 + :END: + - enrich + + metadata + - analyze + + traits + - replicate + + locations + + technologies + + stakeholders +*** Share :B_block: + :PROPERTIES: + :BEAMER_env: block + :BEAMER_COL: .3 + :END: + - download + - browse + + wayback machine + - search + + facets + - watch + + trends -* Technical overview - #+INCLUDE: "../../common/modules/status-extended.org::#architecture" :only-contents t - #+INCLUDE: "../../common/modules/status-extended.org::#merkletree" :minlevel 2 - #+INCLUDE: "../../common/modules/status-extended.org::#giantdag" :only-contents t -** SHA1 collisions considered harmful - #+BEAMER: \lstinputlisting[language=SQL,basicstyle=\small]{../../common/source/swh-content.sql} - #+INCLUDE: "../../common/modules/status-extended.org::#archive" :minlevel 2 - #+INCLUDE: "../../common/modules/status-extended.org::#features" :minlevel 2 -# -# Part III: institutional boilerplate -# +#+BEAMER: \pause +*** + \hfill we need *your* help! * Conclusion - # #+INCLUDE: "../../common/modules/status-extended.org::#people" :minlevel 2 -** An ambitious, worldwide initiative -*** Inria as initiator :B_picblock: - :PROPERTIES: - :BEAMER_env: picblock - :BEAMER_opt: pic=inria-logo-new,leftpic=true,width=\extblockscale{.4\linewidth} - :END: - - .fr national CS research institution - - strong FOSS culture - - founding partner of the W3C - # - creating a non profit, international organisation - #+BEAMER: \pause -*** Supporters and /early partners/ - ACM, Adullact, *Nokia Bell Labs*, Creative Commons, *DANS*, Eclipse, Engineering, - FSF, OSI, GitHub, GitLab, *Huawei*, IEEE, Informatics Europe, *Microsoft*, OIN, OW2, - SIF, SFC, SFLC, *Société Générale*, The Document Foundation, The Linux Foundation, ... - #+BEAMER: \pause -*** Going global - building an /open, multistakeholder, nonprofit/ global organisation ** Conclusion *** Software Heritage is - a revolutionary /reference archive/ of /all/ FOSS ever written # - a fantastic new tool for /research/ software - a unique /complement/ for /development platforms/ - an international, open, nonprofit, /mutualized infrastructure/ - at the service of our community, at the service of society as a whole! *** Come in, we're open! \url{www.softwareheritage.org} --- /sponsoring/, /*job openings*/ \\ \url{wiki.softwareheritage.org} --- /*internships*/, /leads/ \\ \url{forge.softwareheritage.org} --- /*our own code*/ #+BEAMER: \vfill \flushright {\Huge Questions?} \vfill