Session: Friendly intro to GitHub: an online portfolio for open and collaborative research on Thursday, October 26 from 15:50-16:25
Speaker: Dr. Rachael Ainsworth, Jodrell Bank Centre for Astrophysics, School of Physics & Astronomy, University of Manchester
Handout for this session: http://bit.ly/2hPG8yr
...cultivate change in the culture of the astronomy (and wider research) community to be more collaborative, iterative and open which is vital in order to pursue answers to fundamental questions about our Universe and inspire the next generation of researchers in STEM.
Making research results more accessible contributes to better and more efficient science, and to innovation in the public and private sectors [1]. Recent studies have also shown that open research practices reap benefits such as increases in citations, media attention, potential collaborators, job and funding opportunities, and brings significant benefits to researchers relative to more traditional closed practices [2].
- Open Access: I publish my article preprints on the open astrophysics arXiv (astronomers are pros at open access).
- Open Data: I publish small datasets on GitHub (examples here) and large datasets on a server hosted by my previous institute (example here). In the future I hope to migrate these data to (and deposit data from future projects in) Zenodo, an online repository for research outputs from across all fields of research.
- Open Source: I upload the codes and scripts I use to analyse my data on GitHub (examples here).
- Open Science Champion: I am working to promote, advocate and organise events relating to open science in astronomy within the Jodrell Bank Centre for Astrophysics.
I am part of the current cohort of Mozilla Open Leaders where I receive mentorship and training through the Mozilla Network on a project to advance open research: Resources for Open Science in Astronomy (ROSA). My project ROSA aims to collaboratively compile and tailor open science best practices from around the web into a kit for astronomers to work openly from proposal to publication. ROSA will be written for use by all research levels but its mission is to supply a single resource to early career scientists to empower them with the tools to practice open access/data/source/science! The project will also result in a general open science resource toolkit to encourage adaptation and reuse for any field of research, which can benefit all departments of the University of Manchester.
A tutorial inspired by the Mozilla Science Lab Friendly Intro to GitHub.
- Git is an open source program for tracking changes in text files. It was written by the author of the Linux operating system, and is the core technology that GitHub, the social and user interface, is built on top of.
- GitHub is a code hosting platform for version control and collaboration. It lets you and others work together on projects from anywhere.
- Open and reproducible science/code/research
- Open source software is software that can be freely used, modified, and shared (in both modified and unmodified form) by anyone. Today the concept of "open source" is often extended beyond software, to represent a philosophy of collaboration in which working materials are made available online for anyone to fork, modify, discuss, and contribute to.
- For more information on open source, specifically how to create and grow an open source project, GitHub have created Open Source Guides that will help you foster a healthy open source community.
- Project Management
- Websites
- Code documentation
- Open Educational Resources
- Open Data
- Online portfolio of your work
- All the things
- Why you would work openly - public repository
- Why/when/how you would work privately (private repositories cost ££ on GitHub, free on Bitbucket)
- Conference organising, manage internal discussions of keynotes etc.
- Can have GitHub on local server; hold sensitive/commercial data here
- 1:1 consultations
- Gateway to openness for researchers not quite ready to open!
Glossary via Mozilla Science Lab's GitHub Essentials
- repository, or repo - a collection of documents related to your project, in which you create and save new code or content.
- markdown - a lightweight way of annotating a document with instructions that tell a web browser how to format and display text.
- version control - a way of tracking changes to a document or collection of documents. Version control is like a time machine, it can take you back to the moment your document was created, or any other point in time when you or a collaborator saved that document.
- Git - the command-line software that tracks all changes to a collection of documents.
- GitHub - a service that hosts your repository online and helps you work with contributors. GitHub adds a web-based interface to version control.
- fork - a copy of a repository that is saved in another user's GitHub account.
- branch - a copy of a repo that is contained within the original repo. Branches are used to work on a project features without altering the original or "master" repo.
- commit - a saved change to a document in a repository.
- issue - a message on GitHub that outlines a task that needs to be completed.
- pull request - a request to add a commit or collection of commits to a repository.
- merge - the act of incorporating new changes (commits) into a repository.
- README - a document that introduces an open project to the public and any potential contributors; the first thing you see in a repo; usually written in Markdown
Markdown is a lightweight and easy-to-use syntax for styling your writing. It includes conventions for
Syntax highlighted code block
# Header 1
## Header 2
### Header 3
- Bulleted
- List
1. Numbered
2. List
**Bold** and _Italic_ and `Code` text
[Link](url) and ![Image](src)
For more details see GitHub Flavored Markdown, Markdown cheat sheet and Emoji cheat sheet.
We will finish this session with a hands-on activity following the GitHub Guides Hello-World tutorial to create a repository and edit the README! 🎉
- GitHub Guides - https://guides.github.com/
- GitHub Glossary https://help.github.com/articles/github-glossary/
- Understanding the GitHub flow - https://guides.github.com/introduction/flow/
- Mastering Markdown - https://guides.github.com/features/mastering-markdown/
- How to choose a license for your GitHub repository - https://choosealicense.com/
- Mozilla Science Lab GitHub Essentials - http://joeyklee.github.io/friendly-github-intro/guides/github-essentials/