Hi all, I wanted to share with you that over the last week 5 (iirc) people have reached out to me asking of how they could contribute to Glance and have expressed interest in specific areas. The list of such individuals is longer (around 10) if I count those whom I had a chat with at the summit.
It's a great sign that people are enthusiastic about contributing and trying to make an impact. It is an open source, open community projects where the visibility factor becomes important -- agreed. But the only way one can truly become relevant and important to a projects/programs is by contributing their efforts to the significantly important discussions the team is having. This is way more important than contributing code, because it is about shaping it. There are so many of you who have a spec or piece of code out for review and do ask for the same from core reviewers at the meetings, or during casual chats. On not getting a review/response back, there is complaint about lack of reviews on specific patch set or proposals. This may result into a theme that a project/program is too slow and it spreads like wildfire even among the prominent members of the community. (Negative news is always trendy). But does that really reflect how the project/program is being operated upon? How can we ensure that such misconceptions are not endured by the community? This is an email attempting to address that. And I hope to come up with further more as time permits. What can be your most significant contribution? No matter what your status is in the project/program, core or not, you NEED to provide feedback via reviews; preferably via gerrit reviews or you can choose to give input on irc/emails. The way people will know that you are being valuable to the team or to their code proposals is via providing constructive, critical, rational, forward-looking, concise and precise reviews. They will appreciate that you have taken the time to provide them feedback for something they consider as important. This will result into a positive feedback loop and you will soon find yourself in back and forth review dance with those reviewers (and possibly) other reviewers too. No, they need not be cores, just any reviewer who is willing to give feedback. What are good ways of giving reviews? Please focus on the agenda (what the code intends to implement), completeness, compliance with standards & processes, testing thoroughness, thinking of corner cases, sometimes playing devil's advocate, tying the concepts with other projects/programs (Cross project thinking), thinking about performance, thinking about security, etc. Please take a look at reviews from some of the known reviewers in OpenStack, search on internet on best practices and ask questions (always)! What if I'm not sure? Start chatting with the team on irc or ping someone privately to see if they are willing to answer your questions. You can always provide feedback on irc and need not worry about providing reviews on gerrit. How to be effective? Keep a good review cadence for yourself. And no, I'm not talking about focusing on the stackalytics numbers, do that for your corporate organization/management. Try to be involved in the project on a regular basis. Almost 30-40% of my reviews are either via irc or email or etherpad. The important thing should be that you are helping things more forward. In OpenStack (at least in Glance) you will be recognized when your reviews are found helpful. People will vouch for you and provide feedback in return. Over the past few years, I have realized that not many people focus on all of the above four. So, we (at least Glance) have not been able to establish a positive feedback loop involving many members. We as a Open Community cannot afford to work in silos, the community input is important on the important aspects of projects/programs. Many members pick important code and are very enthusiastic about contributing more, not many are willing to provide constant valuable feedback. Slowness, silos, polarization is only natural. Even more, when feedback isn't provided you are likely to be missing important aspects of the project/program when writing your solution -- would you consider that as valuable contribution to the project/program? Also, people do keep a wrong notion that being a core is sign of status, and I keep writing such emails mentioning that it is a sign of _responsibility_. When being a core gives you influence, it is to ensure that you remain capable of taking the project forward with input and contribution from others as well. So, they way to give back to community for giving you this role is through various ways -- start reviewing (more), specs too, help with (various) liaison duties, mentor new members, help with squashing bugs & questions, provide feedback about and on the process, increase more awareness, etc. If you are really interested in becoming a core or take the responsibility of core reviewer-ship seriously, you need to act on at least one of the above things. If you still don't get it, think of it as a producer/consumer problem [1], the more input you produce for the project/program, the more you get out of it. Also, please DO NOT ask me if you can work on specific things or want to work item A, B, or C or that you need specific things approved/reviewed. You need to start driving things and start making an impact on the real world problem (if you want to pick those up) -- do not leave the political issues for someone else to deal with while you work in your silo; this will result in slowness, confusion, more issues and the project can NEVER be able to go forward this way. I have enjoyed working with various individuals and do like to recognize folks based on their positive traits but as someone responsible for driving project/program forward I also need a objective way of recognition that will ensure that everyone stays motivated to continue providing good contributions (whichever way possible). Disclaimer: This note is intended for everyone interested in contributing to Glance long term, no matter who you are. It _may_ be applicable to other projects/programs in OpenStack. [1] https://en.wikipedia.org/wiki/Producer%E2%80%93consumer_problem -- Thanks, Nikhil __________________________________________________________________________ OpenStack Development Mailing List (not for usage questions) Unsubscribe: [email protected]?subject:unsubscribe http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
