building communities.v5

Upload: lars-kurth-2925

Post on 30-May-2018

218 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/9/2019 Building Communities.v5

    1/42

    Building CommunitiesBuilding Communities

    Aimed at Package TeamsMay 2010

    The big picture(in case you forgot) What motivatescontributors &volunteers Three steps to get

    contributions

  • 8/9/2019 Building Communities.v5

    2/42

    Copyright 2009 Symbian Foundation. 2

    Before we start

    Choose a workpartner, form a

    group

  • 8/9/2019 Building Communities.v5

    3/42

    Welcome!

    3

    Exercise 1

  • 8/9/2019 Building Communities.v5

    4/42

    ANYBODY WHO ISINTERESTED IN THE CODE

    Package Owners

    Committers

    Contributors

    ANYBODY WHO ISINTERESTED IN THE CODE

    YOU!!! The guardians/ownersof the code in a package

    Individuals that are trusted tohave write access to the code

    Individuals & companies thatprovide code, raise bugs, helpwith documentation,are active on forums, etc.

    Roles in the Community

    Prerequisite:

    NEED to

    participate

    People who

    CAN do work

    for YOU!

  • 8/9/2019 Building Communities.v5

    5/42

    The Big Picture : Need to Participate

    5

    Contributionsto SymbianDevices

    Applications &

    Community

    Consumer

    Demand

  • 8/9/2019 Building Communities.v5

    6/42

    The Big Picture : Need to Participate

    6

    Contributionsto Symbian

    SymbianDevicesApplications &

    Community

    Consumer

    Demand

  • 8/9/2019 Building Communities.v5

    7/42

    The Big Picture : Need to Participate

    7

    Contributionsto Symbian

    Symbian

    Devices

    Applications &CommunityConsumer

    Demand

  • 8/9/2019 Building Communities.v5

    8/42

    The Big Picture : Need to Participate

    8

    Contributionsto Symbian

    Symbian

    Devices

    Applications &

    Community

    ConsumerDemand

  • 8/9/2019 Building Communities.v5

    9/42

    The Big Picture : Need to Participate

    9

    Contributionsto Symbian

    Symbian

    Devices

    Applications &

    Community

    Consumer

    Demand

    Create NEEDsto participate& contribute

  • 8/9/2019 Building Communities.v5

    10/42Copyright 2009 Symbian Foundation. 10

    Why Open Source?

    Contributions CAN significantly offset the Open Source Tax

    Why go open source in the first place, if this was not true?

    Open sourceCANcreate a vibrant eco-system

    more NEED to contributeeven more contributions

  • 8/9/2019 Building Communities.v5

    11/42

    Owning a package is not free!!

    Copyright 2009 Symbian Foundation.11

    Open Source Tax = resource is used because: People in package specific roles spend some percentage of their

    time

    Monitoring and answering questions on mailing lists,forums, etc.

    Engaging with councils and the foundation

    Managing package specific resources such as Wikis,

    backlogs, bugzilla, etc.

    Negotiating with internal stake-holders (within and outsidetheir team)

    Going to community events

    Promoting their package

    Keeping public and internal SCM and bug tracking systems in

    sync Deciding what features differentiate vs. collaboration

    Deciding how to work with the competition(commonly called co-opetition 1) )

    1)

    See http://en.wikipedia.org/wiki/Coopetition

  • 8/9/2019 Building Communities.v5

    12/42

    Contributions dont just come

    Copyright 2009 Symbian Foundation. 12

    Consider the following experiences from other open source

    projects (Eclipse & Apache, selected packages)

    If you open source it or built it, they (contributors) will come

    In reality this rarely happens

    If this were true, we would have much more contributions

    Just look at sourceforge.com and its many dead projects

    Getting Contributions = putting in effort = Higher Tax Active evangelism, solicitation and selling your technology

    You are lucky: technology managers are here to help, but they cant do italone

    Successful Open Source Projects =

    Technology demand

    = the technology is wanted Diverse Contributions

    = many contributions from many companies

    Alignment between open source and commercial products= yourself and contributors benefit from collaborating

  • 8/9/2019 Building Communities.v5

    13/42

    So, what does this mean?

    Copyright 2009 Symbian Foundation. 13

    Put in little Put in enough =Get contributions Few contributions

    Little to offset the OpenSource Tax

    Development has justbecome

    more complex

    more expensive

    fornoreturn

    Contributions offset the OpenSource Tax

    can also help reduce risk!

    can lead to better technicalsolutions (differentviewpoints make better use-cases)

    Development has become

    cheaper but not necessarily simpler !

    Your team can focus onfeatures that differentiate

  • 8/9/2019 Building Communities.v5

    14/42Copyright 2009 Symbian Foundation. 14

    Sharad, the organizerpackage worked

    with SUN to add CalDavsupport to the calendar app.

    Sharadput a lot of

    effort workingwith Max

    Max, the committer has beenVERY active at SEE 2009

    The SUN feature will beused by Nokia

    Example: Organizer package

    SUN has NOW a committeron the package

    (Max Odendahl)

    http://blog.symbian.org/2010/02/25/%EF%BB%BF%EF%BB%BFcaldav-support-for-symbian-a-contribution-by-sun-microsystems/http://blog.symbian.org/2009/12/07/meet-%20maximilian-odendahl-committer/http://blog.symbian.org/2009/12/07/meet-%20maximilian-odendahl-committer/http://blog.symbian.org/2010/02/25/%EF%BB%BF%EF%BB%BFcaldav-support-for-symbian-a-contribution-by-sun-microsystems/
  • 8/9/2019 Building Communities.v5

    15/42

    Momentum is Building

    Copyright 2009 Symbian Foundation. 15

    19 Major Contribution Proposals (see the pipeline)

    10 from Nokia 2 from Sasken

    1 from Acrodea, Accenture , Deutsche Telekom , EmbedDev, Ixonos, K3, Packet Video

    Feature Contributions & Enhancements in MCL 291 from Nokia

    18 from 14 different companies

    Package Ownership 130 packages owned by Nokia

    2 packages owned by Ixonos

    1 package each owned by Accenture, EmbedDev, Sasken

    Defect Fixes Between 10-40 proposed per week

    Between 10-20 handled per week

    Incubation & Community Projects Wild Ducks (Hardware)

    Software Freedom Fighters (GCC Compiler)

    Python

    Homescreen backporting project

    Bug Squad

    http://developer.symbian.org/wiki/index.php/Proposals_pipelinehttp://developer.symbian.org/wiki/index.php/Proposals_pipeline
  • 8/9/2019 Building Communities.v5

    16/42

    What motivates Contributors & Volunteers

    Copyright 2009 Symbian Foundation.

  • 8/9/2019 Building Communities.v5

    17/42

    To build a vibrant community you need...

    17

    Vision / Goal

    Motivation / Need

    Momentum

    Good Environment

    Make $$$s

    Opportunity

    Personal belief(passion)

    Learning

    Documentation

    Expectation setting

    As a newcomer, can I get started easily? Is there a friendly atmosphere?

    What is mycommunity tryingto achieve?

    Is stuffhappening?

    Good Leadership Is somebody building,

    leading, motivating andguiding the community?

  • 8/9/2019 Building Communities.v5

    18/42

  • 8/9/2019 Building Communities.v5

    19/42

    Motivation: why companies contribute code?

    Copyright 2009 Symbian Foundation. 19

    Companies and individuals contribute to satisfy aselfish NEED

    Reduce cost:

    Avoid re-applying defect fixes onto different releases

    Avoid branching (and associated costs)

    Enable other business:

    Add APIs/Frameworks that enable a service or a product that is sold

    Add enablers or a to a platform

    Protect investment:

    Establish your software as de-facto standard before somebody else does

    Gain and maintain influence over software that is critical to the business

    Opportunity to gain an advantage

    E.g. professional services companies owning a package

    Legal reasons: copy-left

    Understanding these NEEDs is one of the keys to getting contributions Often companies are looking to project leads/package owners for advice !

    Understanding these NEEDs helps convince companies to contribute !

  • 8/9/2019 Building Communities.v5

    20/42

    Motivation / NEEDs of Individuals

    Passion / Conviction

    E.g. I believe in free software and want to make a difference(Software Freedom Fighters)

    Getting my code used by many people(= get my code into the MCL)

    Kudos / recognition / stardom

    Make my life easier

    solve an annoyance that I can solve because of open source(Homescreen backporting)

    Learn something

    Improve future job prospects

    20

  • 8/9/2019 Building Communities.v5

    21/42

    Welcome!

    21

    Exercise 2

  • 8/9/2019 Building Communities.v5

    22/42

    Three steps to get contributions

    Copyright 2009 Symbian Foundation. 22

    Package Owner Portal

    (Useful resources for Package Owners)

    http://developer.symbian.org/wiki/index.php/Category:Package_Ownershttp://developer.symbian.org/wiki/index.php/Committershttp://developer.symbian.org/wiki/index.php/Category:Package_Owners
  • 8/9/2019 Building Communities.v5

    23/42

    Copyright 2009 Symbian Foundation. 23

    Three steps to get Contributions Step 1: Create the right Environment

    Good information about your package: help people get started and

    set expectations

    Vision: tell the community what you need

    Tips and tricks re: behavior and momentum

    Step 2: Evangelize your technology create Buzz

    Online media such as blogs, etc.

    Events, talks, meetings, etc.

    Step 3: Actively recruit contributors This is pretty difficult and requires practice and building experience

    A supportive package team, whereseveral team members play a role,makes a big difference

    Not an easy job! The foundation can help with 2 & 3

  • 8/9/2019 Building Communities.v5

    24/42

    Step 1: Good Information = Presence

    Copyright 2009 Symbian Foundation.

    Presenceis importantfor companies& people whowant tocontribute

    Ask yourself how futurecontributors find out about your

    package ? Landing Page, Wikis

    Backlogs & TODO List

    Vision

    Ask yourself how futurecontributors get first in touch with

    you ? Mailing lists

    Forums

    Bugzilla

    Can a newcomer get startedeasily?

    Have I explained what anewcomer can expect?

    Lack of information = Not being present

    = No contributions

  • 8/9/2019 Building Communities.v5

    25/42

  • 8/9/2019 Building Communities.v5

    26/42

    Momentum

    Nothing appears to happen in the project / package

    A contributor is likely be scared off(a bit like: I want to be friends with a popular guy vs. a loner)

    How is momentum perceived

    Public channels: activity on mailing list & forum

    Activity in the code repository Bugzilla activity

    Other on-line presence: IRC, twitter, blog, news section in Wiki

    Momentum can be engineered

    Get your team to use the public channels (instead of e-mail)

    Develop and discuss what you can in the open

    26

    Nothing is happening = lack of momentum= I dont want to be the first!

    Lack of responsiveness = bad first impression= impacts interaction

  • 8/9/2019 Building Communities.v5

    27/42

    Avoid Misunderstandings

    Contributor proposes a fix

    Package owner responds quickly(really a good thing), BUT he says:

    Thanks for the proposal. However, the fix is not exactly

    correct so I will fix this myself(no real explanation why contribution is rejected)

    Private e-mail discussion ensues(should be public)

    Contributor complains on mailing list and threatensto disengage

    Initially, no response frompackage

  • 8/9/2019 Building Communities.v5

    28/42

    Some tricks regarding communicating

    Introductions and communication

    Introduce new community members(e.g. Committers, contributors) on mailing lists or your blogOR ask these people to introduce themselves

    Encourage people sending e-mail to use your mailing lists

    Thanking Thank people who raise a bug, provide a patch, etc. on your

    mailing list

    Respond

    Sometimes you wont have time to respond immediately Thats OK, but respond and say I cant do this now, but will

    get back to you in 2 weeks. Remind me if I have not done so!

    Give feedback

    If for technical reasons you cant handle a contribution at the

    moment explain why

  • 8/9/2019 Building Communities.v5

    29/42

    Relationships are Key

    Copyright 2009 Symbian Foundation. 29

    Meet face to face

    Combine with events and already planned travel

    Always build in a social element: lunchesclubs, beers, dinners, stammtisch, etc.

    Especially if you have a community already

    IF you can make your community a friendlyplace, where people's opinions are takenseriously and are acted upon, THENindividualswill work harder to convince their management tostay engaged with your package and make more

    contributions. IF it is NOT a friendly place, withno trust and respect built, they may contributesomething and then move on.

  • 8/9/2019 Building Communities.v5

    30/42

    Step 1: codified in the Best Practices

    http://developer.symbian.org/wiki/index.php/

    Package_owner_best_practice

    Contains

    Values

    Responsibilities

    Examples of Good vs. Bad behaviour (based on real examples) Rights

    30

    Read the documentGive us feedback

    http://developer.symbian.org/wiki/index.php/Package_owner_best_practicehttp://developer.symbian.org/wiki/index.php/Package_owner_best_practicehttp://developer.symbian.org/wiki/index.php/Package_owner_best_practicehttp://developer.symbian.org/wiki/index.php/Package_owner_best_practicehttp://developer.symbian.org/wiki/index.php/Package_owner_best_practice
  • 8/9/2019 Building Communities.v5

    31/42

    Step 2: Evangelize your Technology

    Copyright 2009 Symbian Foundation. 31

    Evangelizing gets you noticed by potential contributors

    Every open source community evangelizes Not doing so puts you at a disadvantage

    Creates potential connections that can lead to contributions

    Examples:

    Chris Duddings Blog on Planet Symbian

    Chandradeep Gandhis Blog on Planet Symbian

    Getting to know the packages... on the Symbian Blog

    Channels:

    Your or your teams blog

    Magnified through planet.symbian.org

    Getting to know the packages blog series

    Host Community events (e.g. Stammtisch)

    Conferences (see our Event Calendar)

    Talks & Panels

    Host Bird of a Feather sessions

    Go to local Hackatons

    Being presentis not enough!Presence only getsyou noticed bythose looking

    for you!

    http://cdudding.wordpress.com/http://planet.symbian.org/http://cgandhi.wordpress.com/http://planet.symbian.org/http://blog.symbian.org/category/community/http://planet.symbian.org/http://developer.symbian.org/wiki/index.php/Symbian_Stammtischhttp://developer.symbian.org/wiki/index.php/Calendar:Community_Eventshttp://developer.symbian.org/wiki/index.php/Calendar:Community_Eventshttp://developer.symbian.org/wiki/index.php/Symbian_Stammtischhttp://planet.symbian.org/http://blog.symbian.org/category/community/http://planet.symbian.org/http://cgandhi.wordpress.com/http://planet.symbian.org/http://cdudding.wordpress.com/
  • 8/9/2019 Building Communities.v5

    32/42

  • 8/9/2019 Building Communities.v5

    33/42

    Welcome!

    33

    Exercise 3

  • 8/9/2019 Building Communities.v5

    34/42

    Copyright 2009 Symbian Foundation. 34

    Now to the REALLY

    hard part

    Step 3: Activelyrecruit contributors

  • 8/9/2019 Building Communities.v5

    35/42

    Members 2009

  • 8/9/2019 Building Communities.v5

    36/42

    Using and making Industry Contacts

    Copyright 2009 Symbian Foundation. 36

    Initially use existing contacts that you and your team has.

    You probably know them already on a personal level Thus, you will feel more comfortable having a discussion

    They will be more friendly

    Ways how to leverage existing contacts:

    Network with people in Nokia who have open source experience

    Discussions on how your contacts might benefit from contributing

    (e.g. practice with friendly suppliers and partners) Other team members contacts, e.g. product & line managers, etc.

    (get introductions, involve them, get their advice, etc.)

    Companies that work with other open source projects

    You can learn about their motivation (NEED)

    Often they like talking about what they are doing and why

    Be aware of the competitive landscape

    makes it easier to know whom to approach

    makes it easier to point out contribution opportunities

    Talk to your competitors (e.g. at conferences)

    BUT: align and keep in touch with your managers

    http://developer.symbian.org/wiki/index.php/Building_a_community_for_a_packagehttp://developer.symbian.org/wiki/index.php/Building_a_community_for_a_package
  • 8/9/2019 Building Communities.v5

    37/42

    Copyright 2009 Symbian Foundation. 37

    Asking

    companies for contributions

    is NEVER enough. Companies

    and individuals contribute

    for a reason (a NEED). Ask yourself:

    What is theincentive for

    companies tohelp you?

    If there is no incentive, therewill be no contribution.

    Where is the NEED?

  • 8/9/2019 Building Communities.v5

    38/42

    NEEDs for features createsOPPORTUNITY for contributors

    Copyright 2009 Symbian Foundation. 38

    Gaps in the platform + products built on top of it = NEED

    Example: the IXONOS single tap contribution

    Sharing plans to fill a gap too early can destroy a NEED

    Not sharing plans erodes confidence in your package

    Bridges to 3rd party products and services = NEED

    Example: peripherals, Baseports, connectors to service APIs convergence

    creates many of these

    Motivation: more sales for the 3rd party

    Apps exploiting cutting edge technology = NEED

    Example: Augmented Reality Apps may benefit from an AR framework

    Motivation: save cost & influence what the framework looks like

    Professional services companies may have very different NEEDs, e.g.

    track record to show their work, to get them more business

    Patterns for NEEDs will differ depending on technology

    You will need to learn through experience

  • 8/9/2019 Building Communities.v5

    39/42

    Other Tactics

    Copyright 2009 Symbian Foundation. 39

    The best one is to be able to explain a NEED to a contributor

    BUT remember: if you explain to an engineer, he will have to talk to

    his managers first

    Advertise NEEDs on your blog, on the package Wiki (Hot Bugs =Attention_Required keyword), during face to face meetings.

    BUT: but don't be desperate about it

    AND contributions still need to fulfil quality, architectural, etc.

    standards so dont take any contribution just because it satisfies aNEED

    Sometimes you can create a NEED

    By developing & publishing a proof of concept to a FCL

    Evangelizing what you have done (on blogs, etc.)

    This has been shown to work (but will not always work)

    Foundation staff can help identify NEEDs

    Check the IDEAS site (ideas.symbian.org)

  • 8/9/2019 Building Communities.v5

    40/42

    Make use of the Foundation

    Copyright 2009 Symbian Foundation.40

    Foundation staff have a network of connections In particular Technology Managers, Community

    Managers and our membership team

    Bounce ideas and problems past them

    Get introductions

    Foundation staff can help identify NEEDs

    If you approach a company

    Keep your technology manager informed(builds trust)

    If you need advice, just ask

  • 8/9/2019 Building Communities.v5

    41/42

    You SHOULD read ...

    The Art of Community

    By Jono Bacon

    http://www.artofcommunityonline.org/

    Interesting and relevant

    Chapter 1 (What is Community). Chapter 2 (Planning), Chapter 6(Communicating), 7 (Measuring Success)

    & 9 (Handling Conflict) Free on-line version

    41

    Focuses on how to attractindividuals to a community

    But also on generaldifficulties, recipes, etc. Onbuilding communities

    http://www.artofcommunityonline.org/http://www.artofcommunityonline.org/downloads/jonobacon-theartofcommunity-1ed.pdfhttp://www.artofcommunityonline.org/downloads/jonobacon-theartofcommunity-1ed.pdfhttp://www.artofcommunityonline.org/downloads/jonobacon-theartofcommunity-1ed.pdfhttp://www.artofcommunityonline.org/downloads/jonobacon-theartofcommunity-1ed.pdfhttp://www.artofcommunityonline.org/
  • 8/9/2019 Building Communities.v5

    42/42

    Welcome!Make a pledge