A Walk with coala

22 Apr 2017 . category: GCI . Comments
#python #gci #coala

coala


coala

“Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live.”John F. Woods

How I met coala

It all started this winter when my vacations had just began and I was clueless about what to do for the next 1.5 months at my home. So I came across this event named KWOC organised by the Kharagpur Open Source Society, in which they maintained a leaderboard on the basis of number of commits one made in the selected repositories and somehow coala was on the list of selected repositories. Well I had two years of experience of coding with C++ but truely speaking I had no idea about the syntax and semantics in python then but I was quite lucky I found this community which answers to all your queries however stupid that maybe. The community at coala puts a lot of effort on the learning experience of newcomers so you can literally contribute without having any knowledge about python or coala. Infact my first commit in coala repository was merely removing a couple of unused import statements. It might sound that it must have took me a couple of minutes to get this commit merged, but actually it took a couple of days rather.:sweat_smile: The main motive behind the first commit in coala is basically to learn the process of contribution. The maintainers at coala notice all the minute details in your code and commit message. Well seriously on the first-hand experience you might not appreciate this nazism regarding these commit message and all, but beleive me it is only due to these efforts these guys put, coala has a 100% build coverage and is completely error free and it is very much essential to sustain large open source projects on a long run.

Well what next?

Well I realised that I cannot go on like this having no idea about python. So I started reading this book named Learning Python the Hard Way. This book is really a good one for the newcomers and covers all the basic concepts of the programming language. The most awesome thing at coala is we put these tags like difficulty/newcomer and difficulty/low to label the hardness and knowledge required in solving an issue, which helps newcomers to get acquainted with the repository through the process of contribution. So gradually I started taking up difficulty/low tagged issues which just demands the basic understanding of python and coala. Mind it, contribution in coala doesn’t only means getting your code merged but also helping maintainers in reviewing others’ code, and it is actually through this reviewing process one gets more familiar with coala both as a software and as a community. So on basis of my contributions, I was promoted from a newcomer to a developer at coala.

Why coala?

This blog is not about explaining what coala does as a software, if you’re inquisitive for that you can click the image at the top of this page. In this post I will tell you a bit about how coala works as a community. The coala community is the most awesome community I have come across till now. The maintainers at coala - these are guys who really have a solution for everything. The community bonding at coala is great which is normally not found in other open source communities. Coding all the day can be really boring and straining job, so we guys have a regular chat on gitter channel of coala getting our queries sorted and helping others in getting theirs sorted too. We also have an offtopic channel where we talk about all these stuffs what you’d call in hindi as bakchodi.:laughing: Being associated with open-source since December, I also had a chance to interact with other open-source communities and believe me what I found is none of them is as awesome and responsive as the community at coala. According to me, it is the community that you work with matters more in open-source than the software you work upon. The enthusiasm and taste of learning just multiplies when you have these awesome people always ready to help you whenever you get stuck. In our gitter channel, we also have this coala-bot which helps in reducing the workload on the maintainers and you can also chat and play with coala-bot. For simplifying the reviewing process we have gitmate bot which reviews the pull request, to reduce unnecessary intervention of reviewers when the thing can be sorted out with the help of coala software itself.

The aspects team

Now the developers at coala at coala are expected to team up and work on improving a specific aspect of coala and this aspect thing really looked appealing to me. So I chose to work with the aspects team in coala. With our team leader Stefan Zimmermann, we are a group of five to six developers working on implementing aspects in coala. We are most enthusiastic and awesome team in coala as said by Lasse himself - the founder of coala. This is the first year coala has applied as an independent organization in GSoC. To make the implementation of aspects happen at a lot faster pace and have new ideas incorporated regarding its implementation, coala had the aspects project listed as one of its project ideas for GSoC. So I have applied for it and am hoping to get selected to work on my ideas with the help of my mentors and team-mates to get the aspects up and running for coala as soon as possible.

It really has been an awesome journey till now with coala by my side and I wish to continue this walk as far as it takes me…


Me

I am a graduate student from Indian Institute of Technology, Kharagpur with a major in Electronics and Electrical Communication Engineering. I have deep interest in application of Deep Learning and Blockchain technologies to solve real world problems. I am an active developer, working with three open-source organisations at the moment; namely Apertium, coala and gitmate.