Put your work in a public repository! This allows others to see your work-in-progress and follow each change you make real time. GitHub enables distributed collaboration and has a built in public discussion forum in their issue tracker.
- version control. Collaboration.
The text you place in README.md is often a user's first introduction to a project -- especially if the project is hosted on GitHub. Make sure you create a welcoming README that gives an overview of your project.
Leading with a clear and concise mission statement will help the community understand what you're building. Keeping it short and simple will help others quickly understand and decide if they want to be a part of this project.
You should think about including the following:
- Name, goal, and summary of the project
- List of skills needed (if you are looking for contributors)
- Intended audience
- How to participate and what contributors will get out of it.
- where to ask for help (irc, email, project call)
Tease out tasks in your issue tracker to help others understand where they can get involved and what's being worked on. Issues communicate specific needs or questions to contributors. Take time to document tasks, features, bugs, or questions in the issue tracker to let others know how they can help. This is often the main forum for public discussion on a project.
Good first bugs are an easy to implement onboarding process. Mark a few easier tasks as a 'good first bug' to encourage newcomers. This will help new users easily walk through the contribution process and experience setting up their development environment, going through review and communicating with the project community.
Characteristics of a good first bug:
- narrowly scoped
- links to code that needs to be changed
- has someone signed up as a mentor
- not time-critical or blocking