lceu14: how to run a collaborative project - lars kurth
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
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/