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 where appropriate share tools and mental models that help you make the right decisions for your project.
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
LCNA14: How to run a Collaborative Project
1. Lars Kurth
Community Manger, Xen Project
Chairman, Xen Project Advisory Board
Director, Open Source Business Office, Citrix lars_kurth
2. Was a contributor to various projects
Worked in parallel computing, tools,
mobile and now virtualization
Community guy at Symbian Foundation
Learned how NOT to do stuff
Community guy for the Xen Project
Working for Citrix
Member of OSS Business Office
Accountable to Xen Project Advisory Board
Chairman of Xen Project Advisory Board
4. 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
5. 50% of all enterprises adopt OSS
software
Julian Manson @ Flickr
6. 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 @ Flickr
toffehoff @ Flickr
14. 2001: Open Sourced by IBM
2001 – 2003: Growth from 8 to 80
consortia members
2006: Callisto
10 projects, 260 committers
2004: Eclipse Foundation
2011: 10th Birthday
273 projects, 1057 committers,
50+ MLOC, 174 members
(see bit.do/Eclipse-10)
More projects/products/users,
improved process, improved
option value/modularity, …
…
17. Bruce Schneier
Internationally renowned security Technologist
@Bruce_Schneier
Catastrophic is the right word
[for Heartbleed]. On the scale
of 1 to 10, this is an 11.
18.
19. Source: Ohloh.net
Growing Codebase
Static and small contributor base
1 person maintaining 100 KLoC =
Underinvestment
Extremely large user base
Critical infrastructure component
Thus impact of Heartbleed is huge
25. Neutrality / Perception
Support Infrastructure
Expertise / Mentoring
Vendor Network
…
BUT: You still need to do
all the right things
26.
27. Create a balanced Flywheel
OSS Foundations can help
Master different skills
Vinovyn @ Flickr
28. Follow Industry News
Follow Project News
Adopt Software
Engage with Users
Trial Software
Engage with Industry
Evangelize
Contribute
Customize
Lead
Activities
Metrics
Problem
29. Community is expanding fast
Companies can’t find staff
Potential of slowing growth
Potential of loosing new vendors
Poaching
Friction
Problem
Tim J Keegan @ Flickr
30. Training:
Expensive to create
Does not normally scale
bit.do/grow-devs
You don’t need training…
Good and active dev wiki
In code API docs
Recorded developer talks
Extensive commit messages
Design discussions on the list
(linked to in commit message)
Willingness to help newcomers
(mentors)
...
31. Orgs need to apply
(we did not always get in)
Students only, summer only
Orgs 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 projects
Not so much about the code = it’s an investment in people
Metrics
Approx. 40% still engaged after 3 years
Repeat mentors, more people willing to mentor
32. 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
33. Short term fixes
(documentation/guidance : set expectations)
(better co-ordination for amongst reviewers)
Grow reviewer base by identifying capable candidates in the community
(support + encourage + reward : bit.do/let-them-be-your-heroes)
Get backing from vendors to ensure candidates stay engaged in community
(if vendor employee)
Mentor candidates to get them effective more quickly than normal
(copy the GSoC / OPW pattern)
Still discussing how to do this (at a BoF yesterday and the dev meeting today)
No guarantee this works!!!
48. Xen Project Advisory Board trying
to push a preferred test harness
over community solution
Paralysis: no new test code
written
Delay of roll-out of independently
hosted Test Farm
Risk of Test Farm not being
adopted
• Working group jointly led by community and Advisory Board
• Group resolved the issue
49. Vendor trying to use private
channels to Citrix Xen Project
maintainers to get an edge
Committers needed the vendor
help to progress their goals
Vendor trying to get more and
more
Potential of lack of trust in our
Xen Project maintainers
• A rather difficult conversation
• Vendor starting to follow community practices and additionally donating
(non-developer) resources to the project
52. Vendors wants to promote
project at events (swag, booth,
collateral, …)
Tedious approval process
for every single instance
• PMC approval
• VP of Trademark approval
(bottleneck)
Frustrated vendors
Frustrated community
• Simplify process for common situations
• Proposal at bit.do/PMC-TM-management
53.
54. CommunityCompanies
• 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
55.
56. Clear Rules and Responsibilities
Remove tension
Create trust
Works best when aligned with Flywheel
Business friendly Rules
Simple and Easy
Enables businesses to help the community
Effect: Community sees value in company
participation
Vinovyn @ Flickr
Love to travel to weird places and grow weird plants
10 years =stories to tell
Munich, London, LA
TIMING: 7 MINS
Inspired by the Bezos Flywheel which “explains how to attract ever more sales in an online store”
Mention: Core Infrastructure Initiative
The reason for these issues is often an imbalanced or broken cycle
In the case of the Xen Project, we also had an imbalanced cycle, and I spent the last 4 years at the project fixing this.
TIMING: 15 MINS
10 years ago, putting the code out there was usually enough to be successful!
Today we have a lot of new challenges
This is not true any more, because we hit resource limits
This story is about change : so let’s start with how OSS changed
Example:
# Apache main strength is the “Apache Way” of building communities
# One of the LFs main strength is the mix of commercial focus and marketing capabilities
Link back to Jim Zemlin’s keynote about the rise of OSS foundations
TIMING: 20 MINS
#1 Inspired by Sales Funnels : conversion of leads from media interest to users to developers/companies
Effectiveness determined by shape of funnel
#2 The shape can be manipulated by activities (e.g. Test Days) and external events (e.g. what the competition does)
#3 Don’t have time to go through this in detail, but there is a blog post and presentation with a case study explaining it
TIMING: 22 MINS
Maybe even link back to presentations given at events
Word of mouth => 60% of our joint GSoC and OPW participants being women
Mentoring does imply that existing maintainers and reviewers spend more time
TIMING: 30 MINUTES
TIMING: 35 MINUTES
Marketing vs. Community & Developer Driven
Do you remember that lesson?
CLICK … in the areas they do well
Unfortunately that is easier said than done
---
CLICK: because in practice there is often tension when one tries to do this
CLICK: they have different reasons for participating
---
BUT: the common interest for
both companies and people mostly participate for their own selfish interests
In other words: it’s unfair to say the interests of companies vs. those of people are better or worse than the others
---
And of course that tension is manageableAnd some (!) OSS foundations are very good in helping manage that tension
TIMING: 38 MINUTES
Responsibility in the sense of who should and is allowed to do what
The root cause was that we had no proven mechanism for companies and the community to work together
NOTE: I also used the conversation to ask for stuff from the vendor (such as donating of HW, …) – and now I am usually setting expectations upfront
Common thread to these stories …
No bad intentions in any of them
Companies and people will always try and push boundaries (in particular when they are fuzzy) to follow their self-interest
TIMING: 42 MINUTES
TIMING: 40 MINS
Cross-over of people, e.g. committers and maintainers on board and WG groups
Apache, Commercial Projects, …
TIMING: 45 MINUTES
TIMING: 34 MINUTES
In other words : why not let companies contribute expertise which they have rather than doing it all yourself