How to Start a New Open-Source Project
By: Ben Soyka
Tags: Programming, Oss, Coding, Open Source, Github

Laying the Groundwork

You can’t expect everyone to understand what you’re trying to accomplish without a proper starting point. You have to lay some of the groundwork first if you expect others to be able to contribute.

Choosing a name

The name you pick for your project will represent your work for all to see. It should unique, easy to remember, and related to the project’s goal.

For example, Sentry monitors apps for crashes and bugs. The name Sentry is easy to remember and clearly represents what the app does.

It all starts with a README

Start off by making a detailed and concise README file that tells the most important things about your project. Most people who see your project will start with the README, so it’s important that you share all you need to share.

You’ll know your README is complete when someone is able to use the basic functionality of your project without looking at the code or too much documentation.

The README should include what your project is, what it looks like in action, how to use it, and any other relevant details. Just remember that the README should be as short as it can be without being any shorter. You may also want to add in details on contributing and license information.

The Make a README website has a template you can use to get your README file started.

Getting the code started

It’s a good idea to start coding yourself so others know a bit more about your project, what to expect, and if they want to lend a hand.

This also means you’ll be able to publish a beta-type version of your project to increase visibility.

Begin with well-formatted code and even throw in some comments. This will help others understand the thinking that went into the code as well as what the purpose of the project is.

Picking a license

Without a license, no one will really be able to contribute to your project. A great resource for choosing a license is the website Choose an open source license by GitHub, which gives you great info on each license option available to you.

The most common licenses used in open-source software are the MIT License, the Apache License 2.0, and the GNU General Public License v3.0. Each license features unique permissions, conditions, and limitations, so it’s always best to look carefully for the license that’s right for your project.

Contributing guidelines

It’s important to establish clear contributing guidelines so that others know how they can help out with your project. This is often placed in a file named CONTRIBUTING or CONTRIBUTING.md in the root directory to make the guidelines easy to find.

You may want to include information telling:

How to file a bug report

How to request a feature

How to set up a development environment and run tests

Your contributing guidelines should be kept short and sweet, while still mentioning everything that needs to be included.

Documenting your work

Even if you don’t start off with much code, it’s important to document everything you do from the start.

You can even make your documentation part of your project’s source code so that other contributors can add to it when they add to the code.

Tools like GitHub Pages and Read the Docs allow you to host documentation on a nice-looking site for no cost at all.