Foreign students talk about experience: how to participate in open source on GitHub (Open Source on GitHub: Your first contribution)

Source: Internet
Author: User

Author: spencerpmoran

Reprinted from http://spencermoran.me/2013/08/13/open-source-on-github-your-first-contribution/

I am a computer senior who is about to graduate. I often hear people talk about how meaningful it is to contribute to open-source projects on GitHub. Many job requirements indicate that this experience is a very important basic condition or bonus item, and this kind of thing is often mentioned in various seminar courses and activities. It's really cool to make a contribution, so should I. The only problem is that I am a newbie. My computer courses are good, and I have done a few projects that my family members praised. However, I am sure that I cannot make any meaningful contribution to a project with real users, right? Is this idea correct?

A big mistake! Even if you are a newbie, you can make substantial contributions to the GitHub project in many ways. If you want to make some meaningful impact on your contribution, you don't have to read all the project code or know how to solve the dynamic pane problem similar to that in Bootstrap. There are appropriate ways for everyone to contribute.

Recently, my first substantial contribution was completed in an open-source project. Although I have made little contribution, I have gained a new sense of accomplishment because you know someone is using what you do. You must start from a very small project and keep moving forward. The following are my suggestions for students who want to contribute to the open-source project on GitHub but feel difficult to try:

The first step is to find a repository (Project) with a pull request ). There are many ways to find them. The simplest and most direct method is to read the README file of the repository, which often explicitly states that the repository owner wants someone to complete the pull request. If this is not mentioned in the README file, you can check the problem and download the code. Check the date of the pull request to see which pull request has been closed. Then you can determine how likely the repository owner is updating it. If you can find a project that you really like and meets the above requirements, you will be overjoyed. For example, I found a rails template project used to create a new project. The readme file of the rails template project is marked with the welcome pull in bold.
Request. Great!

Now it is time to fork and clone the repository. If you do not know how to perform this operation, the following is a good getting started tutorial.

Follow the instructions in readme to make sure that you can correctly configure and run the project on your computer. If you encounter any errors or problems that are not mentioned in README, this will be your first contribution! You can edit the README file to clarify this issue to other developers. One of the best ways to start contributing is to make them easier to run. You can organize README, edit errors in the document, or mark errors. It is not polite to jump into another user's code library and immediately start to rewrite the code. However, you can start your open-source career in a gentle way. The code library I would like to participate in improvements is complete and concise.

If you still haven't found a way to contribute, read all the issues of this project. Issue is a suggestion for adding features or modifying features. Sometimes someone has already given pseudocode or even started code, but it's just that time is too tight to complete. You may be able to find a task that has already started and does not need to be changed.

If you feel that you cannot correct any errors, the repository owner may have already indicated in the README file what to do next, or you have new ideas on your own. I am tired of browsing and checking warehouses, and even my own warehouses. The ds_store directory is submitted to GitHub by Mac users, which is unreasonable. I can add it to the. gitignore file of the rails template project, so that no one will do this again. Haha, I have contributed! You see, I just did simple things. Make sure that you have followed the project's existing conventions. Check readme and other pull requests to find out others' programming habits, and then make sure that you use the agreed commit description. I submitted a pull according to the above tutorial.
The Request Code is as follows:

# DS_Store gets added to project if viewedin OSX Finder run"echo '.DS_Store' >> .gitignore"

An hour later, my pull request was merged into a project that attracted several hundred people at the same time. I feel a new kind of goal and motivation for my work. What they are doing with my participation!

In my life as a computer undergraduate, I have always lacked a sense of accomplishment or hope to prove that I am actually doing things. I have learned algorithms, data structures, and many programming languages. I know myself clearly. However, I have never felt that my achievements have affected others. I always think, who did it? Who has this problem affected? This evening, I want to know that my work is very important to some people.

Although contributions to open-source projects on GitHub may seem rude and have a steep learning curve, it is indeed a meaningful way to achieve a sense of accomplishment.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.