Oct 4, 2023
How can Hacktoberfest 2023 be a turning point in your OSS journey & why AI is crucial to it.
Hacktoberfest - the popular month-long event that encourages developers (especially students and newbies) worldwide to contribute to open-source - is entering its 10th edition this October.
Over the last ten years, the core motto has been to celebrate open source, make more people contribute, and make software better for everyone. The benefits of contributing to open-source are widely known and evident, one being a higher preference in job applications.
Everyone loves open source, but only some are ready to take the plunge and give their valuable time. Why?
Why are not many people able to meaningfully contribute to open-source?
I believe the reason is based on a base class of the human algorithm: laziness. And when you extend that base class with a friction class, evidence starts to reveal itself. Let me explain this non-programmatically.
When you jump to a new codebase, it takes a lot of effort to go through it, understand the nitty-gritty, and get yourself up to speed. Not to mention that you are not paid to do all of this. It’s a long journey that needs a lot of patience.
You ask questions in the community but get replies after days; you read the docs, but they are outdated; you try to read the code, but there is so much abstraction that it is difficult to wrap your head around it. And if, in some manner, you are able to raise a PR to an issue, it might never even get merged because an overburdened maintainer didn’t get time to go through yet another PR.
So, what's the solution?
The question arises as to how can we weed out this difficult onboarding? Let’s start with making the process a little less frictionless and easier. If we address the root cause, gradually more people will get a strong hold on the codebase, eventually graduating to become maintainers and reducing the burden on the existing few. I know the picture looks too rosy to be true, but it could very well be - someday.
This Hacktoberfest could be a good start. Rather than taking up issues based on ease, take up issues a bit more impactful. They could still be beginner-level issues, but they could be much more impactful than just doing language corrections in docs and calling yourself a serial OSS contributor. Not to put it wrongly, language corrections are essential - the intent here is to make more impact on the ultimate source of truth - the codebase.
How can AI help?
Especially now that AI tools like co-pilot have made generating code a cakewalk, I feel the next frontier is to really make understanding code much easier. Pasting a code in ChatGPT will surely not enable you to understand the interdependencies of the functions. The answers are not high quality because of lack of context, and there are many unsolved challenges in the entire AI for code understanding stack. Think about code as not files of text but as a graph with tons of interdependence between various components, and the existing RAG approaches will feel lackluster. I see a good attempt happening at Collectiv AI, but there are still many challenges to crack.
This Hacktoberfest needs not to be just about newbies but about everyone who wants to contribute to more projects and make more impact in the world with open-source software.
A good AI twin can be the next leap in the open-source world!
PS - We are giving out a cool merch kit to everyone who makes contributions to OSS this October. Checkout more details here at Collectiv X Hacktoberfest.
1. Fill the form indicating your participation
2. Use Collectiv to understand the codebase around the GitHub issue.
3. Get 4 PRs merged in any repo > 100 stars.
At the end of Hacktoberfest, we'll verify your contributions and ship the merch!