CreatingTeamGuide

Revision 1 as of 2007-01-26 14:43:11

Clear message

Creating a Community Team

Include(BuildingCommunityHeader)

THIS GUIDE IS UNFINISHED AND IS A WORK IN PROGRESS

The Ubuntu community is an impressive place to be. We have a huge diverse community spanning the entire globe in which volunteers of every discipline work together to create an awesome free software platform. The Ubuntu community is a great example of free software community in action, and is arguable one of the greatest examples of free software community in the world.

The aim of this document is to provide some help and guidance about creating a well structured, productive community team. This guide applies to every Ubuntu team, and every team can learn from some of the concepts in here. The aim is simple - ensure your team is a happy, productive, open place to be. This demands good leadership, processes and activities.

This document is deliberately concise - no-one wants to read 200 pages of "how to run a community" information. So letsstick to some core concepts and flesh those out. Feel free to send feedback about this document to the Ubuntu Community Manager Jono Bacon at jono AT ubuntu DOT com.

Create open and accessible resources

Every team needs certain resources to be productive. This includes places to scribe information such as a wiki and communication channels such as mailing lists and IRC. It is recommended you set up the following resources as a bare minimum:

Mailing List

Email based discussion that is publicly archived

Mailing lists are hosted by Canonical at http://lists.ubuntu.com/ and each team should have a mailing list. To get a list created, email mailman@lists.ubuntu.com to request the creation of your mailing list. When emailing this address, specify the following information:

  • The name of the list (this should be ubuntu-<teamname> e.g. ubuntu-art)

  • The purpose of this list - outline what your team is doing
  • The name and email address address of the person maintaining the mailing list

IRC Channel

IRC is an excellent means of having real-time discussion about your team, and is an essential resource. Much great work happens on IRC, and it really does create a sense of community. Smile :)

All IRC discussion happens on the Freenode network. This is how you register and run your IRC channel:

  1. Register your nickname with a password: /msg NickServ register [password]

    1. or if already registered:/msg NickServ identify [password]

  2. Create the channel by joining it for the first time: /join #ubuntu-<yourteam>

  3. Register the channel with Chanserv: /msg ChanServ Register #ubuntu-<yourteam> [password]

  4. Invite the Chanserv bot so it can give you operator rights when needed: /msg chanserv set #ubuntu-<yourteam> guard on

    1. Add yourself, and others as needed, to the operator access control list: /msg ChanServ access #ubuntu-<yourteam> add [nickname] [level]

If you want to log the channel, which is recommended for IRC meetings, you should contact MatthiasUrlichs to get a LoCoBot (a bot on irc.freenode.org). Ask him to add your channel to the list.

Wiki Pages

Web page content for the team, useful for outlining processes and practise

When starting your team, we recommend you create pages on wiki.ubuntu.com which can act as your team homepage. Although it is tempting to create a CMS driven website, we really do urge you just use the Ubuntu wiki as it makes it much easier to get content online that everyone can edit and also prevents you spending weeks getting a separate website online which does largely the same thing - the aim here is to be as productive as possible, and we want to prevent wasting time setting up resources.

Create your main page on wiki.ubuntu.com/TeamName (replace TeamName with your actual team name e.g. wiki.ubuntu.com/ArtTeam). This front page should be simple and easy to read and contain a summary of what your team aims to do. You should then add a number of additional pages:

  • Getting Involved - provide details of how new members can join the Mailing List, IRC channel etc. Also provide details about how people can get started with the team - outline what they need to do to make a successful contribution.
  • Online Meetings - you should have a page that gives details of the next online IRC meeting. This page should be used to say when the next meeting is, where it is help (which IRC channel) and what the agenda is.
  • Roadmap - what goals does the team have. Here you should indicate the kind of ideas and goals you want to achieve. It is often nice to use a Roadmap page as a place for all members to note down ideas activities for the group to work on.

It is best to create these pages as subpages to your main page. So as an example, wiki.ubuntu.com/TeamName/GettingInvolved.

It's not a good idea to translate Ubuntu's Wiki pages directly into other languages, because they change often.

Processes

Creating good processes for a team is essential. This means understanding what kind of things your team needs to do, documenting it and trying to make the processes as clear and easy as possible. When creating processes, it is essential you try to make them as simple and unobtrusive as possible - teams with too many rules and regulations feel too bureaucratic. The aim here is to create processes that act as guides to making the team run effectively - lets not wrap people up in picky rules, but determine simple and clear methods of working that are easy to understand and follow.

There will be many processes specific to your team, but there are some generic to all teams that are useful to adhere to:

  • Have regular IRC meetings - Schedule regular IRC meetings and ensure there is an agenda on a wiki page for each meeting. Regular IRC meetings ensure the team is open to discussion, and provide an excellent way for the team to decide direction and what to do. They also provide an excellent means of resolving problems. Also, ensure your meeting is logged and the logs are placed online on your wiki pages - this ensures those who could not attend can get up to speed. Smile :)

  • Define a roadmap and update it regularly - A roadmap is key in determining what your team wants to do. Always keep your roadmap up to date, and schedule IRC meetings to discuss what to add to your roadmap if needed.

  • Document everything - The wiki is a great place to document things easily, and you should document everything about your team.