In the read section, we discussed about why it's so important to read other's code. In last chapter, we discussed how you can contribute to open source through google summer of code . But GSC is available only for students. But what if you are not a student and want to contribute to open source in free time?
This chapter we talk about how you can contribute to open source through various ways.
Most of the people who talk to me, ask how to choose a project to start contributing. I normally answer "whichever you use the most". It is always good to choose a project which you normally use in your work. It may be a Javascript library, Java library or a framework. The reason being that you are highly familiar with the project,so it will be easy for you to start thinking on how you can improve the project which in turn improves your work.
There is a misconception within people that contributing to open source means just contributing code. Though contributing code may be great, but it is not the only way to contribute to open source. There are many ways you can contribute besides coding!
The following are few ways you can contribute to the project:
As you become more familiar with the project, you will be more experienced in using the tool or library. In mailing lists, lot of people will be in the need of that expertise. So start with answering questions in the mailing list. This improves people's understanding on the project and in turn more people will be willing to use.
So answering in the mailing lists will be one of the good place to start with.
Every software written by humans are buggy in nature. So if you come across some bug in the library don't keep quiet. Raise a bug in appropriate bug database so that developers of the project knows about it. By filing the bug you are making project better.
Not every project comes with great documentation. After using it for sometime you may feel the documentation is not adequate or it's out of date.Documentation is another way to contribute to open source projects.On improving the documentation, you are helping people in understanding the project .
Test cases are the best place to start contributing the code to a project. Writing test cases improves your understanding of the project and also it will help developers of the project to find out the corner cases that they might have not considered.
After getting experienced on the project, you are sure to know a lot about how the given library works and file few bugs yourself. Now if you think you can fix the bugs go ahead and fix it.
This is the ultimate contribution you want to do. Putting a new feature in a well established project is not easy. But after going through all the above contributions you should be able to do it.
There are many ways you can contribute to your favorite project. Go ahead and make a mark.