My First Ever (Non-Code) Open Source Contribution

My First Ever (Non-Code) Open Source Contribution

Hey guys!!!

My name is Atharva and I am a high schooler learning to code. I spent the last few weeks of December 2022 learning C++ and open source in general. Ever since I came across the term "Open Source Contribution" I was intrigued and my interest levels peaked and my curiosity to know more led to me participating in my first-ever Hackathon and Open Source Contribution. In this blog, I will be sharing how I got into a team for the SheBuilds Hackathon and provided my creative insights for our project.

This blog is written for the “Open Source” track of CoCode Blogs - Pooja Sanwal

Introduction

Open Source: Open source refers to a type of software whose source code is available to the public, meaning that anyone can view, modify, and distribute the code. This approach to software development comes with various advantages such as the accessibility and usability of the software by a wide range of users, the ability for a community to collectively improve the software, and the flexibility to tailor the software to suit a variety of requirements.

There are many ways to contribute to open source projects, including writing code, fixing bugs, and improving documentation. However, non-code contributions, such as writing documentation, creating graphics, or organizing events, are also important for the success of open source projects. Which is exactly what I did!

My Reason To Contribute: I was motivated to make my first non-code contribution to an open source project because I wanted to get involved in the open source community and make a meaningful impact on a project that I cared about. I also saw it as an opportunity to learn new skills and gain experience working on a team. Participating in open source projects can provide an opportunity to connect with other like-minded individuals and build a professional network.

Making a Non-Code Contribution:

The process of making a non-code contribution to an open source project typically involves the following steps:

  1. Identifying a project: The first step in making a non-code contribution is finding a project that aligns with your interests and skills. This may involve searching for projects that are actively seeking non-code contributions or reaching out to a project maintainer on Github or any other site to inquire about opportunities. In my case, I was invited to a team by one of the members of the hackathon through DM, who was kind enough to allow a beginner to contribute to his project.

    My chat with the repo owner and now friend

  2. Identifying a specific need: Once you have identified a project, the next step is to identify a specific need that you can help with. This may involve reviewing the project's documentation or reaching out to the project maintainer to ask about areas where help is needed. In my case, as I did not have much tech experience, I was allowed the role of making the README file. My thorough knowledge of the Markdown editor used in Hashnode helped in creating an efficient README.

  3. Researching and understanding the contribution guidelines: Most open source projects have specific guidelines for contributions, which may include details on the process for submitting contributions, the type of welcome contributions, and any requirements or standards that must be met. It is important to thoroughly review these guidelines before beginning work on a contribution. In my case, I joined a Discord server managed by the owner of the repository, who helped me a lot while contributing.

  4. Contributing: Once you have identified a need and reviewed the contribution guidelines, you can begin working on your contribution. This may involve writing documentation, creating graphics, or organizing events, depending on the needs of the project. In my case, as stated earlier, I began writing the description of our project.

  5. Submitting the contribution: Once your contribution is complete, you will need to submit it to the project for review. This may involve creating a pull request on GitHub or reaching out to the project maintainer to submit your work.

Once you have identified a need and reviewed the contribution guidelines for an open source project, the next step is to contribute.

This will typically involve one of the following types of activities:

  • Writing documentation: Many open source projects need clear and accurate documentation to help users understand how to use the software. You can contribute to this effort by writing or improving documentation, such as user guides, installation instructions, or API references.

  • Creating graphics: Graphics can be a useful tool for explaining concepts, illustrating examples, or adding visual interest to a project. If you have design skills, you can contribute by creating graphics such as diagrams, charts, or screenshots. In my case, I made a logo for our project and added it to the README and the website :

  • Organizing events: Many open source projects have a community of users or developers who meet regularly to discuss the project and work on it together. You can contribute to the community by organizing events such as meetups, hackathons, or workshops. In my case, a discord call and chat were arranged to discuss our contributions.

  • Fixing bugs: All software has bugs, and open source projects are no exception. If you have programming skills, you can contribute by fixing bugs and submitting the fixes as pull requests. In my case, I fixed a very small bug in the contributor's section of our site to essentially dissolve a few grammatical errors and inaccuracies

  • Adding new features: If you have a good idea for a new feature that would be useful to the project, you can contribute by implementing it and submitting it as a pull request. In my case, I suggested the coders add a "Quotes" section to our website. (check alt for translation)

    I suggested a feature for our website that included a random quote

Challenges and lessons learned :

Making a non-code contribution to an open source project can be a rewarding experience, but it can also present some challenges. Some common challenges that may be encountered during the contribution process include:

  • Learning new tools: Depending on the project and the type of contribution you are making, you may need to learn new tools or technologies. This can be a challenge, especially if you are not familiar with the tools or if the documentation is limited. In my case, I learned the following technologies

    .

  • Coordinating with team members: If you are working on a large project with multiple contributors, coordinating your efforts with others can be a challenge. It may be necessary to communicate with team members to ensure that your contribution fits in with the overall direction of the project and does not conflict with the work of others. In my case, my teammates and I established specific roles to avoid confusion early on.

  • Managing time: Contributing to an open source project can be a time-consuming process, especially if you are balancing it with other commitments such as work or school. It is important to manage your time effectively and set realistic goals for what you can accomplish.

Some tips and advice for others looking to make non-code contributions :

  • Don't be afraid to ask for help: If you are having trouble with something, don't be afraid to ask for help. The open source community is generally very welcoming and willing to assist newcomers.

  • Start small: If you are new to open source, it can be intimidating to tackle a large project. Consider starting with a small contribution, such as fixing a typo in documentation or creating a simple graphic, to build up your confidence and experience.

  • Stay organized: Use tools like project management software or a task list to help you keep track of your progress and stay organized.

  • Be patient: Making a non-code contribution can take time, especially if you are learning new skills or coordinating with others. Be patient and persistent, and don't be discouraged if you encounter setbacks along the way.

Conclusion :

In conclusion, making a non-code contribution to an open source project can be a rewarding experience. The process typically involves identifying a project and a specific need, researching and understanding the contribution guidelines, and making the contribution.

The impact of a non-code contribution on a project can vary depending on the nature of the contribution, but it can be significant. For example, well-written documentation can make a project easier to use and understand, while graphics can help to illustrate concepts and make the project more visually appealing.

I found the experience of making a non-code contribution to be very rewarding. In addition to the satisfaction of helping out with a project I cared about, I also learned new skills and gained valuable experience working on a team.

I would encourage others to consider making non-code contributions to open source projects. It is a great way to get involved in the community, make a difference, and learn new skills. Even small contributions can have a big impact, and there is always a need for non-code contributors in the world of open source. So, don't hesitate to take the first step and make your first contribution today!

Get Started With Contributing To Open Source Now !!!