The Hacktoberfest has begun! For those of you who don't know, Hacktoberfest is a virtual event organized by DigitalOcean and its partners throughout October to celebrate Open Source projects. Everybody from newcomers to big tech giants is passionately participating in the event. We have covered everything you need to know about Hacktoberfest in our previous blog.
Until last year, you could only contribute to the event by resolving issues in open-source repositories. This year, DigitalOcean has introduced a new way of doing so. People can also contribute in low-code or no-code ways to open-source projects.
In this article, we will discuss everything we know about how you can accept these contributions as an open-source maintainer. Let's quickly discuss the recent changes introduced this year.
New Changes Introduced This Year
Open source is not limited to programmers and their code contributions. It is for anyone with any background and expertise. Since this year, Hacktoberfest has also been allowing low-code and no-code contributions. You are no longer limited to your skills and interests in contributing to open source.
People can contribute in the following ways: writing, design, and advocacy. Here's the table that explains some of the ways of no-code/low-code contributions.
Contribution Type | Low-code | No-code |
Writing | Technical Documentation | Translating, Copy editing |
Design | Testing | UX Testing, Graphics design, video production |
Advocacy | Talks, presentations, blogs, podcasts, case studies | social media blog posts |
As a maintainer of an open-source project, this must be a new thing for you. You must have been wondering how you can accept low-code and no-code contributions.
Let me tell you how we accept low-code and no-code contributions to our ReactPlay project.
What Hacktoberfest Has to Say
On their official website, Hacktoberfest has mentioned the following:
MAINTAINERS MAY NEED TO FACILITATE TRACKING OF THOSE CONTRIBUTIONS THROUGH AN ACTIVITY LOG OR SIMILAR.
This means maintainers must record every low/no code contribution during Hacktoberfest.
How ReactPlay Accepts Low-code/No-code contributions
This is how we accept low/no contributions for the ReactPlay community. If you are an open-source maintainer looking for ways to track such contributions, you will have an idea of how you can do it by the end of this section.
Let's understand everything step-by-step:
Create a Separate Repository
It's the simplest way to keep track of everything without interfering with the main repository for your project. You can record contributions beyond hacktoberfest as well. Similarly, you can also track code contributions done during Hacktobrest.
Decide the repository's goals and what it must accomplish in the long run because the repository will stay even after Hacktoberfest.
We created a fresh repository to facilitate new contributions to our project. We named it hacktoberfest
itself.
Decide the Structure of your repo
This is the most crucial step in the entire procedure. We spent the majority of our time deciding how to structure the repository.
We focused on a few aspects to decide it. If you are unsure about yours, ask yourself the following questions to have a clearer idea:
- What information do you want from the contributors?
- How will you save new contributions? In what format?
- How will you access the data? Where will it be kept?
- Will you build an app around the repository or keep it as a database?
We decided to request contributors' explanations and links supporting their claims. The data will be kept in a JSON file inside the "/data" directory to keep it organized. We anticipate that Hacktoberfest will continue to accept no- and low-code contributions moving forward, so we will create a new JSON file each year.
The JSON file will include information about contributions. We decided to accept the following things from the contributor: GitHub username, name, type, and category of their contribution, a short description, and a link. Feel free to make your selections and customize everything as desired.
Finally, we left it in its current format so that we wouldn't have to change it if we decided to develop an app to showcase these contributions later.
Create an Issue Template
Contributors will create a new issue to submit their contributions. A core member of the project will assign the issue after reviewing it. We developed an issue template that requests an explanation from the contributor to keep things organized for contributors and maintainers.
In our repository, we have created a custom template that asks the contributor to submit everything they will feed to the JSON file. This will help us to validate the authority and integrity of the contribution in a subtle way. Of course, you must do what is preferred for your project.
Create a README(.)md File
Remember that some of these contributors won't have programming experience, and some may be unfamiliar with open source and collaboration. They might not comprehend how pull requests, issues, forks, etc., work.
Describe the repository's contribution process. Ensure it's not overly technical, so non-GitHub users can benefit from it. Hence create a super simple and straightforward README file. Include images, screenshots, and perhaps videos or GIFs to show how to submit a contribution.
Take a look at our README.md to have an idea of how we wrote ours.
Accept New Contributions
The repository setup is complete. Share it with contributors who are willing to add their contributions.
At first, they have to create a new issue. Then someone from your team should assign it to them. After assigning, remember to add the hacktoberfest
label to the issue.
Wait until the contributor raises a pull request. Review it from your side, and accept with the hacktoberfest-accepted
level if everything is correct.
TD;DR
This blog explained how an open-source maintainer could accept low-code and no-code contributions to their open-source projects during Hacktoberfest.
If you want to follow the same approach as we did, here's what you have to do:
- Create a separate branch
- Decide what data you need from the contributor, how and where you will store/retrieve it, and your long-term goals from the repository.
- Write a super simple and straightforward README file that explains how a new contributor can submit their contributions. Write it in a non-technical way so people with non-tech backgrounds can understand it easily.
- Create an issue template so that new contributors can create a new issue whenever they want to submit their contribution.
- Assign the issue, and don't forget to add the
hacktoberfest
label. - Once the pull request is raised, check if it matches your expectations and accepts it with a
hacktoberfest-accepted
label.
Wrapping Up!
We believe that open-source is not only for technical folks who are good at programming. People with other expertise and backgrounds can also make contributions to open-source projects.
If you plan to write a blog, host an event, or ogive r a talk; that involves the ReactPlay community, do let us know! Also, if you are good at testing, designing, vlogging, etc., and want to do something for the community, feel free to do so!
Join us on our Discord server, where we hang out and have fun! Follow us on Twitter to have the latest updates from the community.