A collection of explanations and short practical exercises to help researchers learn more about version control and open source software. Here are some accompanying slides.
- What is open source?
- Define open source vs. free software, discuss licencing.
- What is version control?
- Define version control & discuss it purpose.
- Practical exercises with Git & GitHub
- Practical exercise: Let's get started with Git
- Setting up a repository and uploading it
- Pushing and pulling changes.
- Practical exercise: Cloning and Collaborating
- Share a GitHub repository and collaborate with colleagues using pushes and pull requests.
- Practical exercise: Website with GitHub pages
- Still not sold on using GitHub? You can use it to make a website with relatively low effort
- Practical exercise: Trying more advanced things
- Extra stuff to investigate when you're comfortable with the first few lessons
- Practical exercise: Let's get started with Git
- What makes an open source project good?
- Learn to make your software useful for you and for others - add readmes, running docs, contributor guidelines, etc.
- Getting started contributing to other projects
- A good way to learn open project norms is by contributing to other projects. Here's how to find ways to contribute.
- Additional resources
- excited by the thought of getting involved in the open scientific code community? Lots of good links to follow up.
If you're working on these in a group, you could also try these group exercises out. Break into groups of 4 to 7 people.
- Discuss open source
- Working openly with software and data: pros, cons, and pondering points.
- Review open source projects
- Look at an open source project you're interested in. Can you figure out how to contribute?