How to make your first Open Source contribution?

How to make your first Open Source contribution?

If you're wondering this, you've luckily😊come to the right place.

·

11 min read

📗Why contribute?

Well, did you know that contributing to open-source projects can show off your dedication and commitment to your passion? 💪 It's not about the money - it's about the love for coding and the desire to build a unified community. When you contribute to open source, you're part of a team that supports each other, saves time, and builds better software.

🤔 Just think - if someone is consistently committing to a new Java library on GitHub every two weeks for free, that shows some serious passion and commitment. 💰 They're not doing it for the money - they're doing it because they genuinely love what they do. And that's exactly the kind of person you'd want on your team.

📝 Your open-source contributions can be seen as your real resume. They showcase your skills and your passion for coding.

In my case, I learned about many exciting projects from Kunal Kushwaha and wanted to help & get involved with the CNCF community.

📗Here's what you should know before you get started🤔?

Ready to get started with open source contribution? It's actually pretty simple, however, it totally depends on your hard work to reach the league. 💪

First things first - most open-source projects are hosted on GitHub, so you'll need to create an account there. Don't worry if you're not familiar with it yet - you can go directly to the official page to learn how to get started.

Because I presume that most people reading this blog article have never contributed to an Open Source project, I recommend using the GitHub interface instead of copying the repository to your local system. Learning how to use Git is important too, but trying to do it all at once can be a little overwhelming.

👨‍🏫 Personally, I learned how to use Git and GitHub from Kunal Kushwaha's video tutorial on YouTube. Check it out if you need a little guidance: youtube.com/watch?v=apGV9Kg7ics

One thing to keep in mind - every project you contribute to should have a community channel, usually on Slack or Discord. This is a great way to ask questions and connect with other contributors.

And finally, remember that most open-source projects are run by volunteers, so response times for questions or PR evaluations may vary depending on everyone's schedules and time zones. Just be patient and keep up the good work! 👍

📗Ways to contribute

Are you ready to take the open-source world by storm?🤓 You don't even have to be a programmer. There are plenty of things you can do that don't involve coding and won't take up a ton of your time.

📖 Documentation

This is often mentioned as an easy way to get started, as you don’t need to know a lot of programming to contribute. No worries! Writing skills are always in demand.

Ways you can help:

  • One great way is to read through the documentation for a project you're interested in and see if it's clear and complete. If you notice anything that could be improved, offer suggestions to the maintainers. Or, if you're not sure about something, let them know and they can help clarify things.

  • 👀 Another way to help is to keep an eye out for small things that need fixing, like typos or dead links. Every little bit counts! And if you come across information that's missing from the documentation, consider adding it yourself. Someone else may be looking for the same information, and you'll be helping them out.

  • 📰 If you're a blogger, you can also contribute by adding relevant links to your own posts or to other resources that you think would be helpful for users.

  • 🔎 Finally, if you're up for a challenge, you can review open pull requests for documentation and look for any errors or issues. It's not always easy to spot mistakes in something you've been working on for a while, so your fresh eyes can be really helpful!

📜Translation

One way you can contribute is by translating the documentation into another language. It's a great way to learn about the project and help non-English speakers understand the project better. If you're fluent in another language, this is a fantastic opportunity to use your skills and contribute to the community!

Some projects that need help with translation:

If you're not finding any localization issues to work on, don't worry! There are still plenty of ways to contribute! For instance, you can create new localization projects such as translating a blog post or any new content that needs to be translated. And if you keep an eye out, every time there's an update in English, you can offer to translate it to your language. This not only helps to make the project more accessible to people who speak your language but also gives you an opportunity to practice your skills and contribute to the community.

📞Answer questions

😄 As a user, you can be a superhero and help out other users who are facing similar problems to what you've encountered before. Remember, we all need a little help sometimes, and now it's your chance to pay it forward!

Plus, if you notice that many people are asking the same questions, it might be helpful to add that information to the documentation. That way, people can find the answers they need faster and easier! 📚

🍪Create issues

If you come across a problem while using an open-source project, don't just give up and move on to something else. You can actually help by creating an issue! 🤓

By reporting the issue, you can help the maintainers of the project understand what's going on and how to fix it. Just make sure you check if there's already an open issue for the same problem so we can avoid duplication. 💡

When creating an issue, be sure to include as much information as possible about the problem you're experiencing. This will help the maintainers reproduce the issue and work towards a solution. Some projects even have templates you can use to ensure you include all the necessary information. 📝

If you think you can fix the issue yourself, go ahead and do it! 💪 But if you're not sure if it's actually a bug or not, it's always a good idea to ask the community for help before creating an issue. This can help speed up the process of finding a solution and might start a helpful discussion.

👓 Review Pull-Requests

Now, reviewing PRs can be a lot of work. If you're not familiar with the code base, it can be challenging to comment on the overall usefulness or direction of the PR. But don't let that stop you! There are still plenty of ways to help out.

For example, you could check the readability of the code, test the functionality, or even see whether the test coverage is good. You can also look for typos and other small errors that might have been overlooked.

If you're not comfortable with reading code, you can still review documentation. As we discussed in yesterday's post, reviewing documentation is an essential part of open-source contributions and can be incredibly helpful.

So, put on your detective hat and start reviewing PRs. Your contributions might seem small, but they can make a big difference! 🕵️‍♀️

🧹Clean up code

Over time, code can become messy and hard to read, making it difficult for new contributors to understand and make changes. That's where you come in! By reviewing and improving the code, you can make it more readable, efficient, and easier to maintain.

Plus, refactoring can be a great way to learn more about the project's codebase and programming practices. So why not give it a try? Your contributions can help make a project more successful in the long run! 🚀

🧪Test new features

Sometimes, maintainers and contributors don't have enough time to test all the new features or versions of an Open Source project. But you can help! You can create a new project to test the new feature or upgrade your existing project to the new version, even if it's still in development. After that, you can provide feedback to the people who are working on it. Your feedback can be really valuable for them.

By the way, there might not be any open issues registered for test work, but that doesn't mean it's not needed! You might hear about the test work needed when you become a more active community member. If you'd like to do this but are unaware of anything that needs testing, just ask the community! They will appreciate your willingness to help. 🙌

📗Where to find an Open Source project to contribute to

📕simple 7-day plan

If you're interested in contributing to open source, here's a simple 7-day plan to get you started with EddieHub:

🟢 Day 1: Join the EddieHub Discord community! This is a great place to connect with other contributors and get help.

🟢 Day 2: Become a member of the EddieHub GitHub organization by creating an Issue. This will give you access to their repositories and allow you to contribute.

🟢 Day 3: Practice contributing by adding your name to their practice repository. This is a great way to get comfortable with the contribution process.

🟢 Day 4: Create your LinkFree profile with JSON. LinkFree is a tool that helps you showcase your open-source contributions and skills.

🟢 Day 5: Check out EddieHub's "good first issues." These are issues that are easy to tackle for new contributors and a great way to start contributing.

🟢 Day 6: Review a pull request! This is a valuable way to contribute to open source by providing feedback and helping to improve code quality.

🟢 Day 7: Take a break and pat yourself on the back for getting started with open source!

📕Websites

Looking for open-source projects to contribute to but don't know where to start? Check out these websites for some suggestions:

🌐 GitHub: offers recommendations on choosing projects to work on.

🌐 CodeTriage: lists projects with open issues, so you can easily find something that interests you.

🌐 Up-for-grabs: allows you to search for issues by project, label (such as "good first issue"), and/or tag (such as your preferred programming language).

🌐 First Timers Only: provides links to the above websites and more, so you can explore all your options in one place.

🌐 24 Pull Requests: To contribute in festive time🎄.

📕Your Projects

You can even contribute to your own projects. This can be especially helpful since you're already familiar with the project, and you might even be able to solve your own problems by contributing!

If you're already part of the project's community, you'll have a better understanding of what is needed and what areas you can contribute to. Plus, you might even have some ideas for new features or improvements based on your own experiences using the project.

📗When you shouldn't contribute to open source

📕Not sure if its a bug or how to fix it

💬 If you have any questions, don't hesitate to reach out to the project's community. Most projects have a helpful and active user community that can assist you. Even if you're not sure if you've discovered a bug, ask the community. They will guide you and inform you whether or not you should report the problem. Additionally, they will ask you for the necessary information to address the issue.

💡 If you want to add a feature but don't know where to begin, you might find people to assist you in getting started. They can guide you in the right direction, tell you where to make the change or provide insights on where the project is headed. By proposing your modification before working on it, you can avoid developing a feature that doesn't align with the project's goals.

📕Don’t have time

Again, fair enough. You might have other priorities in your life. Not all contributions have to be big or take a lot of time. There might be small things you can do. You might be able to do them at work if they are related to your work (and your employer allows you to!). Engaging with the community by asking and answering questions or logging issues can also benefit the community!

📕Being a NOOB

👀 Don't underestimate the value of a fresh perspective!

Documentation, particularly beginner tutorials, should be simple to follow for newcomers to the project. The project itself should also be user-friendly. If not, this is your opportunity to provide useful feedback!

If you encounter any issues while using the project, reach out to the community and inform them. And if they take the time to assist you, why not document what you've learned for the next individual who requires help?

Even if you aren't having any difficulties at the moment, you can still go through the documentation and provide feedback.

🗽START NOW

💡 No matter how you use open source, there are many ways to make a difference, even in small ways.

I hope these suggestions have been helpful! If you have a favorite open-source project, consider finding a way to contribute to it today. And if you have any questions, feel free to reach out to me!


Thank You Soo Much for your valuable time.😊🥳👋

👋 Hi there! Let's connect and collaborate!

Here are some ways to reach me:

🔹 GitHub: github.com/mithindev

🔹 Twitter: twitter.com/MithinDev

🔹 LinkedIn: linkedin.com/in/mithin-dev-a-397983247

Looking forward to connecting with you!


#opensource #programming #documentation #translation #community #contribution #GitHub #CNCF #Kubernetes #React #Python #PHP #MozillaFirefox #RubyonRails #volunteers #teamwork #skills #passion #resume