A quality curated collection that you can check out anytime before, during, and even after Hacktoberfest 2021 💻
Here, you will find articles, hands-on tutorials, repositories, and communities where you will learn and improve your understanding about:
- What open source projects are
- How to step out of and expand your comfort zone in communicating & working with strangers
- How and why you should contribute to open source projects
- How you could start your own open source project
Remember to bookmark it 🔖
Hear from Hillary Nyakundi , who made his first open source contribution in 2020, last year. He puts into perspective the aspects that he felt that were the most important for beginners towards contributing to open source projects. These include what to look out for first-timer projects, basic git commands for working on public repositories, how and why you should contribute to open source projects.
Ayu Adiati talks about a topic that is less explicitly stated by the Open Source community - Ethics. She includes communication tips with open source project maintainers, and how to write issues and make pull requests based on templates. All of these are pretty important if you have been working solo or enterprise only all along, where there's pretty much either no standard or an already well known standard that is established for you to follow. In the Open Source community, there is a distinct difference in expectations for your contributions and how you should conduct yourself. e.g. Don't treat Github threads like Tech Twitter threads.
Be ready to be requested to make some changes if you submit pull requests, and enjoy the exchange with your code reviewer! You will get to step out of your comfort zone, learn to code and network better.
Ever thought that you're not a genius programmer and that you might not fit into the Open Source Community? Well, Karthik tells you not to worry and that you will fit in like a glove. In this article, Kartik Choudhary gives a more pragmatic and empathetic take on contributing to Open Source. He divided the merits of building a developer profile into 3 levels based on development experience - Beginner, Intermediate and Senior to make it relatable for readers coming from various backgrounds. He also introduces an interesting concept of Expectations-Driven Profile Building, which is a very helpful paradigm when it's time that you have to start making actionable plans to market yourself as a developer.
Finally, who else speaks open-source louder than Github themselves? Quoted directly from their website, GitHub is where over 65 million developers shape the future of software, together.
This is the de facto and extensive guide that you should read next once you are much more familiar with contributing to public repositories, and you want to consider starting your own open source project.
There is an extensive tutorial series published on Digital Ocean by Lisa Tagliaferri, last updated on Sep 2021 that covers the following:
- How To Contribute to Open Source: Getting Started with Git
- How To Create a Pull Request on GitHub
- How To Rebase and Update a Pull Request
- How To Maintain Open-Source Software Projects
- How To Use Git: A Reference Guide
When you're done with any tutorial, you can also mark them as complete on the platform to keep track of your progress.
Now that we get the concepts and some hands-on down, let's look at 3 avenues where opportunities abound for your growth as part of the open source community.
The repository is exactly what it sounds like! It is a list consisting of all the projects that you can possibly contribute to, sorted by language, and it is even updated very recently, decreasing your search radius for regularly maintained projects. Documentation, automation, refactoring or development features - you have a big buffet for knowledge transfer from experienced open source maintainers right over here.
Knowing that you're not alone would always help, be it you're a self-taught developer that's still transitioning to tech for a career or a 20 years veteran who's been stuck chipping away at an inevitable legacy monolith enterprise code. Communities are always a great source of support. For those that are procrastinating, by pull or push, closely-knitted and active communities will help to motivate you. You also get to make new friends and network with people that have similar interests. If you're lucky, you might even get a mentor.
Eddie Jaoude , an Open source expert, also recommends joining multiple communities because you can tap on the different resources and opportunities that they offer.
Note: Most programmes out there are intended for students, but there are a few here where it is not restricted to students.
For those that prefer to go wild with a high stakes, high rewards kind of approach to learning, Pawel has collated a very good list of 10 open source programs to join.
Why "high stakes, high rewards"? Well, the competition for such programmes are usually very fierce, because of the prestige of the companies that back these programmes and the high expectations that come with it.
Less explicit downsides of joining these programmes include:
- Most of these programmes also come with an interview - so if you're a total beginner and you lack a developer profile, then it's pretty hard to compete against those that have developer experience even if they too never contributed to open source before.
- for these programmes, the projects you can get to choose from come from a very small pool - likely companies that sponsored those programmes. You may or may not enjoy what you have to pick up to do.
- There will definitely be commitments to the programme's schedule, unlike if you choose to pick up random projects to work on at your own pace or join community activities at your convenience.
After all of that, don't forget to checkout the Hacktoberfest website!
Thank you for reading this listicle, I hope the resources and explanations are enough to pump you up to be more involved in the Open Source community 🌻
If you find this useful, react 🧡, feedback 💬, and share 🐦!
And if you like my writing style, follow me 🐧 here and Twitter.