ian-andrich / awesome-open-source-project

This Awesome repository serves as a starting point for all who are starting new open source projects.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Awesome Open Source Project

An Awesome List for making, hosting, growing, and ensuring the success of your open source project.

Contains tooling, and checklists related to ensuring that your open source project is successful.

This gives you an eye for where your project needs to evolve to in order to mature and be succesful.

Too many guides are too static in their analysis of where your project is and where your project needs to wind up.

Structure

Big Picture

  • Open community

Starting Out Checklist

  • Who will use it?
  • Why would they benefit? Why use this and not that project.
  • What environments will they use it on? What will they do with it?
  • How can they contribute? Provide bug reports?
  • Choose a name
  • Choose a license
  • Sketch community engagement policy.
  • Initial Project Skeleton for deployment
  • Initialize dev environment for development.
  • Initial Testing Skeleton/Environment.

Young Project Checklist

  • Build 4 avatars of your users -- who do you think they are? How do they feel? How does this help them specifically?
  • Functioning prototype.
  • [ ]

Older Project Checklist

In progress

Mature Project Checklist

In progress

Unstructured

  • gitter

  • irc

  • slack communities

  • discord communities

  • email

  • linting

  • automatic formating tools

  • code coverage indicators

  • testing

  • fuzzing

  • use cases broken out by avatar

  • configuration documentation

  • configuration builder tools

  • test coverage indicators

  • gif demos

  • youtube demos

  • get skeleton up

  • travis ci integration

  • community guidelines

  • contribution guidelines

  • open/closed issues for extending usability

  • reporting guidelines

  • screenshots

  • documentation

  • documentation hosting

  • interactive coding -- repl.it -- live demos

  • live coding of project on streams -- twitch

  • vagrant for setting up development machines so people can just hop in and start working with a dev environment set up

  • dockerfiles or other containers for testing on machine

  • deployment skeleton

  • deployment builder?

  • security features

Immediate Goals

  • Begin filling out checklists
  • Double check quality
  • Establish community guidelines, contributor crediting system.

I know this will be too specific starting out, but I don't know where the cuts will be to make this appropriately general to suit most possible open source projects, so guidance will start out focusing on software.

Get this to the point where it is sufficiently well defined that I can start accepting contributors.

Get it to the point where I can begin reaching out to the community for their wisdom.

Long Term Goals

Turn this into a healthy community curating a list of best practices and tooling relevant to people increasing their quality of open source contributions. Establish a roadmap for each version of the document.

About

This Awesome repository serves as a starting point for all who are starting new open source projects.

License:Creative Commons Zero v1.0 Universal