DEV Community

Cover image for A Beginner's Guide to Open Source
Arindam Majumder
Arindam Majumder Subscriber

Posted on • Updated on • Originally published at arindam1729.hashnode.dev

A Beginner's Guide to Open Source

Introduction

Open-source software has been around for decades, but it's only in recent years that it has gained mainstream acceptance. With the rise of open-source projects like Linux, Apache, and WordPress, more and more people are becoming interested in the world of open-source.

If you're new to open source, it can be overwhelming to know where to start. That's why we've put together this beginner's guide to open source to help you understand the basics and get started on your open-source journey.

What is Open Source?

Blog – What is Open Source?

Open Source Software (OSS) is code that can be easily accessed by the public, making it able for them to see, modify or distribute said code. Open source is often decentralized based on community collaboration.

Why contribute to open-source?

There are many reasons why people choose to contribute to open-source projects. Some common motivations include:

  • It builds your resume by demonstrating that you can collaborate with others on code.

  • Open-source projects are built and maintained by a global community of volunteers, which can be a great way to meet and collaborate with like-minded people from around the world.

  • It gives you practice with Git and GitHub, which is a valuable data science skill.

  • It helps you to build relationships in the open-source community

What to Know to Get Started with Open Source

  • Know Git Basics

  • Become Familiar with GitHub

  • Learn to Fork a Repository

  • Learn to Resolve Merge Conflicts

  • Learn Markdown Syntax

Benefits of Open Source Contributions

Open Source contributions come with several benefits to the developers. Some key benefits are:

  • Get a chance to upskill yourself.

  • Make the software/application better with code and documentation.

  • Meet like-minded people, and build networks and communities.

  • Understand the application development and maintenance cycles.

  • Learn from Pull Request feedback.

  • Learn how to manage your code as open source.

Do I have to know how to code?

We often think that only 'Code' Contributions matter but that's not the case. Non-code contributions are equally important as Code Contributions.

There are many ways to make impactful contributions to open source that does not involve contributing code.

  • Documentation.

  • Reporting Bugs.

  • Organising Events.

  • Mentoring new contributors.

What are the best ways to get started with contributing to Open Source Projects?

There are several ways to get started with contributing to open-source projects. Here are a few options to consider:

  1. Look for beginner-friendly projects:

    Many open-source projects have a "good first issue" label or a "starter task" label that is specifically designed for new contributors. These issues are typically smaller and simpler tasks that are a good way to get started.

  2. Join a community:

    There are many open-source communities on platforms like GitHub, GitLab, and SourceForge. Joining one of these communities is a great way to find projects to contribute to and connect with other contributors.

  3. Find a project you're interested in:

    If you have a specific area of interest, such as machine learning or web development, you can search for open-source projects related to that topic and see if they need contributors.

  4. Check out the Open Source Initiative website:

    The OSI website lists many open-source projects, including those that are actively seeking new contributors.

  5. Attend online events and hackathons:

    Many online events and hackathons are organized to get more people involved in open-source projects. This is a good way to find projects and get connected with other contributors.

  6. Start your own open-source project:

    If you can't find a project you're interested in contributing to, you can always start your own open-source project. This is a great way to learn new skills and build a community around your project.

Where to find a project to contribute to?

How to pick an open-source project to contribute to? - DEV Community  👩‍💻👨‍💻

If you’re looking for existing issues you can fix, every open-source project has a /contribute page that highlights beginner-friendly issues you can start out with. Navigate to the main page of the repository on GitHub, and add /contribute at the end of the URL (for example https://github.com/facebook/react/contribute).

You can also use one of the following resources to help you discover and contribute to new projects:

Conclusion

If you've never contributed to open-source projects or you are hesitant about it, you should start now. It's very important and will help you a lot by giving back to the community.

Thank you for reading this Blog. Hope you learned something today! If you found this guide helpful, please like, share, and follow us for more blog posts like this in the future.

Thank You Page | IDP Cambodia

Top comments (11)

Collapse
 
liyasthomas profile image
Liyas Thomas

Good read 👏👏

I'd like to mention two posts I wrote previously which could be helpful to those who are trying to contribute to open-source projects.

Collapse
 
yet_anotherdev profile image
Lucas Barret

Really interesting article.
When I was a student (not so long ago 😅).
I have participated to an open source project of the linux foundation.
I've learned a lot (even make some money). I think it is one of the most valuable experience I had at the moment since it brings me a lot of others one for jobs.

Collapse
 
arindam_1729 profile image
Arindam Majumder

That's a great

I would love to read about your experience!

Collapse
 
yet_anotherdev profile image
Lucas Barret

Yeah, I will totally write about that. :D

Collapse
 
binford2k profile image
Ben Ford

Open Source Software (OSS) is code that can be easily accessed by the public, making it able for them to see, modify or distribute said code. Open source is often decentralized based on community collaboration.

Fwiw, this is not the definition of Open Source.

Open Source software is code that is licensed such that users are granted the rights to use, study, change, and distribute it. It may or may not be developed collaboratively and/or in the public.

I don't mean to be pedantic here, but it's super super important to not get into the habit of assuming that just because you can access the source that a project is Open Source. That's how you end up inadvertently getting your company caught up in a legal battle.

Collapse
 
arindam_1729 profile image
Arindam Majumder

Sorry,Ben!

It's my mistake!

Thanks for pointing out!

Collapse
 
yegonjapheth profile image
Yegon Japheth

very well said and thanks for helping us newbies grasp the right info

Collapse
 
vulcanwm profile image
Medea

nice tips!

Collapse
 
arindam_1729 profile image
Arindam Majumder

Glad you liked it!

Collapse
 
chrisgreening profile image
Chris Greening

Hey Arindam thanks so much for sharing these tips! Really love open source as a means of upskilling and building solid portfolio/resume experience

I come from a self-taught background and starting my own open source project in 2020 was without a doubt the defining start of my career in software engineering and I really owe a lot to the open source community as a result - it's a great way to meet a lot of really interesting people building really interesting projects

Collapse
 
arindam_1729 profile image
Arindam Majumder

Thanks a lot for Chris!

Glad you liked my blog!