An open API service indexing awesome lists of open source software.

https://github.com/code4clouds/osscheklist

A checklist of items to have in your Open Source Software Project
https://github.com/code4clouds/osscheklist

Last synced: 5 months ago
JSON representation

A checklist of items to have in your Open Source Software Project

Awesome Lists containing this project

README

          

# Open Source Project Checklist
A checklist to guide your in the creation of your Open Source Project
# Glance
* [ ] Name - Use a simple and a representative name for the project.
* [ ] Definition - If you use a complex name, at least have a good definition of what the project does.
* [ ] Problem - What are you trying to solve with your project.
* [ ] License - Pick a license that will attract people to encourage sharing.
# User Experience
## Reduce steep learning curves
* [ ] Background Information - What do I need to know to use and understand the project.
* [ ] List Prerequisites - What things are needed to use the code.
## Provide value-added documentation
### Provide a starting point
* [ ] How to get the source - High School and College students will appreciate some guidance.
* [ ] How the code is layout - Describe the structure of the project directories.
### Provide a contribution roadmap
* [ ] How to setup the build system
* [ ] How to run the build (and run unit tests)
* [ ] How to contribute
* [ ] How to merge and do pull requests (e.g. add pull request template)
## Simplify the software installation
* [ ] Scripts - To start and build the project.
* [ ] Docker Image - To help users of the code.
* [ ] Add Dependencies - Include everything explicitly need to use the code.
## Provide stable code base
* [ ] Versioning - Releases use this.
* [ ] Tags - Production environment use these.
* [ ] Tests - Help users find at least the simples mistakes before a commit happens.
* [ ] Changelogs - Help users understand if it worth moving to the next version.
* [ ] PR Automated Tests - Help contributors find problems before the reviews do and save time.
# Project Planning
## Plan for success
* [ ] Schedule releases - Show users the project is alive and thriving.
* [ ] Use release versions - Show users whats next to come in the future.
## Prioritization
* [ ] Create roadmaps - Bring everyone together as to what will be important to work on in the future.
* [ ] Create goals - Provide information on what to look forward to the project.
# Recognition
## Create a community
* [ ] Recognize efforts - Welcome and give thanks to contributors e.g. (e.g. add committers file)
* [ ] Use social media to help show the project progress and announce achievements - It helps show people your project is alive.
* [ ] Try to bring the team together - Create meet-ups and help create a community.
* [ ] Allow community members grow in the project - Promote good commiters to reviewers.