This course will become read-only in the near future. Tell us at community.p2pu.org if that is a problem.

Contributing to a project [June 29, 2012, 4:07 a.m.]



Well, if you have successfully installed the git client we are ready to go with this task: contributing with one project.

As we have explained in the previous tasks, you can contribute with a project in different ways. For example, you can help in the translation of the application, you can "adopt" a task, or you can add a new idea, bug report, comment, feedback, etc. via the issues page.

As you can see there are lots of options, so you are really free to chose how you would like to contribute with a given project.

Github usually gets most of the contributions around source code. The main reason is that this service is a  source code hosting platform, but as you have seen it can be used for many more tasks.

Depending on your skills, the goal of this task will vary a bit. If you are a developer, you can contribute with a small patch or an idea about how a problem or "issue" can be solved. If you are a designer, you wil be able to submit a new user interface, a new logo or icon that will make more clear the project that you have chosen. If you speak several languages, you could help with translations, and finally if you are an end user, you will be able to talk directly with the developers requesting new features, reporting bugs or discussing something that you do not like about the current status of the project (be proactive, tell them why you don't like the feature and how they can improve it).

The standard way to contribute in a project is done by "forking a project". If you check any public available project in Github they have a button that says: Fork! This action has become so popular among developers that usually every project feature a nice ribbon inviting you to participat by forking their project and submitting new features, patches, etc. to the main project.

By forking the project you will be actually cloning the original project into your personal account and space in Github. Thanks to this approach you will be working in your own copy of the original project, so you will not be able to break anything while you are testing, adapting or adding new features to it.

While this step is mandatory for every project, you can skip it if you are only going to write a new issue or propose a new feature in the original project. You can do it basically in their issues page, remember it works more or less like a forum. Check the next task for further details.

In summary, the goal of this task is: To Fork a project to your personal account in Github.

Read the official documentation about how you can do it. Then, paste the link to your forked version of the project in the comments of this task and explain why you have chosen that project and what are you going to contribute.