https://dev-to-uploads.s3.amazonaws.com/uploads/articles/n754guaw55qnl6x9126j.png

The Ultimate beginners guide to open source – part 1

Author: Dunsin

Date: 2024-05-29

Open Source
Beginner
Guide

Intro

An open source project is one where the source code is visible to everyone and where developers are welcome to contribute. React(made by facebook), WordPress, and Node.js are two instances of open source projects.

People who engage in open source projects include the following:

  • Owner: Who created or launched the initiative; this could be a company or a person.
  • Contributor: A person who asks for changes to the project in order to improve it.
  • Maintainer: Someone who makes decisions for the project, such as whether a pull request is acceptable or an issue is valid, and who generates ideas; this is most frequently a contributor and the owner.
  • Users: This group of individuals that use the project, as the name implies.

Myths in Open source:

  • You must be familiar with every tool used: If a project uses React, Redux, and Tailwind it you can know react and just redux, you can contribute with what you know until you master the rest.
  • You must be a programmer: You can contribute to design and documentation without having any programming experience.
  • You must be an expert: There is always something you can contribute to the project, regardless of the degree of your expertise.

Ways to contribute to a project:

  • Fix a bug you found
    • Read the documentation and if anything is confusing, help improve it
    • Propose a feature you want added
    • Help improve the design
    • Translate the documentation to your language

How to contribute to a project:

  • Fork the project Image of the fork button

  • Read the readme file Example of what the readme file looks like

  • Use the project by going to the url or downloading the app and suggest improvement, this gives you first hand experience on what users may need as you're putting yourself in their shoes

    Screenshot of where to find the projects link

  • Look at existing issues and see what you can work on.

Looking for a project to practice try this Practice Project