#+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 .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.

** Business-driven loss of code support: Google			   :noexport:
\begin{center}
   \includegraphics[width=.99\linewidth]{google-code-stops-download-annotated}
\end{center}

** Business-driven loss of code support: Google
\begin{center}
   \includegraphics[width=.99\linewidth]{google-code-shutdown-annotated}
\end{center}
\url{http://google-opensource.blogspot.fr/2015/03/farewell-to-google-code.html}
** Business-driven loss of code support: Gitorious
\begin{alltt}
     From: Rolf Bjaanes <rolf@gitorious.org>\\
     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}
** 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:
#+LATEX: \begin{center}
   \includegraphics[width=.65\linewidth]{gforge-changed-url}
#+LATEX: \end{center}
#+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


