A few months back I came across Outreachy, an internship designed especially for encouraging diversity in open source. As an advocate for diversity in technology with a fondness for open source this is a cause I felt strongly drawn toward.
Outreachy has an application process that's a bit different to the standard internship, in that it requires a small contribution to the relevant project/s rather than interviews. So in addition to submitting a Resume I also set up IRC to contact potential programme mentors. I ended up settling on OpenStack Swift. Swift is the object storage part of OpenStack (as opposed to block storage), it's a "highly available, distributed, eventually consistent object/blob store" to be exact.
The Swift system is large and complex, and yet merely a small part of the whole of OpenStack. My contribution was for a smaller part still, names of Storage Policies - in particular the support of aliases which had not yet been implemented. Over the next few days and coming weeks I learned:
- How to set up a Swift-All-In-One Development Environment, called a SAIO.
- An overview of how Swift works.
- How storage policies work.
- How development is handled in a large open source project - particularly the intricacies of testing! Pep8, unittests, functests, probetests, and tox tests.
- How to submit patches and revisions through Gerrit.
I felt really well supported by my mentor and the Openstack Swift community as a new contributor. Though there is a lot yet to learn, I felt glad to have made these first steps.
In late November my application for an Outreachy Internship with OpenStack Swift was accepted! I'll be keeping a weekly blog of my progress here and am very excited to have this opportunity.