Guides for researchers

334663311_321cbe6b5a_z.jpg

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. They also look at the importance of openness in research; why, when and how to start communities of practice or how to get involved in one.

Community building

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

  • Top tips for managing your open-source project community effectively – Have you developed something useful, and want to build a community around it? Before you encourage people to find you and your project, you need to make both easily findable. This guide highlights good practice around building and managing your project’s community.

Licences

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

  • Adopting an open source licence - Deciding to release software under an open-source licence is an important step in the lifecycle of any software project. Equally important is the selection of an appropriate licence: one that will correctly represent your rights as the software's owner, and the rights of third-party developers.

Policy

Project management

  • Approaches to software sustainability - The way that you approach sustainability will  depend on many factors, such as: how important is the software, how mature is it, what is the size of its community and what resources are 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 take a look at how to choose a good name and the common pitfalls. We also look at searching for already used names (including trademark searches). Finally, we discuss our understanding of registered trademarks and passing off - two laws that can affect name choice.

Publicising software

  • 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 that software is cited and described in papers. This guide provides recommendations on 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.

  • How to make your script ready for publication – This guide is based on the "Sustainable Software Development for Researchers" alias "Bring Your Own Script and Make It Ready for Publication" workshop run by Carina Haupt. Here, you can find a short overview about the steps recommended to make your code sustainable, enabling others to use and modify it.

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

Software development

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

  • Introduction to Github for beginners - These materials introduce learners to using GitHub for version control, open sourcing projects, and collaboration.

  • Accessing open data from R using APIs - An introduction to Application Programming Interfaces (APIs) and how to make API calls to access open data. 

  • How reproducible should research software be?
    This guide defines four levels of reproducibility, suggesting criteria to help you decide which level your research software should be at, and recommending practices to reach these levels of reproducibility.

Event organisation

Share this page