Now that you have found an issue to work on, you will need to collaborate with the project community to fix that issue. Collaboration in FOSS communities follows patterns of behavior known as workflows. Figure 2.5.1 shows a basic version of one FOSS workflow that is used by contributors working on FOSS projects.
Exercises
1.
GitHub uses specific terminology to refer to the copies of the repository. Match the GitHub terminology on the left with the repository in Figure 2.5.1 to which it refers on the right.
Upstream
Main project repository
Origin
Your Remote Copy
Local Clone
Local Copy of Your Remote Copy
Hint.
Review the diagrams of the basic FOSS workflow from the in the class materials.
2.
Figure 2.5.1 illustrates a basic FOSS workflow similar to what is used in many FOSS projects. This workflow has the following 5 steps: Fork, Clone, Edit, Push, and Pull Request. Match each term on the left with the appropriate description on the right.
Fork
Create a copy of the main project repository in your GitHub space.
Clone
Create a copy of your remote copy of the repository into your local development environment.
Edit
Make changes to your local copy of the repository (e.g. to fix a bug).
Push
Copy your changes into your remote copy of the repository.
Pull Request
Ask that the project maintainers incorporate your changes into the main project repository.
Hint.
Review the diagrams of the basic FOSS workflow from the in the class materials.
3.
Drag the steps of the basic FOSS workflow into the order that they are likely to occur when working on a project.
Fork
---
Clone
---
Edit
---
Push
---
Pull Request
Hint.
Imagine the process you would go through when starting to work on a project, fixing a bug, and contributing your changes back to the main project.