Skip to content
This repository has been archived by the owner on Sep 8, 2022. It is now read-only.

Latest commit

 

History

History
90 lines (54 loc) · 7.36 KB

README.md

File metadata and controls

90 lines (54 loc) · 7.36 KB

project-list

Our current projects and the process for how we decide which projects to tackle next.

Current Projects

All of these projects are projects where you are welcome to make a Pull Request. These projects are Approachable Open Source projects and the benefits of getting involved with the project. If this is your first time here, check out our welcome! If you're itching to make your first contribution to an Approachable Open Source project, check out our getting-started project!

  • welcome - Introduction to Approachable IO and Approachable Open Source
    • Learn more about Approachable IO and Approachable Open Source
    • Get involved by suggesting improvements or reporting bugs on the issues page
    • Get involved and practice Markdown by making changes to a live README.md
  • getting-started - The world's most approachable open source project.
    • Learn how to make your first open source contribution by following the guide!
  • approachable-io - Approachable IO Website
    • Learn more about Approachable IO and Approachable Open Source
    • Get involved by suggesting improvements or reporting bugs on the issues page
    • Get involved and practice HTML and CSS by making changes to a live website www.approachable.io
  • project-list - Where you are right now! Our current projects and the process for how we decide which projects to tackle next
    • Learn more about Approachable IO and Approachable Open Source
    • Get involved by suggesting improvements or reporting bugs on the issues page
    • Suggest a new project for us to tackle next by following the instruction below!

Suggest a new project

Software projects come in all shapes and sizes and there are a million different ideas we would love to pursue. The tricky part is coming with an idea that fits well with a specific community. Approachable IO's guiding light when selecting a new project is, "Is this project idea approachable?"

Is this project idea approachable?

We are very picky when it comes to adding new projects to our organization, because a single overly-complex project could make our entire organization much less approachable. We've used the word "Approachable" a lot, so let's explain what that means.

An Approachable Open Source project will:

  • allow those who are interested and committed, regardless of skill level, contribute to the project.
  • have at least one approachable issue that can be worked on without end and a guide for how to work on the issue so that a newcomer can always feel comfortable making their first pull request. We call this the Infinitely Approachable Issue. An excellent example of this can be found in the getting-started repository.

Every project has tradeoffs, and that is OK as long as we're on the same page. An Approachable Open Source project will often:

  • sacrifice development speed, performance, and productivity every time if it makes the code easier for those with less technical expertise to participate in the project.
  • Write Everything Twice (WET) instead of following the coding standard of Don't Repeat Yourself (DRY).

Of course, performant and DRY code written at a fast pace is still preferable to WET code written at a slow pace, but not at the cost of making a project less approachable. This may make an Approachable Open Source project less appealling to some highly-skilled developers, but that is OK with Approachable IO. There are plenty of open source projects to push the technical limits of experts, we are filling a different purpose.

Suggest the idea

Before you suggest your idea, check to see if your idea has been suggested already or if there is a similar idea currently under consideration on the issues tab. If your idea isn't already in the issues list and it fits the Approachable Open Source guidelines above, you may add your idea to the issues for this project. This is where we will have a conversation about the idea and decide if we will allow it as one of our projects. When you submit your issue, please use this format:

## Project Description

### Who would this project help?

We all want to work on projects with meaning. Who are we helping when we work on this project? 

### What is the problem this project solves? 

Does it help save kittens from trees? Help to document life in the desert? Help to document delicious desserts?

### What are the current solutions to this problem? 

It's OK if we're tackling a problem that others have solved before, but if there is a unique problem that we are uniquely suited to tackling at Approachable IO, that is a nice plus!

### Which skills will contributors learn and practice on this project?

Will they be learning HTML and CSS? Will they learn JavaScript or Internet of Things technolgies?

## The Infinitely Approachable Issue

The issue that could be worked on for eternity by contributors who are new to the project so that a new developer can join the project and feel welcome

## Example Project Stub

A link to a project on your personal Github account where you have started building out what you are imagining goes a long way to helping us figure our if it is truly approachable. This might be the last part of the suggestion, but it can be the most important piece.

Here is an example of what that might look like:

New Approachable Open Source Project Idea

Respond to feedback

It's unlikely that any idea will be immediately accepted. There will be conversation around how the project will be architected (Will it include a server? Will it use a framework?). What is the most approachable way to build the project? Does it add a new technology to Approachable IO that we don't already cover? Do we cover the skills necessary to contribute to this project in other projects so those interested can work their way up to this project?

The goal of the conversation is to evolve the project to the point where it either fits into the Approachable Open Source mold, or there is a clear reasoning for why it does not fit.

Providing feedback to new projects

If you are interested in being a part of the review process, you may add your comments to new project idea suggestions. Respectful conversation is incredibly important during this phase. You can help by creating a stub and attempting to get the project to the point where it is ready to be added to Approachable IO. If you have concerns about a project, please be respectful in how you communicate them. Please focus around the priciples laid out in this document to express how the project does or does not conform to the standards of an Approachable Open Source project.

The goal of the conversation is to evolve the project to the point where it either fits into the Approachable Open Source mold, or there is a clear reasoning for why it does not fit.