As the PTL of the Magnum project, I regularly meet new people who take an interest in what we are doing, and want to get involved with Magnum or contribute to OpenStack. I feel compelled to share my formula for becoming an awesome contributor to an OpenStack community project. This advice probably applies equally well to becoming an Open Source contributor for any project, but it has actually been tested and proven in the OpenStack community, so I am confident it will work for you.
The first thing new contributors usually say is “I don’t know Python yet, but I do know language XYZ, so how can I make an impact right away?” Universally all open source contributors want a chance to do something helpful and meaningful for the projects they love. What most of them don’t realize is that developing new software features is not the only way they can make their impact felt. Here is how I suggest newcomers start out. Follow these in order, and continue with steps 2+ ongoing as you start to advance through the list.
1) First cover the groundwork. Get yourself set up so that you have the *option* to contribute by getting your CLA taken care of. Visit the Contributing page for details on this.
2) Show up on the project IRC channel. Ours is
#openstack-containers on Freenode. Set up your chat client to idle in there, and try to keep an eye on our public conversations. This will help you keep the pulse on what’s happening. Do not fear the public nature of this discussion. It is normal to be shy at first, but you will get used to it.
3) Attend the weekly IRC team meetings (whichever make sense in your timezone). Our team meeting schedule and agenda are posted on the OpenStack wiki for your reference. You have to chime in to be recorded in the attendance, which I strongly recommend. If you arrive late, that’s still okay. Nobody is perfect.
4) Subscribe to and read the email@example.com mailing list. In the subscription settings you can set up topic tag filtering, so if you only want messages from the [Magnum] topic that’s possible. Be sure when you send new emails to the list that you include [Magnum] in the subject line.
5) Start looking at code reviews. Once you have your LaunchPad account set up, you can use it to sign into Gerrit, and start reviewing code. To review Magnum code, check our review queue. This is a great way to get a sense of what is in flight now, and is about to land. It’s also a great way to see a lot of Python code. Check out our guidelines at the bottom of our Contributing page for more about how to vote on reviews. Anyone can vote. In the settings you can tune what emails the system sends you.
6) When you are confident and ready to do some coding work, check our our task queue, which includes bugs. There is also a task queue for our client software. Use the guidelines at our Contributing page to set up your development environment and submit your code for review.
7) Once you have closed out a couple of bugs, it might be time to get more ambitious and start helping out with new feature development. We will consider code from anywhere, but we are much happier if you discuss your plans as you start by chatting with us in IRC, and in our weekly meetings so we can start with confidence knowing that we share a clear vision of how it will be done.
If you do all of those things, you definitely will win friends and influence people. This is the way that you add real value as a member of the community, and can begin to multiply the value your contributions by helping everyone else as they show up to help as well. You will be surprised at how amazing it will feel to make your contribution, and be a part of a winning team on an inspirational mission. Thanks for being awesome!