Forking allows you to create a personal local copy of a project that already exists remotely.
This copy will have a child association from the parent repository and can become its own project.
Due to the association however, the forked repository can still submit pull requests back into the parent repository.
This is especially useful for working with unknown collaborators so that only approved changes can be reincorporated back into the original project.
