LCEU14: How to run a Collaborative Project - Lars Kurth

Post on 27-Nov-2014

280 views 2 download

Tags:

description

Collaborative development is at the core of successful open source projects. Yet to be successful in today's competitive open source world, it is increasingly important to master many different disciplines and to develop an edge. In this talk we will cover a wide range of topics relevant to developers and members of open source communities who want to increase participation in their projects. Topics range from growing your developer base (e.g. by participation in GSoC, OPW and similar programs), rewarding participation, projecting momentum in the media and press, coercing large companies into contributing more and in different ways to your project, running community initiatives successfully and measuring success. We will use real-life examples and share tools and mental models (e.g. open source flywheel and funnels) that help you make the right decisions for your project.

Transcript of LCEU14: How to run a Collaborative Project - Lars Kurth

How to run a Collaborative Project

Lars KurthCommunity Manger, Xen ProjectChairman, Xen Project Advisory BoardDirector, Open Source Business Office, Citrix lars_kurth

About Me

Was a contributor to various projects

Worked in parallel computing, tools, mobile and now virtualization

Community guy at Symbian FoundationLearned how NOT to do stuff

Community guy for the Xen ProjectWorking for CitrixMember of OSS Business OfficeAccountable to Xen Project Advisory BoardChairman of Xen Project Advisory Board

A few Quite Interesting facts ……about Open Source

Source: The 2014 Future of Open Source Survey Result

A few Quite Interesting facts …

The # of Projects is growing rapidly

2007: 0.2M projects

Today: 1.0M projects, 100Billion LOC, 10M contributors

2015: 1.8M projects

John Morgan @ Flickr Simon & His Camera @ Flickr

Kumar Appaiah @ Flickr

A few Quite Interesting facts …

50% of all enterprises adopt OSS software

Julian Manson @ Flickr

A few Quite Interesting facts …

30% of companies make it easy for employees to contribute to projects

Influencing a project’s direction is one of the main reason for contributing

Nick @ Flickrtoffehoff @ Flickr

Theory:Open Source Flywheel

Development ActivityProduct andExperience

Users

Tools, Process, CultureOption Value[1], Modularity

Contributions, Reviews,Problem Solving, Leadership

Features, Quality3rd Party Integrations

Feedback, Engagement Trust, Passion

[1] bit.do/optionvalue

Open Source Development Model

Development ActivityProduct andExperience

Users Open Source Development Model

Development ActivityProduct andExperience

Users

Lower development costLower deployment cost and risk

More

BetterMore

CommunityGrowth

Open Source Development ModelMore business opportunities

and momentum

Open Source Development Model

Development ActivityProduct andExperience

Users

Lower development costLower deployment cost and risk

More

BetterMore

CommunityGrowth

More business opportunities and momentum

Open Source Development Model

Development ActivityProduct andExperience

Users

More efficiency andinnovation

Lower development costLower deployment cost and risk

More

Better

Better

More

CommunityGrowth

More business opportunities and momentum

Flywheel Example: Eclipse

2001: Open Sourced by IBM2001 – 2003: Growth from 8 to 80 consortia members

2006: Callisto10 projects, 260 committers

2004: Eclipse Foundation

2011: 10th Birthday273 projects, 1057 committers,50+ MLOC, 174 members(see bit.do/Eclipse-10)

More projects/products/users, improved process, improved option value/modularity, …

War Stories:Tragedy of the Commons(sort of)

Moyan Brenn @ Flickr

snoopsmouse @ Flickr

Bruce SchneierInternationally renowned security Technologist

@Bruce_Schneier

Catastrophic is the right word [for Heartbleed]. On the scale of 1 to 10, this is an 11.

So what happened and why?

OpenSSL Stats

Source: Ohloh.net

Growing Codebase

Static and small contributor base1 person maintaining 100 KLoC = Underinvestment

Extremely large user baseCritical infrastructure componentThus impact of Heartbleed is huge

Large user base did not translate into developer community growth

Open Source Development Model

Development Activity

Product andExperience

Users

Imbalanced Cycle

And the root cause?

More Competition amongst projects for finite

resources and attention

snoopsmouse @ Flickr

Massively multi-player beauty Contest

Features

How many users you have

How many vendors back you

How you are seen in the press

Communities must excel in

many disciplines

Open Source Foundationscan help you succeed

OSS Foundation = Magnify Impact

Neutrality / Perception

Support Infrastructure

Expertise / Mentoring

Vendor Network

BUT: You still need to do all the right things

Different OSS Foundations

Different strengths

Lesson for Community LeadersCreate a balanced FlywheelOSS Foundations can helpMaster different skills

Vinovyn @ Flickr

Follow Industry News

Follow Project News

Adopt Software

Engage with Users

Trial Software

Engage with Industry

Evangelize

Contribute

Customize

Lead

Community FunnelSee bit.do/Community-FunnelSee bit.do/LinuxConEU13

Activities

Metrics

Problem

Community is expanding fast

Companies can’t find staff

Potential of slowing growthPotential of loosing new vendorsPoachingFriction

Problem

Tim J Keegan @ Flickr

Solution: “Grow” DevelopersTraining:

Expensive to create

Does not normally scale(unless your project is huge)

bit.do/grow-devs

You don’t need training…

Good and active dev wikiIn code API docsRecorded developer talks

Extensive commit messagesDesign discussions on the list(linked to in commit message)

Willingness to help newcomers(mentors)...

GSoCOrgs need to apply(we did not always get in)

Students only, summer only

OPWOrgs and companies can sponsor slots

Interns, summer and winter

Good mentors = word of mouth

Committed mentors (who can spend a few hours a week) Suitable projectsNot so much about the code = it’s an investment in people

MetricsApprox. 40% still engaged after 3 yearsRepeat mentors, more people willing to mentor

30% Community Growth p.a.

Contributors competing for review time from stretched maintainer / reviewer base

Average review time up from 28 to 32 days in 6 months

Problem

Short term fixes(documentation/guidance : set expectations)(better co-ordination for amongst reviewers)(focus more on designs to save time)

Grow reviewer base by identifying capable candidates in the community(support + encourage + reward : bit.do/let-them-be-your-heroes)

Mentor candidates to get them effective more quickly than normal(copy the GSoC / OPW pattern)

Get backing from vendors to ensure candidates stay engaged in community(if vendor employee)(existing community members don’t want to waste their time on someone who will dissappear)

Activities

Problem

Metrics

Projecting Momentum is Key

ActivitiesMetrics

Problem

Projecting Momentum is Key

Media

IndustryMedia Coverage

Social Media Impact

Projecting Momentum is Key

Media

Industry

Users

User & Web Metrics

Features / Releases

Projecting Momentum is Key

Community Metricsbit.do/oss-metrics

bit.do/oss-commercial-dashboards

Contributors

Media

Industry

Users

Projecting Momentum is Key

Are you helpingyour employer

by contributing tothe project?

Employer

Contributors

Media

Industry

Users

Projecting Momentum is Key

Are you spendingyour funds wisely?

bit.do/community-plan

Employer

Board

Contributors

Media

Industry

Users

Funnel + Flywheel

Open Source Strategy /Community Plan

bit.do/sample_community_plan

Some Examples from my work:

bit.do/xenproject-sample-report-1bit.do/xenproject-sample-report-2

There is no single solution thatautomatically gets you all your data

RE-USE Data fordifferent stake-holders!!!

Theory:Open Source Flywheelrevisited

The boundary between Business and Communities

Open Source Development Model

Development Activity

Product andExperience

Users

Developerled

Marketing and PR led

Open Source Development Model

Development Activity

Product andExperience

Users

Companystrengths

Communitystrengths

Create a balanced FlywheelOSS Foundations can helpMaster many different skills

Vinovyn @ Flickr

Get Companies to help you

Community

CompaniesPeople

Value

War Stories:Undefined Responsibilitiescause problems

Moyan Brenn @ Flickr

Example 1: Meddling

Xen Project Advisory Board trying to push a preferred test harnessover community solution

Paralysis: no new test codewritten

Delay of roll-out of independently hosted Test Farm

Risk of Test Farm not beingadopted

Solution:

• Working group jointly led by community and Advisory Board• Group resolved the issue

Example 2: Pushing Boundaries

Vendor trying to use private channels to Citrix Xen Project maintainers to get an edge

Committers needed the vendorhelp to progress their goals

Vendor trying to get more and more

Potential of lack of trust in ourXen Project maintainers

Solution:

• A rather difficult conversation• Vendor starting to follow community practices and additionally donating

(non-developer) resources to the project

Undefined / Unclear / Misunderstood / Unenforced

Rules & Responsibilities

Create Pain & Erode Trust

War Stories:Tedious and Business Unfriendly Rules

Moyan Brenn @ Flickr

ASF Trademark Management

Vendors wants to promoteproject at events (swag, booth,collateral, …)

Tedious approval process for every single instance• PMC approval• VP of Trademark approval

(bottleneck)

Frustrated vendorsFrustrated community

Solution:

• Simplify process for common situations• Proposal at bit.do/PMC-TM-management 

Tedious and arduousprocesses

Makes it hard forcompanies to help out

Frustration & Tension

CommunityCompanies

Governance: Xen Project

•PR / AR / Marketing / Messaging

•Membership Rules / Trademarks / Legal

•Provide funds to solve “Common Good” problems

•Referee of last resort

•Principles (aka Values)

•Roles

•Decision Making

•Project Lifecycle

•Community Initiatives, Best Practices, …

Advisory Board WGs Project Governance

Test WG

PR WG

TCT

Community

CompaniesAdvisory Board WGs Project Governance

Development and code

Marketing and PR

Lessons:Clear Rules and ResponsibilitiesRemove tensionCreate trustWorks best when aligned with Flywheel

Business friendly RulesSimple and EasyEnables businesses to help the community

Effect: Community sees value in company participation

Vinovyn @ Flickr

Final Thoughts

Vinovyn @ Flickr

Running OSS projects well is getting increasinglyDifficult

Maria Ly @ Flickr

Successful projects perform some functions

similar to

successful companies

With the right Rules there is potential for Symbiosis

Tchami @ Flickr

Tensions between Companiesand Community can leadto Innovation

Never forget that open sourceand community are aboutPEOPLE

Thank You!Please rate the talk

www.slideshare.net/xen_com_mgr/