Project:New contributors

We have a problem engaging volunteers and motivating them to stay. The amount of documentation, tools and channels is simply overwhelming. Being at the shadow of Wikipedia, we could generate a massive interest from tech-friendly users and we could offer them suitable technical tasks. In reality we miss many newcomers and our community efforts don't scale.

Now imagine this solution:

"Mary registers to one site, and after filling her profile she is notified about groups, projects, tasks and events related to her interests. This happens on her first day, and whenever there is an update fitting her preferences."

The Semantic MediaWiki and Echo notifications frameworks could get us there. We are the MediaWiki experts and we can iterate fast eating our own dog food. Wikitech has already the ingredients in place.

This experiment would be useful to the Wikimedia movement and all the communities using MediaWiki. Even if our technical implementation wouldn't scale to the needs of Wikipedia, we would provide a priceless proof of concept with lessons learned.

First implementation
The first iteration aims to be deployed within 3 months from the starting date. The project would be coordinated by Quim Gil with the participation of a contractor paid by the Wikimedia Foundation, Ryan Lane, Guillaume Pamier and other community members willing to get involved.

This phase is defined by three prioritized drivers:


 * 1) User profiles, groups, projects, tasks and events categorized using Semantic Forms.
 * 2) Announcements sent manually, categorized and received by the users asking for them.
 * 3) Groups generated automatically out of categories and user preferences.

We could consider more features, but only after establishing this foundation. Check the /Roadmap/.

People
Identify yourself to connect with relevant people and activities.

The User page is extended with category data using Semantic Forms. All fields are optional and feature autocompletion:
 * Interests: OSS activities, programming languages and projects.
 * Opt-in options for each: Send me updates, Show me in lists.
 * Locations.
 * Languages.
 * Free software / free knowledge projects involved.
 * Social media handlers.
 * Avatar.

The User Talk page is preloaded with LiquidThreads.

Groups
People collaborating around a specific topic

Expect groups about PHP, Android, Gadgets, Security, Geolocation, Open Data, Labs, Wiktionary, Wiki Loves Monuments, Women, Bangalore, Berlin, French, Javanese...


 * When a contributor enters a new category trough her profile, the corresponding group is created automatically in the Group namespace.
 * Contributors can define their level of involvement in the group: member, follower.
 * Contributors are listed and delisted automatically according to their profile preferences.
 * Contributors can join / leave a group selecting the option in the group page.
 * Contributors can watch / edit / discuss in the page & related Talk page, but they can't remove or manipulate the list.
 * The groups Talk pages are preloaded with LiquidThreads.
 * Duplicated / mistyped groups can be redirected to the right ones.

Implementation under discussion.

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


 * Project pages
 * Members
 * Related tags e.g. programming languages.
 * Standard process for descriptions and status reports

Tasks
A funnel to connect pending work with potential contributors.


 * Integrated with Bugzilla.
 * Other tools like Gerrit sync with Bugzilla - see - Integrate git/Gerrit and Bugzilla
 * Publish tasks for contributors tagging them by interests, location, language...

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 a Calendar.
 * People signing up are automatically listed at the event.

Notifications
Receiving updates about the things that matter to you.

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

If Echo is not ready yet for this we can fallback to an adaptation of TranslationNotifications. In the future Flow should take over.

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

Call it categories, keywords, topics, tags, metadata... What we need is one set of words applied consistently to wiki content, helping to connect related people, groups, projects, tasks and events.


 * Location: cities, regions...
 * Contributors activities: based on the How to contribute structure.
 * Programming languages: PHP, JavaScript, HTML, CSS, Puppet...
 * Human languages: English, German, Hindi...
 * FLOSS projects:
 * Wikitech / MediaWiki projects.
 * Other free software / free knowledge projects.
 * Task identificators: [priority], [severity], easy, mentored, patch-in-gerrit...

This ontology should be consistent with the rest of tools we use, enabling easier / automatic connections and aggregation of content:


 * Bugzilla keywords.
 * Gerrit tags.
 * Wikimedia tech blog tags.

If you want to promote a bug, a change set, a post to a specific set of contributors, tag it accordingly in your tool. We might not have the technical solutions to automate this promotion today, but consistent tagging is already useful to ease manual work.

The problem
We have problems in the whole contribution cycle:


 * 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 of contributors 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.

FAQ

 * Looks like a solution looking for a problem.
 * We do have a serious problem but it is less obvious for established contributors. People out there want to help but most of them have a hard time getting on board. Engaging new contributors and lowering barriers for participation is a top priority for Wikimedia.


 * It seems too ambitious.
 * It is feasible. To make it more manageable we have pushed many features to the /Roadmap/ and we have spinned-off the proposal about mediawiki.org & Wikitech.


 * It lacks a proper implementation plan.
 * The priority has been to draft a vision and share it with the community asap. We are getting into implementation details as we feel that there is enough interest to continue the work.


 * It's not scalable for Wikipedia.
 * It is scalable for our community, which is the problem we want to solve today. When a better solution exists we can migrate.


 * What if I don't care about feature X or altogether?
 * You can continue doing what you are doing. All the new features are optional. The worst that can happen is that you find a form instead of a template in certain pages.


 * What about privacy?
 * There are no changes compared to the current situation. New user profile fields are optional. Appearance in the new Groups is opt-in.