The Software Sustainability Institute.
Sources and scripts for creating a software management plan checklist in various formats.
For more information see:
- Software Management Plans web page on The Software Sustainability Institute web site.
- DMPonline service from The Digital Curation Centre which hosts Software Management Plan templates.
- The Software Sustainability Institute. (2018). Checklist for a Software Management Plan. v1.0. doi:10.5281/zenodo.2159713
- The Software Sustainability Institute. (2018). Checklist for a Software Management Plan. v0.2. doi:10.5281/zenodo.1460504
- The Software Sustainability Institute. (2016). Checklist for a Software Management Plan. v0.1. doi:10.5281/zenodo.1422657
- These instructions were tested on Ubuntu 16.04.3 LTS xenial.
- Other versions of the tools may also be usable.
- Installing tools requires you to have sudo access to install and configure software (or a local system administrator to do this for you):
sudo su -
Install Pandoc document converter:
sudo apt-get install pandoc
pandoc --version
pandoc 1.16.0.2
Install wkhtmltopdf HTML-to-PDF converter (using latest stable version, 0.12.5, for Ubuntu 16.04 Xenial, on web site):
wget https://downloads.wkhtmltopdf.org/0.12/0.12.5/wkhtmltox_0.12.5-1.xenial_amd64.deb
sudo apt install ./wkhtmltox_0.12.5-1.xenial_amd64.deb
wkhtmltopdf --version
wkhtmltopdf 0.12.5 (with patched qt)
Install Python
- If you already have Python you can skip this step. If you don't have Python then we recommend Miniconda Python.
- Either Python 2.7+ or Python 3.6+ can be used.
Miniconda Python 2.7
wget https://repo.continuum.io/miniconda/Miniconda2-latest-Linux-x86_64.sh -O miniconda2.sh
bash miniconda2.sh -b -p $HOME/miniconda2
Set environment and check:
source $HOME/miniconda2/bin/activate
python -V
Python 2.7.15 :: Anaconda, Inc.
Miniconda Python 3.6
wget https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh -O miniconda3.sh
bash miniconda3.sh -b -p $HOME/miniconda3
Set environment and check:
source $HOME/miniconda3/bin/activate
python -V
Python 3.6.5 :: Anaconda, Inc.
Install pyyaml:
- If you have Anaconda Python you can skip this step.
pip install pyyaml
Install Microsoft TrueType core fonts:
apt-get install ttf-mscorefonts-installer
This needs to be installed otherwise python setup.py install
won't work below
(pre-pend with sudo if your setup requires this)
apt-get install python-dev
Install linkchecker 9.4:
wget https://github.com/linkchecker/linkchecker/archive/v9.4.0.tar.gz
tar -xf v9.4.0.tar.gz
cd linkchecker-9.4.0/
pip install -r requirements.txt
python setup.py install
linkchecker -V
LinkChecker 9.4.0 released xx.xx.xxxx
Copyright (C) 2000-2014 Bastian Kleineidam
You need to checkout the repository and then cd into the right directory (assumes git is installed and working)
git clone https://github.com/softwaresaved/software-management-plans.git
cd software-management-plans
Create HTML and PDF checklist papers for publication online or depositing in Zenodo (for example).
Run:
make papers
This creates an intermediate Pandoc Markdown checklist, then converts this into HTML and PDF papers. The papers are placed in build/papers/
.
Run:
make check-links
This will display broken links, if any.
If you see an error e.g.
Makefile:66: recipe for target 'check-links' failed
make: [check-links] Error 1 (ignored)
then this can be ignored (an error code of 1 means that the linkchecker
program encountered one or more broken links).
A full report is created in build/link-check.txt
.
Beware: Certain links may be identified as broken when they in fact exist. See the Linkchecker FAQ, Q:I still get an error, but the page is definitely ok.
Create Markdown (md), Word (docx) and OpenOffice/LibreOffice (odt) checklist templates for publication online so researchers can use these in their projects.
Run:
make templates
This will create an intermediate Pandoc Markdown checklist, then convert this into Word and OpenOffice/LibreOffice templates, and it will also create a Markdown checklist. The templates are placed in build/templates/
.
Run:
make
Note: read this whole section before you run any of the commands. It shows you how to change the template formatting. If you are happy with the current formatting then there is no need to run the pandoc
commands below.
templates/doc.html
and css/styles.css
determine the style of HTML and PDF papers.
templates/reference.docx
and templates/reference.odt
determine the style of Word and OpenOffice/LibreOffice templates. These were generated using the commands:
pandoc --print-default-data-file reference.odt > templates/reference.odt
pandoc --print-default-data-file reference.docx > templates/reference.docx
They were then customised so that:
- Titles and level 1-3 headings are black, bold, non-italics.
- Body Text / Text Body content, used for boiler-plate guidance in the templates, is surrounded by a border.
See Contributing.
Copyright (c) 2014-2018, The University of Edinburgh
- Guidance (in
markdown/
directory): Creative Commons Attribution 4.0 International - Source code: Apache License, Version 2.0, January 2004
For full details, see LICENCE.
The Software Sustainability Institute provides the checklist on an "as-is" basis, makes no warranties regarding any information provided within and disclaims liability for damages resulting from using this information. You are solely responsible for determining the appropriateness of any advice and guidance provided and assume any risks associated with your use of this advice and guidance. If you have any questions regarding the right licence for your code or any other legal issues relating to it, consult with a professional for advice relating to your individual circumstances.
The checklist has its origins in:
Chue Hong, Neil (2014) "Writing and using a software management plan", The Software Sustainability Institute http://www.software.ac.uk/resources/guides/software-management-plans.
The checklist has evolved in response to feedback from: Mario Antonioletti, The Software Sustainability Institute; Neil Chue Hong, The Software Sustainability Institute; Peter Cock, The James Hutton Institute; Steve Crouch, The Software Sustainability Institute; Robert Davey, The Genome Analysis Centre; Carole Goble, The Software Sustainability Institute; Catherine Jones, STFC; Sarah Jones, The Digital Curation Centre; Katrin Leinweber, Technische Informationsbibliothek; Mark Plumbley, Centre for Vision, Speech and Signal Processing, University of Surrey; Chris Rawlings, Rothamsted Research; Marta Ribeiro, The Digital Curation Centre; John Robinson, The Software Sustainability Institute; Shoaib Sufi, The Software Sustainability Institute.
We also acknowledge the valuable assistance and generosity of The Digital Curation Centre, particularly Sarah Jones and Marta Ribeiro, in supporting the writing of of software management plans within DMPonline.