I hope I am not going too fast! Two blog posts in one day, damn! But if you have read my first blog post, you may got the feeling about how formal and kind of “no one will read” post it is.
I have been contributing to Pitivi, a GNOME open source project for about 8 months now. I started contributing to open source projects 2 years back and made contributions to many projects. It started out as a curosity to know more into the field of engineering and coding, and how I heard the word “OPEN SOURCE” again and again.
First step was learning about git, which by the way I am still learning(stackoverflow :p). If you want a free workspace where you can put your code for anyone to find, Github( or Gitlab) is the place. And when you start with Github, they will make you learn the basic git commands about git clone
, git add
, git commit
and git push
. That is enough for start, and then keep browsing web for anything you want to do further.
Open Source can be intimidating. With so much code and so many experts around you will get a feeling about how you may f**k up the thing they are working up. That is the only thing which kept me from contributing to it. If you are someone who is thinking about it, remember, you can’t do any damage to an open source project, even if you want to(why would you even think about that?!).
To start working on a project you need to fork the project repo. Fork is nothing but a copy of all the code for you to work with, you make changes in this copy of project and test if your goal is achieved. If you know git, I hope you already know git branches. When you want to contribute to someone else’s project, you need her/his permission to get your contributed code added to her/his project, so you make a pull request(PR) or merge request(MR) from the branch you made changes to. It is advised to keep one branch always updated with the main project and make your additions in another branch. When you make a pull request, git automatically detects changes and will show the changes in the PR. Any maintainer of the project, the one who has write permissions to the project, will merge your request if finds it correct and yay! you have made your first contribution.
Contributions are always welcomed in Open Source! The very famous and awesome open source projects are in dire requirement of more contributors. Most of the people think that documentation is a pathetic work or not actually contributing while the truth is documentation is the most important part of a project. It let newcommers know about the structure of the project and help them in start contributing. It becomes very very difficult when a project is all code and no documentation.
Another thing which is most important in open source is communicating. Whenever you have a doubt, just ask(Google first please)! In worst case, no one will answer but such chances are low. Whenever you want to work on an issue or any feature, the first thing should be asking about it. And always let others know that you are working on a problem, it would be a waste if someone else is working on it. Also, please be patient and be polite, everyone in open source is doing it for free spending their time and they deserve respect!
Once your code gets merged and you see it being used by other people, you will feel awesome! And if you are very lucky, you may find someone(not someone you asked to comment) appreciating that little thing that you contributed to! That, my friend, drives me to contribute more!
Happy contributing! cheers!!