Page MenuHomeSoftware Heritage

swh-ardc.org
No OneTemporary

swh-ardc.org

#+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
#+INCLUDE: "169.org"
* Source code pillar of Open Science, and how Software Heritage addresses ARDC
:PROPERTIES:
:CUSTOM_ID: main
:END:
** Source code is /special/ (software is /not/ data)
:PROPERTIES:
:CUSTOM_ID: swnotdata
:END:
*** /Executable/ and /human readable/ knowledge \hfill copyright law :noexport:
/“Programs must be written for people to read, and only incidentally for machines to execute.”/\\
\hfill Harold Abelson
#+BEAMER: \pause
*** Software /evolves/ over time
- projects may last decades
- the /development history/ is key to its /understanding/
#+BEAMER: \pause
*** Complexity :B_picblock:
:PROPERTIES:
:BEAMER_env: picblock
:BEAMER_OPT: pic=python3-matplotlib.pdf, width=.6\linewidth
:END:
- /millions/ of lines of code
- large /web of dependencies/
+ easy to break, difficult to maintain
+ /research software/ a thin top layer
- sophisticated /developer communities/
*** :B_ignoreheading:
:PROPERTIES:
:BEAMER_env: ignoreheading
:END:
#+BEAMER: \pause
*** Precious, endangered /executable/ and /human readable/ knowledge
key people *passing away*, platforms (GoogleCode, Gitorious, etc.) closing down ...\\
\hfill no organised effort to catalog and archive it
** Source code is /special/, cont'd
:PROPERTIES:
:CUSTOM_ID: swnotdatacontd
:END:
*** Versioning, granularity
- Project :: “Inria created OCaml and Scikit-learn”\pause
- Release :: “2D Voronoi Diagrams were introduced in CGAL 3.1.0”\pause
- Precise state of a project :: “This result was produced using commit 0064fbd...”\pause
- Code fragment :: “The core algorithm is in lines 101 to 143 of the file parmap.ml contained in the precise state of the project corresponding to commit 0064fbd....”
#+BEAMER: \pause
*** Authors can have multiple roles:
- Architecture, Management, Development, Documentation, Testing, ...
** Software Source code: a pillar of Open Science
:PROPERTIES:
:CUSTOM_ID: pillaropenscience
:END:
*** Software is everywhere in modern research :B_picblock:
:PROPERTIES:
:BEAMER_opt: pic=papermountain, leftpic=true, width=.3\linewidth
:BEAMER_env: picblock
:BEAMER_COL: .6
:END:
#+BEGIN_QUOTE
[...] software [...] essential in their fields.
\mbox{}\hfill Top 100 papers (Nature, 2014)
#+END_QUOTE
#+BEGIN_QUOTE
Sometimes, if you dont have the software, you dont have the data
\mbox{}\hfill Christine Borgman, Paris, 2018
#+END_QUOTE
# http://www.nature.com/news/the-top-100-papers-1.16224
#+BEAMER: \pause
*** Open Science: three pillars :B_block:
:PROPERTIES:
:BEAMER_COL: .45
:BEAMER_env: block
:END:
#+latex: \begin{center}
#+ATTR_LATEX: :width \extblockscale{\linewidth}
file:PreservationTriangle.png
#+latex: \end{center}
#+BEAMER: \pause
*** :B_ignoreheading:
:PROPERTIES:
:BEAMER_env: ignoreheading
:END:
*** Nota bene
\hfill The links in the picture are *essential*
** A plurality of needs
:PROPERTIES:
:CUSTOM_ID: userneeds
:END:
*** Researchers
- *archive* and *reference* software used in articles
- *find* useful software
- get *credit* for developed software
- verify/reproduce/improve results
#+BEAMER: \pause
*** Laboratories/teams
- track software contributions
- produce reports
- maintain web page
#+BEAMER: \pause
*** Research Organization
- know its *software assets* for: technology *transfer*, impact *metrics*, strategy
** What is at stake: ARDC \hfill in increasing order of difficulty
:PROPERTIES:
:CUSTOM_ID: ardc
:END:
*** Archive
Research software artifacts must be properly *archived*\\
\hfill make sure we can /retrieve/ them (/reproducibility/)
#+BEAMER: \pause
*** :B_ignoreheading:
:PROPERTIES:
:BEAMER_env: ignoreheading
:END:
\vspace{-.5em}
*** Reference
Research software artifacts must be properly *referenced*\\
\hfill make sure we can /identify/ them (/reproducibility/)
#+BEAMER: \pause
*** :B_ignoreheading:
:PROPERTIES:
:BEAMER_env: ignoreheading
:END:
\vspace{-.5em}
*** Describe
Research software artifacts must be properly *described*\\
\hfill make it easy to /discover/ and /reuse/ them (/visibility/)
#+BEAMER: \pause
*** :B_ignoreheading:
:PROPERTIES:
:BEAMER_env: ignoreheading
:END:
\vspace{-.5em}
*** Cite/Credit
Research software artifacts must be properly *cited* /(not the same as referenced!)/\\
\hfill to give /credit/ to authors (/evaluation/!)
*** :B_ignoreheading:
:PROPERTIES:
:BEAMER_env: ignoreheading
:END:
** Addressing the four ARDC needs (see [[https://dx.doi.org/10.1007/978-3-030-52200-1_36][ICMS 2020]] for details)
:PROPERTIES:
:CUSTOM_ID: swh-ardc-short
:END:
*** Archive (8B+ files, 140M+ projects)
:PROPERTIES:
:BEAMER_env: block
:BEAMER_COL: .5
:END:
#+ATTR_LATEX: :width .8\linewidth
file:swh-dataflow-merkle.pdf
\vspace{-1em}
#+BEAMER: \pause
- [[https://save.softwareheritage.org][save.softwareheritage.org]]
- [[https://deposit.softwareheritage.org][deposit.softwareheritage.org]]
# (HAL, IPOL)
#+BEAMER: \pause
*** Reference (20 billion SWHIDs) :B_block:
:PROPERTIES:
:BEAMER_env: block
:BEAMER_COL: .5
:END:
[[https://www.softwareheritage.org/2020/07/09/intrinsic-vs-extrinsic-identifiers/][Intrinsic, decentralised, cryptographically strong identifiers, SWHIDs]]
\vspace{-1em}
#+ATTR_LATEX: :width 1.02\linewidth
file:SWHID-v1.4_3.png
Now supported [[https://www.softwareheritage.org/2020/05/13/swhid-adoption/][in SPDX 2.2, Wikidata]] etc.
#+BEAMER: \pause
*** :B_ignoreheading:
:PROPERTIES:
:BEAMER_env: ignoreheading
:END:
*** Describe :B_block:
:PROPERTIES:
:BEAMER_env: block
:BEAMER_COL: .5
:END:
- /Intrinsic metadata/ from source code
- Contributed the [[https://codemeta.github.io/codemeta-generator/][Codemeta generator]]
#+BEAMER: \pause
*** Cite/Credit :B_block:
:PROPERTIES:
:BEAMER_env: block
:BEAMER_COL: .5
:END:
- Contributed /software citation/ style
[[https://www.ctan.org/tex-archive/macros/latex/contrib/biblatex-contrib/biblatex-software][biblatex-software, v 1.2-2 now on CTAN]]
** Addressing the A(archive) in ARDC (see [[https://dx.doi.org/10.1007/978-3-030-52200-1_36][ICMS 2020]] for details)
:PROPERTIES:
:CUSTOM_ID: swh-a
:END:
#+latex: \vspace{-0.8em}
*** /Universal/ source code archive \hfill not only resarch \hfill (8B+ files, 140M+ projects)
:PROPERTIES:
:BEAMER_env: block
:END:
#+ATTR_LATEX: :width .6\linewidth
file:swh-dataflow-merkle.pdf
#+latex: \vspace{-1em}
- your research software /is likely there already/!
#+BEAMER: \pause
- anyone can trigger archival with [[https://save.softwareheritage.org][save.softwareheritage.org]]
#+BEAMER: \pause
- selected partners can push to the archive via [[https://deposit.softwareheritage.org][deposit.softwareheritage.org]]
# (HAL, IPOL)
** Addressing the R(eference) in ARDC (see [[https://dx.doi.org/10.1007/978-3-030-52200-1_36][ICMS 2020]] for details)
:PROPERTIES:
:CUSTOM_ID: swh-r
:END:
#+latex: \vspace{-0.8em}
*** Software Heritage Identifiers (SWHID) \hfill [[https://docs.softwareheritage.org/devel/swh-model/persistent-identifiers.html][link to full docs]] :B_block:
:PROPERTIES:
:BEAMER_env: block
:END:
20+B [[https://www.softwareheritage.org/2020/07/09/intrinsic-vs-extrinsic-identifiers/][intrinsic, decentralised, cryptographically strong identifiers, SWHIDs]]
# #+INCLUDE: "../../common/modules/swh-id-syntax.org::#swh-id-syntax" :only-contents t :minlevel 3
#+LATEX: \centering%\forcebeamerstart
#+LATEX: \mode<beamer>{\only<1>{\includegraphics[width=0.9\linewidth]{SWHID-v1.4_1.png}}}
#+LATEX: \mode<beamer>{\only<2>{\includegraphics[width=0.9\linewidth]{SWHID-v1.4_2.png}}}
#+LATEX: \only<3->{\includegraphics[width=0.9\linewidth]{SWHID-v1.4_3.png}}
#+LATEX: %\forcebeamerend
***
:PROPERTIES:
:BEAMER_act: <4->
:BEAMER_env: block
:END:
Emerging standard : Linux Foundation [[https://spdx.github.io/spdx-spec/appendix-VI-external-repository-identifiers/#persistent-id][SPDX 2.2]]; IANA registered; WikiData [[https://www.wikidata.org/wiki/Property:P6138][P6138]]
#+latex: \vspace{-0.5em}
*** Full fledged /source code references/ for reproducibility :B_block:
:PROPERTIES:
:BEAMER_act: <5->
:BEAMER_env: block
:END:
Examples: [[https://archive.softwareheritage.org/swh:1:cnt:64582b78792cd6c2d67d35da5a11bb80886a6409;origin=https://github.com/virtualagc/virtualagc;lines=245-261/][Apollo 11 AGC excerpt]], [[https://archive.softwareheritage.org/swh:1:cnt:bb0faf6919fc60636b2696f32ec9b3c2adb247fe;origin=https://github.com/id-Software/Quake-III-Arena;lines=549-572/][Quake III rsqrt]]; Guidelines available, see [[https://dx.doi.org/10.1007/978-3-030-52200-1_36][ICMS 2020]]
#+BEAMER: \pause
** Addressing D(escribe) and C(ite) in ARDC (see [[https://dx.doi.org/10.1007/978-3-030-52200-1_36][ICMS 2020]] for details)
:PROPERTIES:
:CUSTOM_ID: swh-dc
:END:
*** Describe :B_block:
:PROPERTIES:
:BEAMER_env: block
:BEAMER_COL: .5
:END:
- Collect /intrinsic metadata/
- Contributed the [[https://codemeta.github.io/codemeta-generator/][Codemeta generator]]
#+ATTR_LATEX: :width .8\linewidth
file:CodeMetaGenerator.png
#+BEAMER: \pause
*** Cite/Credit :B_block:
:PROPERTIES:
:BEAMER_env: block
:BEAMER_COL: .5
:END:
- Contributed /software citation/ style
[[https://www.ctan.org/tex-archive/macros/latex/contrib/biblatex-contrib/biblatex-software][biblatex-software, v 1.2-2 now on CTAN]]
#+ATTR_LATEX: :width .8\linewidth
file:BibLaTeX-swh.png

File Metadata

Mime Type
text/x-tex
Expires
Sat, Jun 21, 6:19 PM (1 w, 6 d ago)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
3446189

Event Timeline