Skip to content

Instantly share code, notes, and snippets.

@ungoldman
Last active April 7, 2017 00:12
Show Gist options
  • Star 3 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ungoldman/88ab15a3eeadcb06103b to your computer and use it in GitHub Desktop.
Save ungoldman/88ab15a3eeadcb06103b to your computer and use it in GitHub Desktop.
some basic things every open source project should have

This has been updated and expanded into an article. Read the updated version here:

https://github.com/ungoldman/open-source-maintenance-guidelines


Old version:

Be a Good Open Source Shepherd

Every open source project should have the following things. They help users, developers, and maintainers work better (i.e. work less).

If you have a good readme, your project is easier to understand.

If you have a clearly defined license, it's easier for people to know if they can use your project or not and under what terms.

If you have a good change log, it's easier to for users to know what's going on, track progress of features, and deal with breaking changes.

If you have a contributing document, it's easier for people to participate in the project and make valuable contributions.

If you use semantic versioning, your project is easier to include elsewhere and rely on.

If you have tagged releases, it's easier to maintain the repo and to inspect code from older versions.

Documentation

If your project is well documented, people will understand what it's for and it will be easier for them to use it.

Tests

If you have tests, it's easier for you to vet and accept contributions from contributors and it's easier for others to trust you're taking the project seriously.

Make Life Easier

If you do your homework early on (and automate a lot of these processes) your life will be way easier down the road. If you wait to do these things when the project's already been out there for a while, it will be harder for you to maintain it and harder for other people to use it and contribute to it.

Do yourself a favor, make life easier!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment