New Developers/Featured Projects


 * Context: Technical Collaboration/Onboarding New Developers / Wikimedia_Foundation Annual Plan/2017-2018/Draft/Programs/Community Engagement
 * Related conversation (non-public): https://office.wikimedia.org/wiki/Topic:Tpuae21svgwdoc5j
 * TODO: Decide on page name and place on mediawiki.org. (User:AKlapper_(WMF) would love Portal:New_Developers/Projects/Requirements but that's far away (see "Developer portal" part in T164084.)

Requirements to become a featured project recommended to new Wikimedia developers
You maintain a Wikimedia project, are interested in more contributors, and would like to take part in Onboarding New Developers program? Awesome! Here are some expectations which help you decide, and help you and us to deliver a pleasant experience for new developers:


 * Projects:
 * You offer a short description what your project does and link to more information (e.g. your project page on mediawiki.org). Your description allows new developers to judge whether your project fits their interest area and which knowledge (programming languages, technology) and level you expect.
 * Mentors:
 * You commit to helping new developers with their first steps joining our community.
 * You provide information how you can be contacted.
 * You know which resources and information (documentation, communication channels, places) to point to and when, so new developers can grow and understand our ecosystem.
 * You review their patches quickly.
 * You make them become good FOSS citizens and help create bonds with other community members.
 * You are willing to learn from each other.
 * Finally: You realize when you do not have enough time for mentoring anymore and communicate that you are not available anymore.
 * Tasks:
 * A list of tasks suitable for starters. If your project uses Wikimedia Phabricator this could be a link to tasks tagged as #easy in your project.
 * Tasks should take no longer than two or three days for someone new to the code base.
 * Tasks are self-contained, non-controversial issues with a clear approach.
 * Tasks do not require any special permissions in order to test the contribution or to fix the task.
 * Tasks should preferably be well-described with pointers to help the contributor.
 * You regularly update this list of tasks and add new tasks when applicable.
 * Documentation:
 * Documentation for developers and users is in place and linked from a visible place so it can easily be found by a new developer.
 * You explain where to find the code base of your project and link or explain how to get that code base and link to or explain how to configure the development environment.
 * You explain how and where a developer can propose code changes (patches) and link to the expectations on patches.
 * Roadmap:
 * You provide some perspective which direction your project is heading and which next tasks or areas other developers could work on. This could be a column on the workboard of a Phabricator project, some tag for tasks in GitHub or Sourceforge, or a wiki page which you regularly update.

Thanks for making our community bigger and more diverse!