UbuntuWanted

Differences between revisions 2 and 6 (spanning 4 versions)
Revision 2 as of 2010-03-07 11:10:03
Size: 6007
Editor: ck752853-a
Comment: Extended the spec
Revision 6 as of 2010-03-20 11:51:36
Size: 8241
Editor: ck752853-a
Comment: Added a section of libraries used by Ubuntu Wanted
Deletions are marked like this. Additions are marked like this.
Line 3: Line 3:
 * '''Launchpad Entry''':
 * '''Created''':
 * '''Launchpad Entry''': UbuntuSpec:community-website-ubuntu-wanted
 * '''Created''': 2010-03-07
Line 6: Line 6:
 * '''Packages affected''':
Line 13: Line 12:
Ubuntu Wanted is a website that provides a way for teams in the Ubuntu Community to place tasks and vacant positions and to search for people looking for something to do for Ubuntu. Ubuntu Community members can search for and apply to tasks and vacant positions and add their skills to the website.
It should be the starting place for entering the community.
Ubuntu Wanted would be a website that would serve as the entry point for community contribution to Ubuntu. It would be the place where new community members would start looking for a task or maybe even multiple tasks they could do. It would be the place where community veterans would look for other things they could do and it would be the place where teams and people place tasks and search for people when they need someone. This would be limited to the Ubuntu Community, no third-party tasks would be allowed, with the exception (SUGGESTION) of Ubuntu affiliated projects like Apport and Ground Control.

Since Ubuntu Wanted would serve as the entry point for community contribution to Ubuntu and we want to encourage the development of great applications the website would also point users to resources regarding opportunistic and regular development.
Line 19: Line 19:
The Ubuntu Community wouldn't exist without its contributors. Every volunteer is useful and we should do anything to make it as easy for people to enter the Ubuntu Community.
Line 20: Line 21:
It's not easy to find an what tasks there are to do in Ubuntu. Most teams do list tasks on their own wiki page, but it's scattered and specific roles are usually discussed at mailing lists. A website where team administrators can post roles within their team would open the community more and create a central place to look. Mentors can be assigned to roles to guide newcomers into the wonderful world of the Ubuntu Community. This website allows team administrators to post both static(e.g. Bug Triaging, MOTU) and dynamic(e.g. maintainer of package X) jobs, categorized by team, but supporting tags. Only non-paid roles within the Ubuntu Community are allowed. If you want to make it easy for people to join the community and start contributing actively, you need to make sure they can easily find out what there is to do. However, at the moment it's not very easy to discover the different tasks there are in the Ubuntu Community. Most teams do list tasks on their own wiki page, but it's scattered and some vacancies are usually discussed at mailing lists.

In order to make existing community members as productive and happy (result: more productive) as possible you need to make sure they're working on the task(s) they like. If you provide them with a way of finding what exactly there is to do and what they could do else, it's more likely that the community members will find tasks they like and maybe even extra tasks they like but wouldn't have done otherwise.

A distribution is as good as its software. We need people to develop really good applications and should accept those applications as a part of the greater community. It should be very easy for people to find out how to write an application for Ubuntu and how to make sure it is picked up by the rest of the community.
Line 32: Line 37:
Ubuntu Wanted is divided in three sections: persons, tasks and write new apps.
Persons:
 * user profiles
  * skills
  * experience
  * fetch as much as possible from Launchpad
 * search users

Tasks:
 * Tasks
  * two different application types
   * formal: applications with form, managed on the site
   * informal: applicants get presented with information about how to apply
  * set number of people needed, or infinitive
  * required skills and experience
  * categorised
  * assigned to a 'project'
 * Projects
  * subsets of the Ubuntu Community like QA, Bug Squad, Community, Translations, Ground Control, etc
 * search tasks by
  * category
  * project
  * search terms
 * show tasks that fit with the user's experience and skills

Write new apps:
 * Provide a starting point for people wanting to develop something new for Ubuntu
  * Link to Quickly et al.
Line 44: Line 77:
Written using Django, integrated into Launchpad using ''launchpadlib''.
Line 85: Line 119:
== Libraries and projects in use ==
 * Django
 * django-openid
 * launchpadlib
 * lazr-js

Summary

Find people, find things to do.

Ubuntu Wanted would be a website that would serve as the entry point for community contribution to Ubuntu. It would be the place where new community members would start looking for a task or maybe even multiple tasks they could do. It would be the place where community veterans would look for other things they could do and it would be the place where teams and people place tasks and search for people when they need someone. This would be limited to the Ubuntu Community, no third-party tasks would be allowed, with the exception (SUGGESTION) of Ubuntu affiliated projects like Apport and Ground Control.

Since Ubuntu Wanted would serve as the entry point for community contribution to Ubuntu and we want to encourage the development of great applications the website would also point users to resources regarding opportunistic and regular development.

Release Note

Rationale

The Ubuntu Community wouldn't exist without its contributors. Every volunteer is useful and we should do anything to make it as easy for people to enter the Ubuntu Community.

If you want to make it easy for people to join the community and start contributing actively, you need to make sure they can easily find out what there is to do. However, at the moment it's not very easy to discover the different tasks there are in the Ubuntu Community. Most teams do list tasks on their own wiki page, but it's scattered and some vacancies are usually discussed at mailing lists.

In order to make existing community members as productive and happy (result: more productive) as possible you need to make sure they're working on the task(s) they like. If you provide them with a way of finding what exactly there is to do and what they could do else, it's more likely that the community members will find tasks they like and maybe even extra tasks they like but wouldn't have done otherwise.

A distribution is as good as its software. We need people to develop really good applications and should accept those applications as a part of the greater community. It should be very easy for people to find out how to write an application for Ubuntu and how to make sure it is picked up by the rest of the community.

User stories

  • Brian needs a lot of people to triage bugs. He creates a task called 'Bug Triaging' on Ubuntu Wanted and sets the number of persons needed to infinite. Because you don't have to be improved he sets the application procedure to "informal" and writes about Bugs/HowToTriage and #ubuntu-bugs in the textfield for the message that should be shown when a person wants to apply.

  • David needs five people for translating a specific application. He creates a task at Ubuntu Wanted and sets the number of persons needed to five. As the application method he selects "formal" because the applicants need to answer a fixed set of questions. He can approve or decline applications using the web interface.
  • Jono is an opportunistic developer who wants to write an application for Ubuntu. He goes to Ubuntu Wanted because he heard that's where you can start your dive into the Ubuntu community and follows the links to explanations of how he can write an application. His application gets picked up quickly by other community members that find it interesting and soon it is packaged and added to the repositories.
  • Amber needs people for the Ubuntu Women project. Using the Ubuntu Wanted search function she searches for people that have experience with holding talks for large groups and when she's found a few she mails them asking them if they would be interesting in helping out.
  • Jane-Joe is a very artistic person and would like to work on the panel icons. It applies to the task via the on-site form. After a few days Ubuntu Wanted mails the reaction of the task owner to Jane-Joe and the task is added to Jane-Joe's profile, adding to the experience listed on the profile.

Assumptions

Design

Ubuntu Wanted is divided in three sections: persons, tasks and write new apps. Persons:

  • user profiles
    • skills
    • experience
    • fetch as much as possible from Launchpad
  • search users

Tasks:

  • Tasks
    • two different application types
      • formal: applications with form, managed on the site
      • informal: applicants get presented with information about how to apply
    • set number of people needed, or infinitive
    • required skills and experience
    • categorised
    • assigned to a 'project'
  • Projects
    • subsets of the Ubuntu Community like QA, Bug Squad, Community, Translations, Ground Control, etc
  • search tasks by
    • category
    • project
    • search terms
  • show tasks that fit with the user's experience and skills

Write new apps:

  • Provide a starting point for people wanting to develop something new for Ubuntu
    • Link to Quickly et al.

Looks

See http://www.markshuttleworth.com/archives/308 for an explanation of the meanings of the different theme elements that are a part of the Ubuntu looks. We want:

  • Mostly orange: we're a community website
  • No dots: we're not an enterprise nor just meant for developers
  • We can use the Ubuntu.com and the Ubuntuforums.org themes as a starting point to make the website fit into the family of websites

Mock-ups:

startpage.gif

taskpage.gif

Implementation

Written using Django, integrated into Launchpad using launchpadlib.

Migration

Unresolved issues

  • Often people raised the issue of allowing third-parties to place tasks on Ubuntu Wanted, be it asking for volunteers or offering a payment. We've said consequently that Ubuntu Wanted only focuses on the Ubuntu Community and not on the broader ecosystem around it. However, a website like Ubuntu Jobs, possible modelled after Linux Jobs, may be a valuable addition to Ubuntu.
  • It could be that Ubuntu Wanted separates the community because it takes people away from the wiki and the mailing list -- which is where tasks are usually listed and divided -- and moves them to a different website. Not all people move along, so it could fragmentise teams. A solution would be to let Ubuntu Wanted notify the mailing list on new tasks or applications.
  • It should be made very clear that it is possible to have multiple roles. You don't have to limit yourself to one task.

Resources

Ubuntu Wanted isn't new, the Brainstorm idea was posted in June 2008 and it was discussed at UDS-J in Barcelona:

https://blueprints.edge.launchpad.net/ubuntu/+spec/ubuntu-community-task-website

Chronologically ordered list of previous publicions on Ubuntu Wanted

Mailing list discussions

This includes some mock-ups and theme work from MadsRH

The initial mailing list discussion:

Other:

Wiki pages

Libraries and projects in use

  • Django
  • django-openid
  • launchpadlib
  • lazr-js

BoF agenda and discussion


CategorySpec

Specs/UbuntuWanted (last edited 2010-08-23 13:33:55 by n138191)