Project:New contributors

'''THIS IS A DRAFT PROPOSAL. EARLY FEEDBACK IS WELCOME.''' It is also a vision document. Priorities and implementation details will follow. How to attract volunteers and connect them with interesting people and activities?

Our problem is similar to engaging Wikimedia editors. It is also common to many other open source projects. We can solve our contribution infrastructure problems by improving MediaWiki tools, benefiting also the Wikimedia movement and other OSS projects.

The solution proposed is a single website connecting people, groups, projects, tasks and events through semantic data and targeted notifications.

People
Identify yourself and connect with relevant people and activities.

Optional identification:
 * Interests - a predefined lists of OSS activities, programming languages and projects.
 * Availability for each - Send me updates, Looking for a task, Looking for a mentor, Offering mentorship.
 * Locations.
 * Languages.
 * Social media handlers.
 * OSS projects involved.
 * Gravatar.

Automatic fields:
 * Badges - Project membership, Group membership, Events attended, Mentorship programs.
 * Maybe good to use an existing solution for this - OpenBadges or similar.


 * Activity stats - MediaWiki, Gerrit, Bugzilla, Labs.
 * Could centralize these somehow, in a dashboard to show others.
 * See - List of Gerrit users

Social:
 * TBD - A way to show related users.
 * TBD - A way to show Wikilove / Barnstars / Likes given to and received from.

Searching people:
 * For lists of people around one tag see.
 * Combined tag searches e.g. Barcelona AND JavaScript, Lua AND Willing to learn.

Metrics:
 * TBD: Lists of top contributors based on user stats e.g. top code reviewers of the month.

Groups
People collaborating around a specific topic


 * Each Tag generates a Group page listing the related users.
 * The content area above the list can be edited.
 * Discussion page.
 * Users can sign up explicitly as members, appearing as such in the list.
 * Groups that are officially recognized as Wikimedia User Groups are identified as such.

Projects
A standard way to report goals, members, tasks and updates.


 * Project pages
 * Members
 * Related interests e.g. programming languages.
 * Accepting transcluded descriptions, statuses...


 * Project admins can identify users as project members with roles.

Tasks
A funnel to connect pending work with potential contributors.


 * The way to connect tasks in Bugzilla, Gerrit and others to a common system.
 * Publish tasks for contributors tagging them by interests, location, language...
 * Users can add themselves as mentors for tasks.
 * Users can signal that they are interested in a task.

See - Integrate git/Gerrit and Bugzilla

Events
A standard way to advertise activities and know the people joining them.


 * Events share a lot with Tasks but they are tied to dates and have many participants.
 * Task mentors = Event organizers. Interested in task = Sign up to event.
 * Events are automatically listed to events.
 * People signing up are automatically listed at the event.
 * After the event: organizers distribute badges to actual participants.

Notifications
Receiving updates about the things that matter to you.

Maintainers contact users filtered by tags:
 * Promoted tasks.
 * Events.
 * News and announcements.

Automatic notifications for subscribers:
 * Your watched Project has a new status report.
 * Your watched user has a new role.
 * Your Group/Project has a new member.

One wiki
Everything I'm looking for is here.

Solving the old dilemma MediaWiki / Wikimedia (Tech, Meta, WP...):


 * wikitech.wikimedia.org: infrastructure, tools and support for all developers and other technical contributors.
 * mediawiki.org: MediaWiki software downloads, documentation, support and promotion.
 * All tech documentation in Meta and the projects moved to Wikitech or mediawiki.org.
 * 43591
 * Invitation to English Wikipedia and other Wikimedia projects to move their tech development content.

About the new Wikitech:


 * MediaWiki login integrated with Gerrit, Bugzilla, Labs (and Mailman by identifying your email addresses?).
 * Single place for developer documentation and other technical contributors.
 * Unified templates and processes for project pages, status reports and opportunities for contributors.
 * All Wikimedia Engineering content in mediawiki.org moved to Wikitech.

One ontology
A common vocabulary to classify items across all our tools

Aka Tags aligned across MediaWiki, Bugzilla, Gerrit and anything taggable we do.

Reusing established ontologies (Wikidata link?)
 * Location: cities, regions... Is fuzzy geolocation an option?
 * OSS community activities: How to contribute structure as starting point.
 * Programming languages: PHP, JavaScript, HTML, CSS, Puppet...
 * Human languages: English, German, Hindi...
 * Projects: our own doubling as tags + Wikimedia projects + related external open projects: OSM, CC, Ada...
 * Tasks: Bugzilla / Gerrit sync for easy, enhancement, mentored...
 * Hobbies???

See - Free-form tagging in gerrit

The problem
We have problems in the whole contribution cycle:


 * Unclear identity and scope
 * Outsiders confused about Wikipedia / Wikimedia / MediaWiki.
 * Insiders differ about project identity and scope.
 * As a result: confusing landing and path for new contributors.
 * Lack of global profiles identifying contributors
 * One contributor = many usernames from MediaWiki/Wikimedia, Gerrit, Bugzilla, Mailman, IRC...
 * User profiles are plain text, relying on manual updates.
 * Lack of semantic data e.g. location, skills, interests, projects...
 * Lack of common memory about contributors
 * Personal lists maintained (or not) manually by various people.
 * Difficult to promote activities to the right people
 * Every time we start almost from scratch.
 * We lack ways to broadcast selectively by topic.
 * Social media and community communication channels are ok but too broad.
 * Manual pokes in user Talk pages don't scale, are unequally effective and are not trivial to follow-up.
 * Difficult to connect new volunteers with a first task
 * It's not trivial to arrive and find a task by yourself.
 * We don't know how many newcomers never dare to ask.
 * Those who ask find that it's not easy to get started.
 * It's not easy to give a task to someone landing with a vague request in an email.
 * Most probably the memory is lost after a few weeks.
 * Difficult to find peers and stay in touch
 * No way for contributors to find who is interested in XYZ and discuss with them.
 * Same problem: spam wikitech-l, hope to find people through Discussion pages...
 * Groups are supposed to help but group creation and membership is heavy.
 * Difficult to find inactive contributors and follow-up
 * We lack the metrics to find out who was active but not anymore.
 * English only
 * Potential communication and activities in other languages are even more disconnected.