These guides aim to raise awareness of software used or written as part of research, especially covering issues about licensing data and software, citing, using, crediting and contributing to other people’s software and the importance of openness in research; why, when and how to start communities of practice or how to get involved in one.
- Starting a community - taking your software to the world - Whether for research, administration, learning or teaching, software is an increasingly valuable tool and output, and needs to be managed as such. Starting a community is, of course, an important step in software sustainability.
- Building a better community - Building a community around software is an important step for its sustainability. An active community can become self-supporting: answering queries raised by community members and contributing new functionality and bug fixes back to your project.
- Recruiting student developers - It's frustrating when you have an idea for improving your software, but lack the resources needed to realise it. Not all is lost! Your idea might be the perfect basis for a student project.
- Choosing an open-source licence - There are so many useful resources on the web when it comes to open-source licensing that it can be confusing. This guide highlights the best resources that provide clear information about choosing a licence for software.
- Approaches to software sustainability - The way that you approach sustainability will be depend on many factors, such as the how important is the software, how mature is it, what is the size of its community and what resources available for achieving sustainability? This guide summarises the different approaches to achieving software sustainability.
- Before starting a new software project - Whether for research, administration, learning or teaching, software is an increasingly valuable research tool and output, and needs to be managed as such.
- Choosing project and product names - In this guide, we'll take a look at how to choose a good name and the common pitfalls. We'll also look at searching for already used names (including trademark searches). Finally, we'll discuss our understanding of registered trademarks and passing off - two laws that can affect name choice.
- Creating videos for software projects - Videos are one of the best ways of showcasing software. This guide gives a few tips on producing videos for software projects.
- How to cite and describe software - It can sometimes be hard to understand, reproduce or reuse research done using software due to the way in which software is cited and described in papers. This guide provides recommendations as to how to cite and describe software when writing papers or reports.
- Which journals should I publish my software in? - Peer-reviewed publications are still the principal means of recording research. This guide lists the journals which accept submissions which are primarily about software.
Repositories and project infrastructure
- Best practice for using cloud in research - This guide for researchers will help you understand what cloud computing is, the benefits it may be able to offer you as a researcher and the different options available for gaining access to cloud computing resources. It will guide you in assessing whether to use a cloud and in planning the porting of your applications to your chosen cloud.
- Software deposit guidance - Depositing software into digital repositories can offer many benefits to both researchers and the research community. This collection of guides cover important aspects of depositing software into digital repositories including why you should deposit software, when and where to deposit software, how to deposit, what (and what not) to deposit, how to describe deposits and how to choose software licences.
- Generating Google maps out of Google spreadsheets - Say you've got a Google spreadsheet with a column for addresses. It could be street addresses or postcodes. You want to map this data and embed the map into a website. Maybe you also want the map to update dynamically as more rows are added to the spreadsheet. What are your options?