diff --git a/common/images/2020-05-17-growth.png b/common/images/2020-05-17-growth.png new file mode 100644 index 0000000..d86005e Binary files /dev/null and b/common/images/2020-05-17-growth.png differ diff --git a/common/images/growth.png b/common/images/growth.png index c7e7f00..71785b1 120000 --- a/common/images/growth.png +++ b/common/images/growth.png @@ -1 +1 @@ -2020-02-archive-growth.png \ No newline at end of file +2020-05-17-growth.png \ No newline at end of file diff --git a/talks-public/2020-05-05-biblatex-software/2020-05-05-biblatex-software.org b/talks-public/2020-05-05-biblatex-software/2020-05-05-biblatex-software.org index 75dcffb..3aef272 100644 --- a/talks-public/2020-05-05-biblatex-software/2020-05-05-biblatex-software.org +++ b/talks-public/2020-05-05-biblatex-software/2020-05-05-biblatex-software.org @@ -1,290 +1,295 @@ #+COLUMNS: %40ITEM %10BEAMER_env(Env) %9BEAMER_envargs(Env Args) %10BEAMER_act(Act) %4BEAMER_col(Col) %10BEAMER_extra(Extra) %8BEAMER_opt(Opt) #+TITLE: Software in bibliographies with biblatex-software #+SUBTITLE: #+AUTHOR: Roberto Di Cosmo #+EMAIL: roberto@dicosmo.org @rdicosmo @swheritage #+BEAMER_HEADER: \date{May 5th, 2020} #+BEAMER_HEADER: \title[The \texttt{biblatex-software} package \hfill CC-BY 4.0]{Software in bibliographies with \texttt{biblatex-software}} #+BEAMER_HEADER: \author[Roberto Di Cosmo \hspace{5em} www.dicosmo.org @rdicosmo]{Roberto Di Cosmo\\Director, Software Heritage\\} # #+BEAMER_HEADER: \setbeameroption{show notes on second screen} #+BEAMER_HEADER: \setbeameroption{hide notes} #+KEYWORDS: software heritage legacy preservation knowledge mankind technology #+LATEX_HEADER: \usepackage{tcolorbox} #+LATEX_HEADER: \definecolor{links}{HTML}{2A1B81} #+LATEX_HEADER: \hypersetup{colorlinks,linkcolor=,urlcolor=links} # #+LATEX_HEADER: \usepackage{scrextend} #+LATEX_HEADER: \input{preamble.tex} # # 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 #+INCLUDE: "../../common/modules/169.org" # +LaTeX_CLASS_OPTIONS: [aspectratio=169,handout,xcolor=table] #+LATEX_HEADER: \usepackage{bbding} #+LATEX_HEADER: \DeclareUnicodeCharacter{66D}{\FiveStar} #+LATEX_HEADER: \usepackage[anythingbreaks]{breakurl} # # If you want to change the title logo it's here # # +BEAMER_HEADER: \titlegraphic{\includegraphics[width=0.7\textwidth]{SWH-logo}} # aspect ratio can be changed, but the slides need to be adapted # - compute a "resizing factor" for the images (macro for picblocks?) # # set the background image # # https://pacoup.com/2011/06/12/list-of-true-169-resolutions/ # #+BEAMER_HEADER: \pgfdeclareimage[height=90mm,width=160mm]{bgd}{swh-world-169.png} #+BEAMER_HEADER: \setbeamertemplate{background}{\pgfuseimage{bgd}} #+LATEX: \addtocounter{framenumber}{-1} * Introduction ** Software at Inria *** Inria (https://www.inria.fr) - French national research institution for digital sciences (CS, applied Maths, ...) - 200 teams federating some 3500 researchers - 1000+ open source software projects over 50 years #+BEAMER: \pause *** The software citation working group - Contributors :: Pierre Alliez, Roberto Di Cosmo, Benjamin Guedj, Alain Girault, Mohand-Said Hacid, Arnaud Legrand, Xavier Leroy, Nicolas Rougier, Manuel Serrano - Outputs :: + P. Alliez, R. Di Cosmo, B. Guedj, A. Girault, M. Hacid, A. Legrand, N. Rougier, [[https://dx.doi.org/10.1109/MCSE.2019.2949413][\emph{Attributing and Referencing (Research) Software: Best Practices and Outlook From Inria}]], Computing in Science and Engineering, 22 (1), 2020. DOI: 10.1109/MCSE.2019.2949413 + ~biblatex-software~ : software bibitems for BibLaTeX ** BibTeX/BibLaTeX reminder *** BibTeX Bibliographic format widely used in the scholarly world by LaTeX users to store and exchange bibliographic information. At Inria it is used to generate bibliographies for the activity reports of 200 teams *** BibLaTeX Modern LaTeX package (and tool set) that produces rich bibliographies from BibTeX entries *** State of software: No support for software in BibTeX/BibLaTeX up to now: - BibLaTeX has a ~@software~ bibitem, that is treated like ~@misc~ * biblatex-software in a nutshell ** biblatex-software: new entries *** Four new bibliographic entries - @software :: Computer software. /Required fields:/ ~author~ / ~editor~, ~title~, ~url~, ~year~ #+BEAMER: \pause - @softwareversion :: A specific version of a software. /Required fields:/ ~author~ / ~editor~, ~title~, ~url~, ~version~, ~year~ #+BEAMER: \pause - @softwaremodule :: A specific module of a larger software project. /Required fields:/ ~author~, ~subtitle~, ~url~, ~year~ #+BEAMER: \pause - @codefragment :: A code fragment (e.g. a specific algorithm in a program or library). /Required fields:/ ~url~ #+BEAMER: \pause *** Inheritance *softwareversion*, *softwaremodule* and *codefragment* entries can inherit missing fields from entries designated via the /crossref/ field ** biblatex-software: new fields *** Four new software-specific fields - license :: list (literal). The license/s of the title in SPDX format. - introducedin :: field (literal). If this is a software module or fragment, the version of the containing project where it has been first introduced. - repository :: field (uri). The url of the code repository (e.g on GitHub, GitLab). - swhid :: field (verbatim). The identifier of the digital object (a.k.a the software artifact itself). The intrinsic identifier of the item is an swh-id (swh:cnt for a content, swh:dir for a directory, swh:rev for a revision, swh:rel for a release, etc.). See [[https://docs.softwareheritage.org/devel/swh-model/persistent-identifiers.html][the SWH-ID specification]]. #+BEAMER: \pause *** Two more new software-specific fields for HAL - ~hal_id~ :: field (verbatim). A digital identifier for the software record including its description and metadata on HAL. - ~hal_version~ :: field (verbatim). The version of the HAL software record. ** Examples are worth a thousand words :PROPERTIES: :BEAMER_opt: fragile :END: *** Software, Softwareversion and Softwaremodule #+BEGIN_EXPORT latex \lstset{% backgroundcolor=\color[gray]{.90}, basicstyle=\tiny\ttfamily, breaklines = true, keywordstyle=\color{blue!85}, columns=fullflexible, }% \lstdefinelanguage{BibTeX} {keywords={% @article,@book,@collectedbook,@conference,@electronic,@ieeetranbstctl,% @inbook,@incollectedbook,@incollection,@injournal,@inproceedings,% @manual,@mastersthesis,@misc,@patent,@periodical,@phdthesis,@preamble,% @proceedings,@standard,@string,@techreport,@unpublished,% @software,@softwareversion,@codefragment,% title,author,year,vcs,license,swhid,version,subtitle, crossref,institution,editor,introducedin,url% }, comment=[l][\itshape]{@comment}, sensitive=false, } \begin{lstlisting}[language=BibTeX] @software {cgal, title = {The Computational Geometry Algorithms Library}, author = {{The CGAL Project}}, editor = {{CGAL Editorial Board}}, year = 1996, url = {https://cgal.org/} } @softwareversion{cgal:5-0-2, crossref = {cgal}, version = {{5.0.2}}, url = {https://docs.cgal.org/5.02}, year = 2020, swhid = {swh:1:rel:636541bbf6c77863908eae744610a3d91fa58855; origin=https://github.com/CGAL/cgal/} } @softwaremodule{cgal:lp-gi-20a, crossref = {cgal:5-0-2}, author = {Menelaos Karavelas}, subtitle = {{2D} Voronoi Diagram Adaptor}, license = {GPL}, introducedin = {cgal:3-1}, url = {https://doc.cgal.org/5.0.2/Manual/packages.html#PkgVoronoiDiagram2}, } \end{lstlisting} #+END_EXPORT ** Output \nocite{*} \tiny \changefontsizes{7pt} \printbibliography[heading=none,title="Example bibliography",keyword=first] +*** + \hfill Texts in blue are *clickable links*, try them! ** Examples are worth a thousand words, cont'd :PROPERTIES: :BEAMER_opt: fragile :END: *** Software, Softwareversion and Codefragment #+BEGIN_EXPORT latex \lstset{% backgroundcolor=\color[gray]{.90}, basicstyle=\tiny\ttfamily, breaklines = true, keywordstyle=\color{blue!85}, columns=fullflexible, }% \lstdefinelanguage{BibTeX} {keywords={% @article,@book,@collectedbook,@conference,@electronic,@ieeetranbstctl,% @inbook,@incollectedbook,@incollection,@injournal,@inproceedings,% @manual,@mastersthesis,@misc,@patent,@periodical,@phdthesis,@preamble,% @proceedings,@standard,@string,@techreport,@unpublished,% @software,@softwareversion,@codefragment,% title,author,year,vcs,license,swhid,version,subtitle, crossref,institution,editor,introducedin,url% }, comment=[l][\itshape]{@comment}, sensitive=false, } \begin{lstlisting}[language=BibTeX] @software {parmap, title = {The Parmap library}, author = {Di Cosmo, Roberto and Marco Danelutto}, year = {2012}, institution = {{University Paris Diderot} and {University of Pisa}}, url = {https://rdicosmo.github.io/parmap/}, license = {LGPL-2.0}, } @softwareversion {parmap-0.9.8, version = {0.9.8}, swhid = {swh:1:rev:0064fbd0ad69de205ea6ec6999f3d3895e9442c2; origin=https://gitorious.org/parmap/parmap.git}, crossref = {parmap} } @codefragment {simplemapper, subtitle = {Core mapping routine}, swhid = {swh:1:cnt:d5214ff9562a1fe78db51944506ba48c20de3379; origin=https://gitorious.org/parmap/parmap.git; anchor=swh:1:rev:0064fbd0ad69de205ea6ec6999f3d3895e9442c2;path=/parmap.ml;lines=101-143}, crossref = {parmap-0.9.8} } \end{lstlisting} #+END_EXPORT ** Output \tiny \changefontsizes{7pt} \printbibliography[heading=none,title="Example bibliography",keyword=second] +*** + \hfill Texts in blue are *clickable links*, try them! + ** biblatex-software: new options and support for other identifiers *** Five new options to control typesetting of software related entries - swlabels=true|false :: add a special label to software entries - license=true|false :: show license information - halid=true|false :: show the HAL identifier - swhid=true|false :: show the SWHID identifier - vcs=true|false :: show the repository URL #+BEAMER: \pause *** Adding other identifiers - ~doi~, ~hal_id~, ~shwid~, ~vcs~, ~url~ are *built-in* - other identifiers are easy to add using ~eprint~ (see full documentation) * Use and contribute ** A /style extension/ compatible with /all existing BibLaTeX style/ Three simple steps *** 1) copy the relevant files into your article's directory ~software.bbx software.dbx software-biblatex.sty english-software.lbx~ #+BEAMER: \pause *** 2) pass the ~datamodel=software~ option when loading biblatex #+BEGIN_EXPORT latex \begin{lstlisting} \usepackage[datamodel=software]{biblatex} \end{lstlisting} #+END_EXPORT #+BEAMER: \pause *** 3) load ~software-biblatex~ #+BEGIN_EXPORT latex \begin{lstlisting} \usepackage{software-biblatex} \end{lstlisting} #+END_EXPORT #+BEAMER: \pause *** \hfill That's it! \hfill (see the documentation for full details) ** Availability and contributions *** Distribution and documentation ~biblatex-software~ is available on CTAN as https://www.ctan.org/tex-archive/macros/latex/contrib/biblatex-contrib/biblatex-software - documentation in [[http://mirrors.ctan.org/macros/latex/contrib/biblatex-contrib/biblatex-software/software-biblatex.pdf][~software-biblatex.pdf~]] - demo example in [[http://mirrors.ctan.org/macros/latex/contrib/biblatex-contrib/biblatex-software/sample-use-sty.pdf][~sample-use-sty.pdf~]] - sample bibliography in [[http://mirrors.ctan.org/macros/latex/contrib/biblatex-contrib/biblatex-software/biblio.bib][~biblio.bib~]] *** Development contributions are welcome on https://gitlab.inria.fr/gt-sw-citation/bibtex-sw-entry ** Conclusion *** BibLaTeX users can finally properly handle software in their bibliographies. \hfill /Let's spread the word!/ *** Articles using biblatex-software and Software Heritage \changefontsizes{7pt} \printbibliography[heading=bibliography,title="References",keyword=biblio] diff --git a/talks-public/2020-05-05-biblatex-software/biblio.bib b/talks-public/2020-05-05-biblatex-software/biblio.bib index 01a7e75..d630d85 100644 --- a/talks-public/2020-05-05-biblatex-software/biblio.bib +++ b/talks-public/2020-05-05-biblatex-software/biblio.bib @@ -1,95 +1,96 @@ @software {cgal, title = {The Computational Geometry Algorithms Library}, author = {{The CGAL Project}}, editor = {{CGAL Editorial Board}}, year = 1996, url = {https://cgal.org/}, keywords={first}, sortkey={A}, } @softwareversion{cgal:5-0-2, crossref = {cgal}, version = {{5.0.2}}, url = {https://docs.cgal.org/5.02}, year = 2020, swhid = {swh:1:rel:636541bbf6c77863908eae744610a3d91fa58855; origin=https://github.com/CGAL/cgal/}, keywords={first}, sortkey={B}, } @softwaremodule{cgal:lp-gi-20a, crossref = {cgal:5-0-2}, author = {Menelaos Karavelas}, subtitle = {{2D} Voronoi Diagram Adaptor}, license = {GPL}, introducedin = {cgal:3-1}, url = {https://doc.cgal.org/5.0.2/Manual/packages.html#PkgVoronoiDiagram2}, keywords={first}, sortkey={C}, } @software {parmap, title = {The Parmap library}, author = {Di Cosmo, Roberto and Marco Danelutto}, year = {2012}, institution = {{University Paris Diderot} and {University of Pisa}}, url = {https://rdicosmo.github.io/parmap/}, repository = {https://github.com/rdicosmo/parmap/}, license = {LGPL-2.0}, keywords={second} } @softwareversion {parmap-0.9.8, title = {The Parmap library}, author = {Di Cosmo, Roberto and Marco Danelutto}, version = {0.9.8}, swhid = {swh:1:rev:0064fbd0ad69de205ea6ec6999f3d3895e9442c2; origin=https://gitorious.org/parmap/parmap.git}, crossref = {parmap}, keywords={second} } @codefragment {simplemapper, subtitle = {Core mapping routine}, swhid = {swh:1:cnt:d5214ff9562a1fe78db51944506ba48c20de3379; origin=https://gitorious.org/parmap/parmap.git; anchor=swh:1:rev:0064fbd0ad69de205ea6ec6999f3d3895e9442c2;path=/parmap.ml;lines=101-143}, crossref = {parmap-0.9.8}, keywords={second} } @article{DaneluttoDiCosmo2020, author = {Di Cosmo, Roberto and Danelutto, Marco}, title = {{[Rp] Reproducing and replicating the OCamlP3l experiment}}, journal = {ReScience C}, year = {2020}, volume = {6}, number = {1}, doi = {10.5281/zenodo.3763416}, url = {https://zenodo.org/record/3763416/files/article.pdf}, urllocal = "http://www.dicosmo.org/Articles/2020-ReScienceC.pdf", code_url = {https://archive.softwareheritage.org/swh:1:rev:2db189928c94d62a3b4757b3eec68f0a4d4113f0;origin=https://gitorious.org/ocamlp3l/ocamlp3l_cvs.git/}, code_swh = {swh:1:rev:2db189928c94d62a3b4757b3eec68f0a4d4113f0;origin=https://gitorious.org/ocamlp3l/ocamlp3l_cvs.git/}, review_url = {https://github.com/ReScience/submissions/issues/22}, type = {Reproduction}, language = {OCaml}, domain = {parallel programming}, dmi-category={jour}, x-topic = "opensc", keywords = {biblio}, abstract = {This article provides a full report on the effort to reproduce the work described in the article “Parallel Functional Programming with Skeletons: the OCamlP3L experiment”, written in 1998. It presented OCamlP3L, a parallel programming system written in the OCaml programming language. It turns out that we found the source code of the OCamlP3L system only in Software Heritage: since it was saved with all its development history, we could perform this reproduction experiment.} } @inproceedings{swhicms2020, TITLE = {{Archiving and referencing source code with Software Heritage}}, AUTHOR = {Di Cosmo, Roberto}, URL = {https://hal.archives-ouvertes.fr/hal-02526083}, NOTE = {to appear, preprint available}, YEAR = {2020}, PDF = {https://hal.archives-ouvertes.fr/hal-02526083/file/main.pdf}, booktitle = {{ICMS}}, series = {Lecture Notes in Computer Science}, + publisher = {Springer}, keywords = {biblio}, }