diff --git a/common/images/metadata_landscape1.png b/common/images/metadata_landscape1.png new file mode 100644 index 0000000..91f4902 Binary files /dev/null and b/common/images/metadata_landscape1.png differ diff --git a/common/images/metadata_landscape2.png b/common/images/metadata_landscape2.png new file mode 100644 index 0000000..8868c4f Binary files /dev/null and b/common/images/metadata_landscape2.png differ diff --git a/common/images/metadata_landscape3.png b/common/images/metadata_landscape3.png new file mode 100644 index 0000000..cf91744 Binary files /dev/null and b/common/images/metadata_landscape3.png differ diff --git a/common/images/metadata_landscape4.png b/common/images/metadata_landscape4.png new file mode 100644 index 0000000..1e4d379 Binary files /dev/null and b/common/images/metadata_landscape4.png differ diff --git a/common/images/metadata_landscape5.png b/common/images/metadata_landscape5.png new file mode 100644 index 0000000..baa48a1 Binary files /dev/null and b/common/images/metadata_landscape5.png differ diff --git a/common/images/metadata_landscape6.png b/common/images/metadata_landscape6.png new file mode 100644 index 0000000..b8702f7 Binary files /dev/null and b/common/images/metadata_landscape6.png differ diff --git a/common/images/this-is-not-a-pipe.png b/common/images/this-is-not-a-pipe.png new file mode 100644 index 0000000..11fc164 Binary files /dev/null and b/common/images/this-is-not-a-pipe.png differ diff --git a/talks-public/2017-09-19-RDA-IG/2017-09-19-RDA-IG.org b/talks-public/2017-09-19-RDA-IG/2017-09-19-RDA-IG.org index 02778c9..37961e1 100644 --- a/talks-public/2017-09-19-RDA-IG/2017-09-19-RDA-IG.org +++ b/talks-public/2017-09-19-RDA-IG/2017-09-19-RDA-IG.org @@ -1,164 +1,199 @@ #+COLUMNS: %40ITEM %10BEAMER_env(Env) %9BEAMER_envargs(Env Args) %10BEAMER_act(Act) %4BEAMER_col(Col) %10BEAMER_extra(Extra) %8BEAMER_opt(Opt) #+TITLE: Software Ontologies #+SUBTITLE: Introduction # does not allow short title, so we override it for beamer as follows : -# +BEAMER_HEADER: \title[Availability and traceability]{Preserving Software and Data} -#+BEAMER_HEADER: \author[Roberto Di Cosmo]{{\bf Morane Gruenpeter(INRIA)}} -#+AUTHOR: * Morane Gruenpeter (Inria)* +# +BEAMER_HEADER: \title[Software Ontologies]{Preserving Software with descriptive metadata} +#+BEAMER_HEADER: \author[Morane Gruenpeter(Inria)]{{ Morane Gruenpeter (Inria)}} +#+AUTHOR: Morane Gruenpeter #+DATE: September 19, 2017 #+EMAIL: morane.gg@gmail.com -#+DESCRIPTION: Preserving the technological knowledge of mankind -#+KEYWORDS: software heritage legacy preservation knowledge mankind technology +#+DESCRIPTION: Preserving the technological knowledge with descriptive metadata +#+KEYWORDS: software ontologies preservation knowledge metadata # # # 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" - +#+BEAMER_HEADER: \institute{Inria, Software Heritage} ** Preliminary questions :PROPERTIES: :CUSTOM_ID: thesourcecode :END: #+BEGIN_QUOTE - “Ontologies are agreements, made in a social -context, to accomplish some objectives. + “Ontologies are agreements, made in a social context, -It's important to understand those objectives, and be guided by them." - \hfill Thomas Gruber, The Pragmatics of Ontology, 2003 -#+END_QUOTE -*** + to accomplish some objectives. +It's important to understand those objectives, and be guided by them."\\ + \hfill T. Gruber, The Pragmatics of Ontology, 2003 +#+END_QUOTE #+Beamer: \pause *** /Software Ontology/ :PROPERTIES: :BEAMER_env: block :BEAMER_act: +- :END: + What is software ? + With what terms should we describe a /software artifact/? - + Is it the same with Software Source Code ? + + What about /software source code/ ? ** Metadata about Software Source Code :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.”/ +*** Software metadata objectives + manage, share, discover, archive /software source code/ -*** Quake 2 source code (excerpt) :B_block:BMCOL: +*** Use cases :B_block:BMCOL: :PROPERTIES: - :BEAMER_col: 0.45 + :BEAMER_col: :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 + - semantic search- find software by author, version, keywords + - browse /source code/ with context information + - cite and be cited *** :B_ignoreheading: :PROPERTIES: :BEAMER_env: ignoreheading :END: -*** Len Shustek, Computer History Museum - \hfill /“Source code provides a view into the mind of the designer.”/ -** Where is the metadata available ? - -|Catalogs and registries | Publisher's metadata | Package management file | -|--------------------------+----------------------+-------------------------| -|libraries.io |Github | NPM with package.json | -|OpenHub |HAL | Maven with pom.xml | +*** LOV- Linked open vocabularies + \hfill /“Vocabularies provide the *semantic glue* enabling data to become *meaningful data*. ”/ +** Where is the metadata available ? -#+BEAMER: \pause -*** - \hfill *Bottomline:* software source code /is not just another/ sequence of bits -** Landscape of Software Ontologies -*** No universal catalog :B_block: +*** catalogs and registries :B_block: :PROPERTIES: :BEAMER_COL: .4 :BEAMER_env: block :END: #+ATTR_LATEX: :width \extblockscale{\linewidth} - file:myriadsources.png -#+BEAMER: \pause -*** No universal archive :B_block: + - libraries.io + - OpenHub + - OntoSoft + + +*** Publisher's repositories :B_block: :PROPERTIES: :BEAMER_COL: .4 :BEAMER_env: block :END: #+ATTR_LATEX: :width \extblockscale{\linewidth} - file:fragilecloud.png -#+BEAMER:\pause -*** The Knowledge Conservancy Magic Triangle :B_picblock: + - GitHub + - Bitbucket + - SourceForge + +#+BEAMER: \pause +*** advantages and drawbacks :B_block: :PROPERTIES: - :BEAMER_env: picblock - :BEAMER_opt: pic=PreservationTriangle, leftpic=true, width=.4\linewidth + :BEAMER_env: block + :BEAMER_opt: :END: - - Articles: HAL, ArXiv, 100s of inst. repositories - - Data: Zenodo, Figshare, 100s of various repositories - - Software: \pause - + *Question 4*: does GitHub fit the bill? \pause - + *Question 5*: can we avoid useless duplication of efforts? -* -** The Software Ontology /Touchstone/ -*** Availability + + | | registries | repositories | + |--------------+-------------------------+--------------------------------| + | accuracy | - not created by author | + added by authors/maintainers | + | completeness | + very detailed | - not a priority | + | longevity | - depends on registry | - depends on publisher | + +** Where is the metadata available ? +*** in the /software source code/ itself :B_block: :PROPERTIES: - :BEAMER_act: +- - :END: - - /all/ the /history/ of /all/ the software - - no restrictions (technical, legal, ... ) on /content/ or /metadata/ -*** Traceability + :BEAMER_env: block + :BEAMER_opt: + :END: + - package management file + - CITATION file + - .About file + - codemeta.json file + +#+BEAMER: \pause +*** advantages and drawbacks :B_block: :PROPERTIES: - :BEAMER_act: +- - :END: -# - /unique/ identifiers : /one/ name for each object - - /persistent/ and /intrinsic/ identifiers : no DOI, no URL, no middle man, no dangling pointers! - - full /provenance/ information -*** Uniformity + :BEAMER_env: block + :BEAMER_opt: + :END: + | | metadata file | + |--------------+-------------------------------------------------------| + | accuracy | + created by author and evolves with code | + | completeness | + freedom of vocabulary and terms used | + | longevity | + not dependent on platform (repository or registry ) | + +#+BEAMER: \pause +*** + \hfill *Bottomline:* to insure the archival of metadata, keep it *in* the data + +** This is not /software source code/ + #+latex: \begin{center} + #+ATTR_LATEX: :width .38\linewidth +file:this-is-not-a-pipe.png + #+latex: \end{center} + +** Landscape of Software Ontologies + #+latex: \begin{center} + #+ATTR_LATEX: :width \linewidth +file:metadata_landscape1.png + #+latex: \end{center} + +** Landscape of Software Ontologies + #+latex: \begin{center} + #+ATTR_LATEX: :width \linewidth +file:metadata_landscape2.png + #+latex: \end{center} + +** Landscape of Software Ontologies + #+latex: \begin{center} + #+ATTR_LATEX: :width \linewidth +file:metadata_landscape3.png + #+latex: \end{center} + +** Landscape of Software Ontologies + #+latex: \begin{center} + #+ATTR_LATEX: :width \linewidth +file:metadata_landscape4.png + #+latex: \end{center} + +** Landscape of Software Ontologies + #+latex: \begin{center} + #+ATTR_LATEX: :width \linewidth +file:metadata_landscape5.png + #+latex: \end{center} + +** Landscape of Software Ontologies + #+latex: \begin{center} + #+ATTR_LATEX: :width \linewidth +file:metadata_landscape6.png + #+latex: \end{center} + +** The Software Ontology /Touchstone/ +*** Availability :PROPERTIES: :BEAMER_act: +- :END: - - one /standard/ metadata structure, /irrespective of the origins/ - - /uniform/ naming /schema/ -** Where are the gaps + - *Importance* : first class citizen in the scholarly ecosystem + - *Credit and attribution* : authors, maintainer + - *Unique identification*: points to + a unique, specific software version (DOI, Git SHA1 hash, etc..) + - *Persistence* : identification beyond the lifespan of the software (swh-id) + - *Accessibility*: url, publisher + - *Specificity* : version, environment + + ** The CodeMeta Initiative -** And also... -*** Question 7: metadata - :PROPERTIES: - :BEAMER_act: +- - :END: - - what kind of /ontology/ exist for software? - - what would be appropriate for Source Code? -*** Question 8: relation to professional software development - :PROPERTIES: - :BEAMER_act: +- - :END: - - is scientific software different from, say, usual open source software? - - can we learn from the open source developers? -*** Question 10: taking action - :PROPERTIES: - :BEAMER_act: +- - :END: - - is RDA a good place to take specific action concerning software and its source code? - - if yes, is there ongoing work already, and how should we proceed? +** Where are the gaps * References ** Reminder -*** RDA BoF page +*** RDA page https://www.rd-alliance.org/software-source-code-focus-group-rda-9th-plenary-bof-meeting *** Working document used during the session http://bit.ly/RDA9Software