It is not a programming genius. 14 ways to participate in open-source projects

Source: Internet
Author: User

If you want to participate in open-source projects without knowing where to start, here are some reference methods that may help you, it doesn't matter if you lack confidence in your current technology.

Open source softwareIt has changed the it, and even the whole world, because you are willing to contribute to the open-source business. Unfortunately, many think of participating in open-source projects as an obstacle that is hard to overcome, so they are retreating. I often hear people say they really want to participate in open-source projects, but they have been dispelled for the following three reasons.

1. I am not good enough

2. I don't have enough time

3. I don't know what kind of project suits me

 

There are three basic principles you should know when you seek opportunities to participate in open-source projects:

1. projects require professionals of various levels of competence.

2. Even a negligible contribution is better than nothing.

3. From the project you are using as the first step to participate in open source

 

The most terrible idea I have observed from open-source projects is that new people always think that they want to be some kind of genius.ProgramEmployeeTo participate in open source, this is not the case at all. Of course, some project members look like rock stars. Yes, they are really talented programmers. However, most of us are not. We are just those who need to complete the task. Sometimes we do not need to pay too much, sometimes we need to spend a lot of time, sometimes it is programming, and sometimes it is not.

0. Add to the email list:For most projects, the email list is still the main channel for project development and communication. In a large project, you can select many email lists, for example:PostgreSQLThe project has at least 12 user-oriented email lists and 6 developer-oriented emails. I suggest you pay attention to the most important user-oriented email lists and core developer lists.

1. Follow the blog: A blog is generally maintained by core developers. It usually contains information about future versions of items. How can I obtain this information? Usually a star site has news or blog entries from many related projects, if there is a star site, such as: http://plant.gnome.org or http://planet.mysql.com, then all you have to do is useGoogleSearch for planet
<Project Name> ".

2. Add to IRC:Many open-source projects have dedicated Internet Relay Chat (IRC) channels for developers and users to discuss development issues. Find out what the IRC channel is in the project site.

3.CodeDiagnosis:It is usually difficult to report bugs. diagnosing and quickly fixing bugs helps reduce developers' time. If the user reports that "the system cannot work when I operate xx", you have to spend some time solving these problems. Or will it be repeated? For example, is this type of problem only occurring in a certainBrowserIncompatible? There are other reasons for this problem only in the release.

4. Disable fixed bugs:Bugs are usually fixed in the code library, but are not updated in the problem tracking system. Although it is time-consuming to clean up these messy items, it is worthwhile for the whole project.

5. Test the beta version or candidate version:Any project designed for running on multiple platforms may have various compatibility issues. When a Beta or candidate version is released, the project leader wants to get test feedback on different people and platforms, and you can be one of them.

6. Fixed the bug:Fixing bugs is usually the place where contributors start to get started with the code. It is very simple. Find bugs of interest in the problem tracking system and fix them. If appropriate, write a document for fixing the code.

7. Write test:Most projects have Test suites for testing code, and it is hard to imagine that more tests cannot be attached to the test suite. Use test coverage tools such as C-based gcov and Perl-based devel: cover to identifySource codeYou cannot test the scope through the test suite, and then add a suite to overwrite it.

8. Rationally handle compilation Warnings:Many C-Project-based builds often have a lot of weird compilation warnings, which are usually not errors, but seem like too many warnings that make the compiler sound like a false alarm, check whether the Code does hide any bugs.

9. Attach a comment:When you study the code in depth, you may find that there are doubts. If you are confused, this is a chance for you, and you may encounter the same problems as others, post comments to them and submit the patch.

10. Create an example:General projects do not have too many examples of getting started, whether it is Web APIs, common libraries, or GUI applications such as Gimp, or command line tools, compared to long documents, A proper example can give a clearer and faster explanation of how the software is used.

11. ProblemAnswer:ParticipateCommunityThe best way is to help others. Answering questions, especially those involved for the first time, is critical to the growth of a project, even if your answer is simply "rtfm" (read the fxxk Manual ), everyone needs to take action, and if the project needs to become powerful, everyone needs to mobilize.

12. write a blog:If you have a blog, write down some of your project experience, record your problems and solutions. You can provide help in two ways. One is to remember the people who have helped you, and the other is to record the problems you may encounter in the future.

13. website improvement:Many programmers are very bad at graphic design, especially for project websites that cannot help the design department. If you have web design skills, you may wish to improve your website. As a project sign, it is worth time. Maybe the project interface needs to be thoroughly transformed, or just a logo, which is a lack of skills in the community. If I can provide some help in graphic design, I will like it very much.

 

There are too many ways to participate in open-source projects, even if we write a historical review of the features of a new product. Everyone who uses open source projects can bring technology to the community and help open source become an important part of the IT industry.

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.