You are on page 1of 42

Building Communities

Aimed at Package Teams


May 2010

 The big picture


(in case you forgot)
 What motivates
contributors &
volunteers
 Three steps to get
contributions
Before we start …

Choose a work
partner, form a
group

Copyright © 2009 Symbian Foundation. 2


Welcome!
Exercise 1

3
Roles in the Community

Package Owners
YOU!!! The guardians/owners
of the code in a package

People who Individuals that are trusted to


CAN do work Committers have write access to the code
for YOU!
Individuals & companies that
provide code, raise bugs, help
Contributors with documentation,
are active on forums, etc.

Prerequisite: ANYBODY WHO IS


NEED to
participate
INTERESTED IN THE CODE
The Big Picture : Need to Participate

Contributions
to Symbian

Devices

Applications &
Community

Consumer
Demand

5
The Big Picture : Need to Participate

Contributions
to Symbian

Symbian
Devices

Applications &
Community

Consumer
Demand

6
The Big Picture : Need to Participate

Contributions
to Symbian

Symbian
Devices

Applications &
Community

Consumer
Demand

7
The Big Picture : Need to Participate

Contributions
to Symbian

Symbian
Devices

Applications &
Community

Consumer
Demand

8
The Big Picture : Need to Participate

Contributions
to Symbian

Symbian
Devices

Applications &
Community

Consumer
Demand

Create NEEDs
to participate
& contribute

9
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 source CAN create a vibrant eco-system
 more NEED to contribute  even more contributions
Copyright © 2009 Symbian Foundation. 10
Owning a package is not free!!
 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 Wiki’s,
backlogs, bugzilla, etc.
 Negotiating with internal stake-holders (within and outside
their 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
11 Copyright © 2009 Symbian Foundation.
Contributions don’t just come
 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 can’t do it
alone

 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

Copyright © 2009 Symbian Foundation. 12


So, what does this mean?

Put in enough =
Put in little Get contributions
 Few contributions  Contributions offset the Open
 Little to offset the Open Source Tax
Source Tax  can also help reduce risk!
 Development has just  can lead to better technical
become solutions (different
viewpoints make better use-
 more complex cases)
 more expensive
 Development has become
 … for no return cheaper
 but not necessarily simpler !
 Your team can focus on
features that differentiate

Copyright © 2009 Symbian Foundation. 13


Example: Organizer package

Sharad, the organizer


package worked
with SUN to add CalDav
support to the calendar app.

SUN has NOW a committer


on the package Sharad
(Max Odendahl) put a lot of
effort working
with Max

Max, the committer has been


VERY active at SEE 2009
The SUN feature will be
used by Nokia

Copyright © 2009 Symbian Foundation. 14


Momentum is Building …
 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

Copyright © 2009 Symbian Foundation. 15


What motivates Contributors & Volunteers

Copyright © 2009 Symbian Foundation.


To build a vibrant community you need...
 Is somebody building,
Good Leadership leading, motivating and
guiding the community?

 Documentation
 Expectation setting
Good Environment  As a newcomer, can I get started easily?
 Is there a friendly atmosphere?

 What is my
Momentum Vision / Goal community trying
to achieve?

 Is stuff
happening?  Make $$$s
 Opportunity
Motivation / Need  Personal belief
(passion)
 Learning
17  …
Vision / Goal
 A “minimum vision” of open source project:
 A statement what a package (= project) is about
 A backlog (what is already being done)
 A TODO list (what needs t be done)

 Successful projects have easy to understand visions


 Wild ducks: build your own phone with hardware < $150
 Eclipse CDT: provide building blocks to build your own C++ IDE
 Apache HTTP: develop and maintain an open-source HTTP server
for modern operating systems & be the most popular web server
on the internet

 Technologies that people understand intuitively often speak for


themselves
 Homescreen
 Kernel

18
Motivation: why companies contribute code?
 Companies and individuals contribute to satisfy a selfish 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 !

Copyright © 2009 Symbian Foundation. 19


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
Welcome!
Exercise 2

21
Three steps to get contributions

Package Owner Portal


(Useful resources for Package Owners)

Copyright © 2009 Symbian Foundation. 22


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, where


several team members play a role,
makes a big difference
• Not an easy job!
• The foundation can help with 2 & 3

Copyright © 2009 Symbian Foundation. 23


Step 1: Good Information = Presence
 Ask yourself how future
contributors find out about your
package ?
 Landing Page, Wiki’s
Backlogs & TODO List
Presence

 Vision
is important
for companies  Ask yourself how future
& people who contributors get first in touch with
want to you ?
contribute  Mailing lists
 Forums
 Bugzilla

 Can a “newcomer” get started


easily?
 Have I explained what a
“newcomer” can expect?

Lack of information = Not being present


= No contributions
Copyright © 2009 Symbian Foundation.
Vision / Goal
 You should have at least
 A statement what a package (= project) is about
 Describe the technology briefly
 Use language that can be understood without being a domain expert
 2-3 high level goals are always good
 If you actively seek to build a community, say it

 A backlog showing what the package (and its community) are


already doing

 A TODO list (does not have to be too long)


 Up-to-date & easy to find on the Wiki
 Contains some easy to do items
 Contains some more challenging & interesting items

25
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

Nothing is happening = lack of momentum


= I don’t want to be the first!
Lack of responsiveness = bad first impression
26
= impacts interaction
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 threatens


to disengage
Initially, no response from
package
Some tricks regarding communicating
Introductions and communication
 Introduce new community members
(e.g. Committers, contributors) on mailing lists or your blog
OR 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 won’t have time to respond immediately
 That’s OK, but respond and say “I can’t 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 can’t handle a contribution at the
moment explain why
Relationships are Key

IF you can make your community a friendly


place, where people's opinions are taken
seriously and are acted upon, THEN individuals
will work harder to convince their management to
stay engaged with your package and make more
contributions. IF it is NOT a friendly place, with
no trust and respect built, they may contribute
something and then move on.

 Meet face to face …


 Combine with events and already planned travel
 Always build in a social element: lunches
clubs, beers, dinners, stammtisch, etc.
 Especially if you have a community already

Copyright © 2009 Symbian Foundation. 29


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

Read the document


Give us feedback

30
Step 2: Evangelize your Technology
 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 Dudding’s Blog on Planet Symbian
 Chandradeep Gandhi’s Blog on Planet Symbian
 Getting to know the packages... on the Symbian Blog

 Channels:
 Your or your team’s blog
 Magnified through planet.symbian.org
 Getting to know the packages blog series
 Host Community events (e.g. Stammtisch)
Being present
 Conferences (see our Event Calendar) is not enough!
Talks & Panels

Presence only gets
 Host Bird of a Feather sessions you noticed by
 Go to local Hackatons those looking
for you!
Copyright © 2009 Symbian Foundation. 31
By the way: you
can get help!

Nominate
COMMITTERS

Useful resources on Committers


1. What is a Committer? How is one selected?
2. Tell us who is committer
3. Committer Portal: info for committers

Copyright © 2009 Symbian Foundation. 32


Welcome!
Exercise 3

33
Now to the REALLY
hard part …

Step 3: Actively
recruit contributors

Copyright © 2009 Symbian Foundation. 34


Members 2009
Using and making Industry Contacts
 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

Copyright © 2009 Symbian Foundation. 36


Where is the NEED?

Asking
companies for contributions
is NEVER enough. Companies
and individuals contribute
for a reason (a NEED). Ask yourself:
What is the
incentive for
companies to
help you?

If there is no incentive, there


will be no contribution.

Copyright © 2009 Symbian Foundation. 37


NEEDs for features creates
OPPORTUNITY for contributors
 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
Copyright © 2009 Symbian Foundation. 38
Other Tactics …
 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 don’t take any contribution just because it satisfies a
NEED
 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)

Copyright © 2009 Symbian Foundation. 39


Make use of the Foundation
 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

40 Copyright © 2009 Symbian Foundation.


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

Focuses on how to attract


individuals to a community

But also on general


difficulties, recipes, etc. On
building communities

41
Welcome!
Make a pledge

42

You might also like