Newcomers Are from Neptune, Maintainers Are from Mars
Tips and feedback for both newcomers and maintainers
My experience speaking at the first ever Adobe Open Source Summit (more about it here), albeit exhilarating, was based on the answers to a fundamental question: What can I tell the summit attendees that they don’t already know? I wanted to bring content to the stage that couldn’t be found by a cursory internet search. And with due deliberation, I realised, that such content could only be my personal experience of working in open source.
The road less travelled by: A woman’s journey into open source
Putting the Robert Frost reference aside, this is a topic that is discussed extensively, yet somehow not enough — diversity in technology, specifically diversity in open source.
- As a newcomer, I was hard-pressed to find role models, whose stories resonated with me and whom I could emulate. There were numerous occasions when I was held back by self doubt — that nagging voice constantly questioning if at all this was even right for me, if I was good enough to even try. The more I was burdened by these doubts, the more I was convinced that there needed to be more precedents for the generations to come, and I strived to become one of them, in every little way possible.
- Slowly, I shed the apprehensions of asking for help and embraced the core open source philosophy—that the community has your back. There is no shame in asking questions and no question is too trivial.
- Working with the RGSoC and coala communities has given me opportunities to meet and learn from so many people across the world. But most importantly, it has made me believe that I matter, that I too can be relevant in a room full of people with little in common to me.
The journey so far has, of course, not been a bed of roses. It has comprised of many frustrated hours of trying to figure out new, complex projects, coding, reviewing and doing it all over again. This brings me to the two key takeaways for newcomers and maintainers alike:
- Open source communities are constantly evolving ecosystems, some of which could be more welcoming to newcomers. For them, the holy grail is simplicity — simplicity is the key.
- No matter who you are or what your story is, if you’ve ever been of two minds about contributing to open source, shed the inhibitions and just do it. You definitely won’t regret it.
Newcomers are from Neptune, Maintainers are from Mars
For senior contributors and maintainers, I, as a newcomer, have some feedback and expectations. Understandably, maintainers have their hands full, and repeatedly onboarding a bunch of newcomers can get irksome. But, being unresponsive just drives away any potential contributors, with or without prior experience, leaving you with a project to maintain, and lesser help at hand. Here are some things you can do to make life easier for everyone involved:
- Document: The need for documentation can never be overemphasised. Your project is out there in a time capsule. Make sure someone can read and understand it in the year 3055.
- Delegate responsibility: Define onboarding processes and empower people to assist you. Also, only commit if you can devote the requisite time. So many potential contributors are deterred by ghosting mentors. Let your project not be one of those projects.
What no one told you about open source contributions
The obvious benefits of open source contributions are spoken and written about endlessly. But if you are new to open source, the motivations that drive thousands of people the world over to devote their time and talents may not be immediately apparent to you. So ask yourself these questions:
- Why would you contribute to OS? Maybe you used an open source package, added some custom functionality, and decided to raise a patch for the benefit of the community. Or maybe you decided to open source that cool hobby project you’ve been building on the side, to get a couple hundred additional pairs of eyes on it. That’s a great start, but there’s much more to it than simply adding missing functionalities and cool side projects.
- Why wouldn’t you contribute to OS? All this talk of contributions, open development and collaboration is all good, but how does an uninitiated step into all of this? Ask yourself, why wouldn’t you contribute? Maybe you think this is not for you. Or maybe you are apprehensive of a new and complex project and how you would navigate that.
Why should you contribute to open source?
- Overcoming the imposter syndrome: It may not be evident at first glance, but participation in open source communities is very effective in battling imposter syndrome, that nagging feeling of being exposed as incompetent or fraudulent. Your code is out there for the whole world to see. While this is a very scary thought at first, it is also the tool to help you better yourself with each commit. The community bonding, outreach and public speaking opportunities help you push your limits and battle your demons. This doesn’t change overnight, but the community is always there to hold your hand.
- Learning new skills: Additionally, open source contributions are an excellent way of learning new skills, languages, and technologies. While learning a new technology, consider looking beyond documentation and tutorials, to projects using those technologies. In many cases, these technologies are themselves open source projects with robust community support. The bragging rights that come with such contributions are, of course, a bonus and offer credibility of your expertise in that domain.
- Software engineering, and not just code: Open source teaches you a lot about software engineering practices. Most projects are maintained by teams of people from diverse backgrounds, cultures and geographies, teaching all of those involved a great lesson in collaboration. Most of these collaborations are asynchronous and with people who are not working on these projects full time. This helps develop effective and succinct communication skills. The community is there when something goes wrong, to help troubleshoot and fix issues. Even by contributing to open source projects, you learn the fundamental tenet of software engineering — the importance of a good design before development.
- The Great Big Cycle of Karma: The very nature of open source communities emphasizes collaborative development, of the project and contributors both. Members tend to go above and beyond to mentor you both on personal and professional fronts. There are ample opportunities, both via formal and informal channels, for you to return the favour for some good karma.
What you should take away from this
If you’ve scrolled all the way to the bottom without reading through the fine print, I’d like to summarise it simply for you. So many dreams, opportunities, and possibilities are stifled by the fear of the unknown, or by roadblocks which could easily have been overcome through external help or one’s own perseverance. If you were to do only one thing today, let it be taking a leap of faith and starting on your open source journey. Who knows what wonders lie ahead!