Skip to content

The Software Sustainability Institute advice, guidance and services relating to Software Management Plans. Contact: @shoaibsufi or @gperu

License

Notifications You must be signed in to change notification settings

softwaresaved/software-management-plans

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Checklist for a Software Management Plan

The Software Sustainability Institute.

Sources and scripts for creating a software management plan checklist in various formats.

For more information see:

Published versions

  • 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

Developer guide

About these instructions

  • 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 dependencies

Pandoc

Install Pandoc document converter:

sudo apt-get install pandoc
pandoc --version
pandoc 1.16.0.2

wkhtmltopdf

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)

Python

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.

pyyaml

Install pyyaml:

  • If you have Anaconda Python you can skip this step.
pip install pyyaml

Microsoft TrueType core fonts:

Install Microsoft TrueType core fonts:

apt-get install ttf-mscorefonts-installer

Python dev

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

linkchecker

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

Checkout the repository

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

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/.


Check HTML links

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, Word and OpenOffice/LibreOffice checkist templates

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/.


See all available Make commands

Run:

make

Styles

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.

Contributing

See Contributing.


Copyright and Licence

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.


Acknowledgements

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.