Useful Tips for a Successful Open-Source Project

Useful Tips for a Successful Open-Source Project

How to build and promote a successful open-source project.

According to Sayan Chowdhury, these are the common questions of people trying to start their open-source journey,

  • How to get started with open source?

  • I know x, y, z languages, which project should I contribute to?

  • How can I filter out projects that cater to my skill level?

I will try to address these questions in a very brief way through this article. I will also include a few resources that will be very helpful when you want to get started with your first open-source contribution.

What is Open Source Software (OSS)?

Open Source Software is just like any other computer software. What makes it different is that its source code is publicly available for modification and enhancements. These softwares are released under various licenses such as BSD, MIT, etc. If you would like to know more about OSS, please read here.

Reading a few lines of code written by great programmers naturally increase your coding knowledge and helps you pick up great coding practices.

Open Source JavaScript Components

You may choose to start with smaller contributions to the open-source community. Instead of full projects — small, independent, and publicly available JavaScript components. These could either be plain JS/NodeJS or framework-based components built with React, VueJS, Angular or any other popular library/framework.

**Bit.dev** is one popular component hub with over 34,000 open-source JS components. It is a great way to start small and gradually increase your contributions. It also gives consumers of your components the liberty to use specific components and not entire libraries.

Whenever you build a reusable component worth sharing (perhaps, as part of a private project), you can use Bit to publish and document it in your own component collection.

Exploring shared React components in [Bit.dev](https://bit.dev)

How Can You Contribute?

A lot of people have the perception that Open Source contribution is all about coding. But in reality, it is not. Promoting the project at events or online, fixing typos in the documentation, writing or translating documentation are also ways in which you can contribute to OSS. It’s basically anything you can do to help improve a project. You can read more about contributions over here.

Here are a few ways in which you can contribute to Mozilla.

CC BY-SA 3.0 by Mozilla.org

Why Should You Contribute?

One of the main reasons for you to start contributing is to develop your skills. Beginners can start off with minor things, such as fixing a bug, sending a pull request, or even writing the documentation of the software. They also allow beginners to learn to write “clean code”, code which is more readable and maintainable. There are many standards when it comes to programming. Some depend from team to team. When you work on an open-source project, you should oblige to the norms of the project. Hence it makes you adaptive to your work environment.

Another important reason for open source contribution is the awesome community. You get a chance to be a part of an active community of like-minded individuals who intend to give out to the community in any way possible. If you are a freelancer, and you are an active contributor to the community, there is a high chance of you getting noticed by potential employers.

What Should You Keep in Mind Before Contributing?

According to Maryna, there are three main things you should keep in mind before contributing.

  • Programming language — you should choose one programming language and look for projects on it. Make sure it matches your skill and taste.

  • Type of project — once you have chosen the language you want to work on, you should concentrate on the type of project you want to work with. Github projects are categorized into folders called Topics. Some examples of topics are “security”, “virtual reality”, “text editors”, and “CSS preprocessors”. You can even scroll through some collections as well. Choose a topic that interests you as it would motivate you to keep going in the future.

  • The volume of the project — finally you should focus on the project volume — how big it is. For example, projects like VLC are not suitable for beginners as they are very huge. It is not advisable to start your open-source journey on large applications. Make sure you pay attention to the issue labels. Some issues are labelled as “first-timers-only”, “beginner”, “easy”, and so on.

Photo by Hello I’m Nik 🎞 on Unsplash(cdn.hashnode.com/res/hashnode/image/upload/..)

I Am Ready. Now What?

As you are aware of the basic things to be kept in mind when contributing to OSS, let me help you get started with a few resources that can guide you find beginner-friendly projects on your favourite programming language.

First Timers Only

This website features open source projects that are rated "newbie-friendly." It also includes tutorials to assist you become acquainted with the GitHub contributions workflow. It includes a slew of modest improvements that will put you at ease about taking your first significant step towards open source contributions.

Website

Yes, it’s scary. But SO rewarding!

OpenSource.com

This article contains a list of beginner-friendly open source projects, that you can get started with. It also contains more resources such as OpenHatch where you can find out more beginner-friendly projects to contribute to.

Website

Twitter Profiles

There are many twitter bots designed to retweet tweets tagged with tags like “first-timers-only”, “beginner-friendly”. These bots do a good job of making these tweets appearing on your home page on a regular basis so that you can decide on a project to contribute to while browsing through your twitter feed.

Few profiles are,

Github Repos

This repository lists open-source projects that are known for or currently have beginner-friendly issues that you can tackle. They are either sorted by the programming language, or by the level of difficulty.

Once you have finally chosen your project, it is time to start contributing. Here are two resources which I personally think would help you at this point.

There are competitions held by several organizations that motivate you to get involved in open source contributions. Hacktoberfest and Hacktitude are some of them.

  • Hacktoberfest is a month-long celebration of open source software run by DigitalOcean and DEV. Hacktoberfest is open to everyone in our global community. You are presented with Tshirts and other merchandise once you complete 4 PRs.

I believe that I have provided with enough resources and advice to help you take that first step into contributing towards open-source projects and doing your part to the community. At hard times like now, many projects aimed at curbing COVID-19 all over the globe, are awaiting help from open source contributors. Thousands of developers from the community are doing their part. It is time you do yours.

I thank Bilal Rifas for the help and support given by him.

Resources

Learn More