SlideShare a Scribd company logo
©2010 CloudBees, Inc. All Rights
Reserved
©2010 CloudBees, Inc. All Rights
Reserved
Creating a Developer Community
Kohsuke Kawaguchi
Architect, CloudBees, Inc.
©2010 CloudBees, Inc. All Rights
Reserved
2©2010 CloudBees, Inc. All Rights
Reserved
What is Jenkins?
• Server app for developers
– Called “Continuous Integration server”
• Extensible via plugins
• Easy to get started & configure
jenkins-ci.org
©2010 CloudBees, Inc. All Rights
Reserved
3©2010 CloudBees, Inc. All Rights
Reserved
Jenkins, by the numbers
• 2004 Started as a hobby project
• 2006 2nd committer join the project
• 2008 Jenkins became my day job
• 2012
– 450 releases
– 450+ plugins
– 300+ developers
– 27K installations, 500K users(?)
©2010 CloudBees, Inc. All Rights
Reserved
4©2010 CloudBees, Inc. All Rights
Reserved
Hence my talk today
• How to create a developer community?
– Without any significant resources
• I think I have some recipes to share
– Tried & proven in multiple projects
©2010 CloudBees, Inc. All Rights
Reserved
5©2010 CloudBees, Inc. All Rights
Reserved
Models of OSS projects
• Company-sponsored (JBoss, Spring, etc)
– Dominated by a single entity
– User community, yes, but developer
community?
• Foundation (Apache, Eclipse, etc.)
– Established existing culture, brand, process
• Neither of them work for small projects
©2010 CloudBees, Inc. All Rights
Reserved
6©2010 CloudBees, Inc. All Rights
Reserved
Every developer starts as a visitor
Visitor
User
Developer
©2010 CloudBees, Inc. All Rights
Reserved
7©2010 CloudBees, Inc. All Rights
Reserved
Think about Conversion Funnel
• Visitor to user
– Download, install, initial configuration, …
• User to developer
– Obtain source code, build, run, contribute, …
• Obstacles, however little, add up quickly
• You don’t see the lost opportunities
©2010 CloudBees, Inc. All Rights
Reserved
8©2010 CloudBees, Inc. All Rights
Reserved
Download link? How hard is that…
©2010 CloudBees, Inc. All Rights
Reserved
9©2010 CloudBees, Inc. All Rights
Reserved
©2010 CloudBees, Inc. All Rights
Reserved
10©2010 CloudBees, Inc. All Rights
Reserved
But obvious it’s not…
©2010 CloudBees, Inc. All Rights
Reserved
11©2010 CloudBees, Inc. All Rights
Reserved
But obvious it’s not…
©2010 CloudBees, Inc. All Rights
Reserved
12©2010 CloudBees, Inc. All Rights
Reserved
But obvious it’s not…
©2010 CloudBees, Inc. All Rights
Reserved
13©2010 CloudBees, Inc. All Rights
Reserved
But obvious it’s not…
©2010 CloudBees, Inc. All Rights
Reserved
14©2010 CloudBees, Inc. All Rights
Reserved
What to do after download?
• Installation guide
– 31 page PDF
• Quick start guide
– 15 page PDF
©2010 CloudBees, Inc. All Rights
Reserved
15©2010 CloudBees, Inc. All Rights
Reserved
User support
• Great opportunity to convert users to
developers
– Catch them when they are willing to spend
some efforts
– Push source code in front of them
©2010 CloudBees, Inc. All Rights
Reserved
16©2010 CloudBees, Inc. All Rights
Reserved
Make them read code
• Developers tend to forget about this
• Lot can be done to improve experience
– Online browsing
– Source code cross reference
– Aggregate multiple modules
– Better documentation
©2010 CloudBees, Inc. All Rights
Reserved
17©2010 CloudBees, Inc. All Rights
Reserved
Let them hack code
• Is it obvious how to check out code?
• How to build/run/test/debug it?
• Common pitfalls
– Lots of additional pre-requisites
– Non obvious failure mode when you make
mistake
©2010 CloudBees, Inc. All Rights
Reserved
18©2010 CloudBees, Inc. All Rights
Reserved
Modularity
• Your big app needs to be split into pieces
– Pieces that are individually useful
• Why?
– Some people care about one piece but not
your big app
– Every piece reused by one developer gets
100s of users
– It’s a good software engineering anyway
©2010 CloudBees, Inc. All Rights
Reserved
19©2010 CloudBees, Inc. All Rights
Reserved
Programmability
• Every software should be a library
– Let other programs talk to your program
– There’s always a layer above you
• Every one developer building on top of
you = 100s of users
• Don’t work on the same dish
– Split the meal to multiple dishes instead
©2010 CloudBees, Inc. All Rights
Reserved
20©2010 CloudBees, Inc. All Rights
Reserved
Division of labor > Collaboration
• Collaborating on the same code is hard
– Communication is painful
– Time zones aren’t disappearing
– Difference of opinions, practices, & beliefs
– Especially so for faceless OSS collaboration
• Collaboration doesn’t scale
– Every new contributor needs your time
©2010 CloudBees, Inc. All Rights
Reserved
21©2010 CloudBees, Inc. All Rights
Reserved
Therefore, silo is a good thing
• Extensibility (aka plugins)
– e.g., Eclipse, Ant, Maven, Jenkins, …
– Requirement for building a developer
community
• Principles
– Modularity taken to its logical consequences
– Users should see seamless software
©2010 CloudBees, Inc. All Rights
Reserved
22©2010 CloudBees, Inc. All Rights
Reserved
Everyone can claim they’ve got extensibility
• Symptoms of fake extensibility
– One API for internal use, another for plugins
– There are things “core” can do that plugins
can’t
– Features from plugins look different
• Core has to live by the same rules you
impose on plugins
©2010 CloudBees, Inc. All Rights
Reserved
23©2010 CloudBees, Inc. All Rights
Reserved
It works because…
• You don’t see “crappy” code of others
• You don’t need to reject “whacky” ideas
– From time to time other people will prove
you wrong
– Encourages innovations without your making
risky bets
• It’s scalable
– New plugins have ~0 overhead to you
• People feel sense of ownership/stake
©2010 CloudBees, Inc. All Rights
Reserved
24©2010 CloudBees, Inc. All Rights
Reserved
Extensibility alone is not enough
• Center of gravity is needed
– Or else devs will do it in their own caves
– Failed example: Ant
• Benefits
– Sustains the project when people move on
– Grows new core developers
– Enables sharing, reuse, and improvements
©2010 CloudBees, Inc. All Rights
Reserved
25©2010 CloudBees, Inc. All Rights
Reserved
Center of gravity in Jenkins: Update Center
• Mechanism to distribute plugins
– This is how users install them
• In Jenkins, this is tied to source code
hosting
• One commit access for all repositories
©2010 CloudBees, Inc. All Rights
Reserved
26©2010 CloudBees, Inc. All Rights
Reserved
Lowering the barrier to entry
• Remember the funnel
– Make something easy, and get more of them
• In Jenkins, everyone gets a commit
access just by asking
– Akin to Wikipedia
• Encourages small contributions
• Made feasible with silo approach
©2010 CloudBees, Inc. All Rights
Reserved
27©2010 CloudBees, Inc. All Rights
Reserved
Conclusions
• There are many shapes and forms to
OSS projects
– Don’t blindly follow what big guys are doing
• Code is just one piece of puzzle
• Make everything easy, relentlessly
• Bend over backward to make lives easier
for other people

More Related Content

What's hot

jQuery Foundation Keynote
jQuery Foundation KeynotejQuery Foundation Keynote
jQuery Foundation Keynote
Richard Worth
 
Developer Marketing: Tactics & Technology
Developer Marketing: Tactics & TechnologyDeveloper Marketing: Tactics & Technology
Developer Marketing: Tactics & Technology
Murtza Manzur
 
jQuery Conference 2010 - Getting Involved
jQuery Conference 2010 - Getting InvolvedjQuery Conference 2010 - Getting Involved
jQuery Conference 2010 - Getting Involved
Ralph Whitbeck
 
DevOps Indonesia #13 - annoucement
DevOps Indonesia #13 - annoucementDevOps Indonesia #13 - annoucement
DevOps Indonesia #13 - annoucement
DevOps Indonesia
 
SPA Philly Code Camp
SPA Philly Code CampSPA Philly Code Camp
SPA Philly Code Camp
Jennifer Kenderdine
 
Social Network-Vinfotech
Social Network-VinfotechSocial Network-Vinfotech
Social Network-Vinfotech
RanuJain
 
Multisite Content Deployments for Media Organizations
Multisite Content Deployments for Media OrganizationsMultisite Content Deployments for Media Organizations
Multisite Content Deployments for Media Organizations
Dick Olsson
 
Women Who Mule - Workshop series: Create your own blog from scratch without a...
Women Who Mule - Workshop series: Create your own blog from scratch without a...Women Who Mule - Workshop series: Create your own blog from scratch without a...
Women Who Mule - Workshop series: Create your own blog from scratch without a...
Alexandra N. Martinez
 
What Really Changed with Drupal 8
What Really Changed with Drupal 8What Really Changed with Drupal 8
What Really Changed with Drupal 8
Dick Olsson
 
Guardian devexp and_discovery
Guardian devexp and_discoveryGuardian devexp and_discovery
Guardian devexp and_discovery
Ade Oshineye
 
WordPress Workshop
WordPress WorkshopWordPress Workshop
WordPress Workshop
Purushottam Dahal
 

What's hot (11)

jQuery Foundation Keynote
jQuery Foundation KeynotejQuery Foundation Keynote
jQuery Foundation Keynote
 
Developer Marketing: Tactics & Technology
Developer Marketing: Tactics & TechnologyDeveloper Marketing: Tactics & Technology
Developer Marketing: Tactics & Technology
 
jQuery Conference 2010 - Getting Involved
jQuery Conference 2010 - Getting InvolvedjQuery Conference 2010 - Getting Involved
jQuery Conference 2010 - Getting Involved
 
DevOps Indonesia #13 - annoucement
DevOps Indonesia #13 - annoucementDevOps Indonesia #13 - annoucement
DevOps Indonesia #13 - annoucement
 
SPA Philly Code Camp
SPA Philly Code CampSPA Philly Code Camp
SPA Philly Code Camp
 
Social Network-Vinfotech
Social Network-VinfotechSocial Network-Vinfotech
Social Network-Vinfotech
 
Multisite Content Deployments for Media Organizations
Multisite Content Deployments for Media OrganizationsMultisite Content Deployments for Media Organizations
Multisite Content Deployments for Media Organizations
 
Women Who Mule - Workshop series: Create your own blog from scratch without a...
Women Who Mule - Workshop series: Create your own blog from scratch without a...Women Who Mule - Workshop series: Create your own blog from scratch without a...
Women Who Mule - Workshop series: Create your own blog from scratch without a...
 
What Really Changed with Drupal 8
What Really Changed with Drupal 8What Really Changed with Drupal 8
What Really Changed with Drupal 8
 
Guardian devexp and_discovery
Guardian devexp and_discoveryGuardian devexp and_discovery
Guardian devexp and_discovery
 
WordPress Workshop
WordPress WorkshopWordPress Workshop
WordPress Workshop
 

Viewers also liked

The Power of Community
The Power of CommunityThe Power of Community
The Power of Community
Prasetiya Mulya Business School
 
Value Creation Practice in Brand Community
Value Creation Practice in Brand CommunityValue Creation Practice in Brand Community
Value Creation Practice in Brand Community
Prasetiya Mulya Business School
 
The foundations of brand communities
The foundations of brand communitiesThe foundations of brand communities
The foundations of brand communities
James Li
 
Online Brand Community Development
Online Brand Community DevelopmentOnline Brand Community Development
Online Brand Community Development
La French Tech
 
Brand communities: Tips
Brand communities: Tips Brand communities: Tips
Brand communities: Tips
carole888
 
Heroku in Japan
Heroku in JapanHeroku in Japan
Heroku in Japan
Ayumu Aizawa
 
The Fundamentals of Developer Marketing - 2013
The Fundamentals of Developer Marketing - 2013The Fundamentals of Developer Marketing - 2013
The Fundamentals of Developer Marketing - 2013
Bruce Jones
 
Cultivating Your Developer Community
Cultivating Your Developer CommunityCultivating Your Developer Community
Cultivating Your Developer Community
Diane (Bisgeier) Tate
 
Building a developer community around hardware + software
Building a developer community around hardware + softwareBuilding a developer community around hardware + software
Building a developer community around hardware + software
Amanda Whaley
 
Node1 developer marketing
Node1 developer marketingNode1 developer marketing
Node1 developer marketing
Gerald Been
 
Developer Outreach for Firefox OS - Mozcamp India - 2014-06-22
Developer Outreach for Firefox OS - Mozcamp India - 2014-06-22Developer Outreach for Firefox OS - Mozcamp India - 2014-06-22
Developer Outreach for Firefox OS - Mozcamp India - 2014-06-22
Frédéric Harper
 
Necessity of Devangelists
Necessity of DevangelistsNecessity of Devangelists
Necessity of Devangelists
Tony Blank
 
Developers Giving Back
Developers Giving BackDevelopers Giving Back
Developers Giving Back
Diane (Bisgeier) Tate
 
Developer Marketing - API Days
Developer Marketing - API DaysDeveloper Marketing - API Days
Developer Marketing - API Days
Caroline Lewko
 
Catchy Developer Marketing (B2D) Agency. An overview of services.
Catchy Developer Marketing (B2D) Agency. An overview of services. Catchy Developer Marketing (B2D) Agency. An overview of services.
Catchy Developer Marketing (B2D) Agency. An overview of services.
Richard Hurring
 
Igniting Developer Community - I Love APIs Conference 2015
Igniting Developer Community - I Love APIs Conference 2015Igniting Developer Community - I Love APIs Conference 2015
Igniting Developer Community - I Love APIs Conference 2015
Adam FitzGerald
 
Building A Business-Facing Mobile Developer Community
Building A Business-Facing Mobile Developer CommunityBuilding A Business-Facing Mobile Developer Community
Building A Business-Facing Mobile Developer Community
ProgrammableWeb
 
It Takes a Community to Raise a Brand, Not a Campaign
It Takes a Community to Raise a Brand, Not a CampaignIt Takes a Community to Raise a Brand, Not a Campaign
It Takes a Community to Raise a Brand, Not a Campaign
Sean Moffitt
 
PulsoConf: Platform & Community - Dev Outreach @ Evernote
PulsoConf: Platform & Community - Dev Outreach @ EvernotePulsoConf: Platform & Community - Dev Outreach @ Evernote
PulsoConf: Platform & Community - Dev Outreach @ Evernote
Chris Traganos
 
How to Build an Influencer Program (That Gets Results)
How to Build an Influencer Program (That Gets Results)How to Build an Influencer Program (That Gets Results)
How to Build an Influencer Program (That Gets Results)
Onalytica
 

Viewers also liked (20)

The Power of Community
The Power of CommunityThe Power of Community
The Power of Community
 
Value Creation Practice in Brand Community
Value Creation Practice in Brand CommunityValue Creation Practice in Brand Community
Value Creation Practice in Brand Community
 
The foundations of brand communities
The foundations of brand communitiesThe foundations of brand communities
The foundations of brand communities
 
Online Brand Community Development
Online Brand Community DevelopmentOnline Brand Community Development
Online Brand Community Development
 
Brand communities: Tips
Brand communities: Tips Brand communities: Tips
Brand communities: Tips
 
Heroku in Japan
Heroku in JapanHeroku in Japan
Heroku in Japan
 
The Fundamentals of Developer Marketing - 2013
The Fundamentals of Developer Marketing - 2013The Fundamentals of Developer Marketing - 2013
The Fundamentals of Developer Marketing - 2013
 
Cultivating Your Developer Community
Cultivating Your Developer CommunityCultivating Your Developer Community
Cultivating Your Developer Community
 
Building a developer community around hardware + software
Building a developer community around hardware + softwareBuilding a developer community around hardware + software
Building a developer community around hardware + software
 
Node1 developer marketing
Node1 developer marketingNode1 developer marketing
Node1 developer marketing
 
Developer Outreach for Firefox OS - Mozcamp India - 2014-06-22
Developer Outreach for Firefox OS - Mozcamp India - 2014-06-22Developer Outreach for Firefox OS - Mozcamp India - 2014-06-22
Developer Outreach for Firefox OS - Mozcamp India - 2014-06-22
 
Necessity of Devangelists
Necessity of DevangelistsNecessity of Devangelists
Necessity of Devangelists
 
Developers Giving Back
Developers Giving BackDevelopers Giving Back
Developers Giving Back
 
Developer Marketing - API Days
Developer Marketing - API DaysDeveloper Marketing - API Days
Developer Marketing - API Days
 
Catchy Developer Marketing (B2D) Agency. An overview of services.
Catchy Developer Marketing (B2D) Agency. An overview of services. Catchy Developer Marketing (B2D) Agency. An overview of services.
Catchy Developer Marketing (B2D) Agency. An overview of services.
 
Igniting Developer Community - I Love APIs Conference 2015
Igniting Developer Community - I Love APIs Conference 2015Igniting Developer Community - I Love APIs Conference 2015
Igniting Developer Community - I Love APIs Conference 2015
 
Building A Business-Facing Mobile Developer Community
Building A Business-Facing Mobile Developer CommunityBuilding A Business-Facing Mobile Developer Community
Building A Business-Facing Mobile Developer Community
 
It Takes a Community to Raise a Brand, Not a Campaign
It Takes a Community to Raise a Brand, Not a CampaignIt Takes a Community to Raise a Brand, Not a Campaign
It Takes a Community to Raise a Brand, Not a Campaign
 
PulsoConf: Platform & Community - Dev Outreach @ Evernote
PulsoConf: Platform & Community - Dev Outreach @ EvernotePulsoConf: Platform & Community - Dev Outreach @ Evernote
PulsoConf: Platform & Community - Dev Outreach @ Evernote
 
How to Build an Influencer Program (That Gets Results)
How to Build an Influencer Program (That Gets Results)How to Build an Influencer Program (That Gets Results)
How to Build an Influencer Program (That Gets Results)
 

Similar to Creating a Developer Community

How we made jenkins community
How we made jenkins communityHow we made jenkins community
How we made jenkins community
Kohsuke Kawaguchi
 
Tap into the power of slaves with Jenkins by Kohsuke Kawaguchi
Tap into the power of slaves with Jenkins by Kohsuke KawaguchiTap into the power of slaves with Jenkins by Kohsuke Kawaguchi
Tap into the power of slaves with Jenkins by Kohsuke Kawaguchi
ZeroTurnaround
 
Webinar: "Continuous Delivery with Jenkins"
Webinar: "Continuous Delivery with Jenkins"Webinar: "Continuous Delivery with Jenkins"
Webinar: "Continuous Delivery with Jenkins"
Emerasoft, solutions to collaborate
 
OWF12/Java Sacha labourey
OWF12/Java Sacha laboureyOWF12/Java Sacha labourey
OWF12/Java Sacha labourey
Paris Open Source Summit
 
Choisir le bon business model et la bonne licence pour la survie de son proje...
Choisir le bon business model et la bonne licence pour la survie de son proje...Choisir le bon business model et la bonne licence pour la survie de son proje...
Choisir le bon business model et la bonne licence pour la survie de son proje...
Open Source Experience
 
Amazon Web Services and PaaS - Enterprise Java for the Cloud Era? - Mark Pric...
Amazon Web Services and PaaS - Enterprise Java for the Cloud Era? - Mark Pric...Amazon Web Services and PaaS - Enterprise Java for the Cloud Era? - Mark Pric...
Amazon Web Services and PaaS - Enterprise Java for the Cloud Era? - Mark Pric...
jaxconf
 
Intalio create and cloudfoudry - short
Intalio create and cloudfoudry - shortIntalio create and cloudfoudry - short
Intalio create and cloudfoudry - short
hmalphettes
 
Enterprise software needs a PaaS
Enterprise software needs a PaaSEnterprise software needs a PaaS
Enterprise software needs a PaaS
hmalphettes
 
The Coming OSS Sustainability Crisis
The Coming OSS Sustainability CrisisThe Coming OSS Sustainability Crisis
The Coming OSS Sustainability Crisis
Aaron Stannard
 
Java / Opening Open Source the Jenkins Way - Nicolas de Loof, CloudBees
Java / Opening Open Source the Jenkins Way - Nicolas de Loof, CloudBeesJava / Opening Open Source the Jenkins Way - Nicolas de Loof, CloudBees
Java / Opening Open Source the Jenkins Way - Nicolas de Loof, CloudBees
Paris Open Source Summit
 
GitOps, Jenkins X &Future of CI/CD
GitOps, Jenkins X &Future of CI/CDGitOps, Jenkins X &Future of CI/CD
GitOps, Jenkins X &Future of CI/CD
Rakuten Group, Inc.
 
Using containerization to enable your microservice architecture
Using containerization to enable your microservice architecture Using containerization to enable your microservice architecture
Using containerization to enable your microservice architecture
Apigee | Google Cloud
 
Journée DevOps : De l'intégration continue au déploiement continu avec Jenkins
Journée DevOps : De l'intégration continue au déploiement continu avec JenkinsJournée DevOps : De l'intégration continue au déploiement continu avec Jenkins
Journée DevOps : De l'intégration continue au déploiement continu avec Jenkins
Publicis Sapient Engineering
 
Webinar - Should You Upgrade to Adobe Creative Cloud? - 2017-02-23
Webinar - Should You Upgrade to Adobe Creative Cloud? - 2017-02-23Webinar - Should You Upgrade to Adobe Creative Cloud? - 2017-02-23
Webinar - Should You Upgrade to Adobe Creative Cloud? - 2017-02-23
TechSoup
 
Digital Doha Summit - ICT Qatar and Open Source
Digital Doha Summit - ICT Qatar and Open SourceDigital Doha Summit - ICT Qatar and Open Source
Digital Doha Summit - ICT Qatar and Open Source
Forum One
 
Large scale automation with jenkins
Large scale automation with jenkinsLarge scale automation with jenkins
Large scale automation with jenkins
Kohsuke Kawaguchi
 
Enterprise CI as-a-Service using Jenkins
Enterprise CI as-a-Service using JenkinsEnterprise CI as-a-Service using Jenkins
Enterprise CI as-a-Service using Jenkins
CollabNet
 
AWS Webcast - Neudesic Data Centermigrationtoaws
AWS Webcast - Neudesic Data CentermigrationtoawsAWS Webcast - Neudesic Data Centermigrationtoaws
AWS Webcast - Neudesic Data Centermigrationtoaws
Amazon Web Services
 
Securing jenkins
Securing jenkinsSecuring jenkins
Securing jenkins
CloudBees
 
Selecting an Open Source License and Business Model for Your Project to Have ...
Selecting an Open Source License and Business Model for Your Project to Have ...Selecting an Open Source License and Business Model for Your Project to Have ...
Selecting an Open Source License and Business Model for Your Project to Have ...
All Things Open
 

Similar to Creating a Developer Community (20)

How we made jenkins community
How we made jenkins communityHow we made jenkins community
How we made jenkins community
 
Tap into the power of slaves with Jenkins by Kohsuke Kawaguchi
Tap into the power of slaves with Jenkins by Kohsuke KawaguchiTap into the power of slaves with Jenkins by Kohsuke Kawaguchi
Tap into the power of slaves with Jenkins by Kohsuke Kawaguchi
 
Webinar: "Continuous Delivery with Jenkins"
Webinar: "Continuous Delivery with Jenkins"Webinar: "Continuous Delivery with Jenkins"
Webinar: "Continuous Delivery with Jenkins"
 
OWF12/Java Sacha labourey
OWF12/Java Sacha laboureyOWF12/Java Sacha labourey
OWF12/Java Sacha labourey
 
Choisir le bon business model et la bonne licence pour la survie de son proje...
Choisir le bon business model et la bonne licence pour la survie de son proje...Choisir le bon business model et la bonne licence pour la survie de son proje...
Choisir le bon business model et la bonne licence pour la survie de son proje...
 
Amazon Web Services and PaaS - Enterprise Java for the Cloud Era? - Mark Pric...
Amazon Web Services and PaaS - Enterprise Java for the Cloud Era? - Mark Pric...Amazon Web Services and PaaS - Enterprise Java for the Cloud Era? - Mark Pric...
Amazon Web Services and PaaS - Enterprise Java for the Cloud Era? - Mark Pric...
 
Intalio create and cloudfoudry - short
Intalio create and cloudfoudry - shortIntalio create and cloudfoudry - short
Intalio create and cloudfoudry - short
 
Enterprise software needs a PaaS
Enterprise software needs a PaaSEnterprise software needs a PaaS
Enterprise software needs a PaaS
 
The Coming OSS Sustainability Crisis
The Coming OSS Sustainability CrisisThe Coming OSS Sustainability Crisis
The Coming OSS Sustainability Crisis
 
Java / Opening Open Source the Jenkins Way - Nicolas de Loof, CloudBees
Java / Opening Open Source the Jenkins Way - Nicolas de Loof, CloudBeesJava / Opening Open Source the Jenkins Way - Nicolas de Loof, CloudBees
Java / Opening Open Source the Jenkins Way - Nicolas de Loof, CloudBees
 
GitOps, Jenkins X &Future of CI/CD
GitOps, Jenkins X &Future of CI/CDGitOps, Jenkins X &Future of CI/CD
GitOps, Jenkins X &Future of CI/CD
 
Using containerization to enable your microservice architecture
Using containerization to enable your microservice architecture Using containerization to enable your microservice architecture
Using containerization to enable your microservice architecture
 
Journée DevOps : De l'intégration continue au déploiement continu avec Jenkins
Journée DevOps : De l'intégration continue au déploiement continu avec JenkinsJournée DevOps : De l'intégration continue au déploiement continu avec Jenkins
Journée DevOps : De l'intégration continue au déploiement continu avec Jenkins
 
Webinar - Should You Upgrade to Adobe Creative Cloud? - 2017-02-23
Webinar - Should You Upgrade to Adobe Creative Cloud? - 2017-02-23Webinar - Should You Upgrade to Adobe Creative Cloud? - 2017-02-23
Webinar - Should You Upgrade to Adobe Creative Cloud? - 2017-02-23
 
Digital Doha Summit - ICT Qatar and Open Source
Digital Doha Summit - ICT Qatar and Open SourceDigital Doha Summit - ICT Qatar and Open Source
Digital Doha Summit - ICT Qatar and Open Source
 
Large scale automation with jenkins
Large scale automation with jenkinsLarge scale automation with jenkins
Large scale automation with jenkins
 
Enterprise CI as-a-Service using Jenkins
Enterprise CI as-a-Service using JenkinsEnterprise CI as-a-Service using Jenkins
Enterprise CI as-a-Service using Jenkins
 
AWS Webcast - Neudesic Data Centermigrationtoaws
AWS Webcast - Neudesic Data CentermigrationtoawsAWS Webcast - Neudesic Data Centermigrationtoaws
AWS Webcast - Neudesic Data Centermigrationtoaws
 
Securing jenkins
Securing jenkinsSecuring jenkins
Securing jenkins
 
Selecting an Open Source License and Business Model for Your Project to Have ...
Selecting an Open Source License and Business Model for Your Project to Have ...Selecting an Open Source License and Business Model for Your Project to Have ...
Selecting an Open Source License and Business Model for Your Project to Have ...
 

More from Kohsuke Kawaguchi

Jenkins 2.0 (日本語)
Jenkins 2.0 (日本語)Jenkins 2.0 (日本語)
Jenkins 2.0 (日本語)
Kohsuke Kawaguchi
 
Workflow, container, and beyond
Workflow, container, and beyondWorkflow, container, and beyond
Workflow, container, and beyond
Kohsuke Kawaguchi
 
Jenkins User Conference 東京 2015
Jenkins User Conference 東京 2015Jenkins User Conference 東京 2015
Jenkins User Conference 東京 2015
Kohsuke Kawaguchi
 
JavaOne 2014: Next Step in Automation: Elastic Build Environment
JavaOne 2014: Next Step in Automation: Elastic Build EnvironmentJavaOne 2014: Next Step in Automation: Elastic Build Environment
JavaOne 2014: Next Step in Automation: Elastic Build Environment
Kohsuke Kawaguchi
 
On sharing ideas & sharing code
On sharing ideas & sharing codeOn sharing ideas & sharing code
On sharing ideas & sharing code
Kohsuke Kawaguchi
 
コードの互換性と進化の両立
コードの互換性と進化の両立コードの互換性と進化の両立
コードの互換性と進化の両立
Kohsuke Kawaguchi
 
Jenkins User Conference 2013: Literate, multi-branch, mobile and more
Jenkins User Conference 2013: Literate, multi-branch, mobile and moreJenkins User Conference 2013: Literate, multi-branch, mobile and more
Jenkins User Conference 2013: Literate, multi-branch, mobile and more
Kohsuke Kawaguchi
 
Jenkins User Conference 2013 Palo Alto: Keynote
Jenkins User Conference 2013 Palo Alto: KeynoteJenkins User Conference 2013 Palo Alto: Keynote
Jenkins User Conference 2013 Palo Alto: Keynote
Kohsuke Kawaguchi
 
Jenkins State of union 2013
Jenkins State of union 2013Jenkins State of union 2013
Jenkins State of union 2013
Kohsuke Kawaguchi
 
第六回Jenkins勉強会
第六回Jenkins勉強会第六回Jenkins勉強会
第六回Jenkins勉強会
Kohsuke Kawaguchi
 
Jenkins User Conference 2012 San Francisco
Jenkins User Conference 2012 San FranciscoJenkins User Conference 2012 San Francisco
Jenkins User Conference 2012 San Francisco
Kohsuke Kawaguchi
 
Jenkins+Gitによる検証済みマージ(30分版)
Jenkins+Gitによる検証済みマージ(30分版)Jenkins+Gitによる検証済みマージ(30分版)
Jenkins+Gitによる検証済みマージ(30分版)
Kohsuke Kawaguchi
 
ここ最近のJenkins新機能
ここ最近のJenkins新機能ここ最近のJenkins新機能
ここ最近のJenkins新機能
Kohsuke Kawaguchi
 
Jenkins user conference 東京
Jenkins user conference 東京Jenkins user conference 東京
Jenkins user conference 東京
Kohsuke Kawaguchi
 
Dev@cloudの実装
Dev@cloudの実装Dev@cloudの実装
Dev@cloudの実装
Kohsuke Kawaguchi
 
Developer summit continuous deliveryとjenkins
Developer summit   continuous deliveryとjenkinsDeveloper summit   continuous deliveryとjenkins
Developer summit continuous deliveryとjenkins
Kohsuke Kawaguchi
 
Jenkins user conference 2011
Jenkins user conference 2011Jenkins user conference 2011
Jenkins user conference 2011
Kohsuke Kawaguchi
 
プロジェクト現状報告・Rubyによるjenkinsプラグイン開発
プロジェクト現状報告・Rubyによるjenkinsプラグイン開発プロジェクト現状報告・Rubyによるjenkinsプラグイン開発
プロジェクト現状報告・Rubyによるjenkinsプラグイン開発
Kohsuke Kawaguchi
 
Current state of Jenkins
Current state of JenkinsCurrent state of Jenkins
Current state of Jenkins
Kohsuke Kawaguchi
 
Jenkins勉強会第二回
Jenkins勉強会第二回Jenkins勉強会第二回
Jenkins勉強会第二回
Kohsuke Kawaguchi
 

More from Kohsuke Kawaguchi (20)

Jenkins 2.0 (日本語)
Jenkins 2.0 (日本語)Jenkins 2.0 (日本語)
Jenkins 2.0 (日本語)
 
Workflow, container, and beyond
Workflow, container, and beyondWorkflow, container, and beyond
Workflow, container, and beyond
 
Jenkins User Conference 東京 2015
Jenkins User Conference 東京 2015Jenkins User Conference 東京 2015
Jenkins User Conference 東京 2015
 
JavaOne 2014: Next Step in Automation: Elastic Build Environment
JavaOne 2014: Next Step in Automation: Elastic Build EnvironmentJavaOne 2014: Next Step in Automation: Elastic Build Environment
JavaOne 2014: Next Step in Automation: Elastic Build Environment
 
On sharing ideas & sharing code
On sharing ideas & sharing codeOn sharing ideas & sharing code
On sharing ideas & sharing code
 
コードの互換性と進化の両立
コードの互換性と進化の両立コードの互換性と進化の両立
コードの互換性と進化の両立
 
Jenkins User Conference 2013: Literate, multi-branch, mobile and more
Jenkins User Conference 2013: Literate, multi-branch, mobile and moreJenkins User Conference 2013: Literate, multi-branch, mobile and more
Jenkins User Conference 2013: Literate, multi-branch, mobile and more
 
Jenkins User Conference 2013 Palo Alto: Keynote
Jenkins User Conference 2013 Palo Alto: KeynoteJenkins User Conference 2013 Palo Alto: Keynote
Jenkins User Conference 2013 Palo Alto: Keynote
 
Jenkins State of union 2013
Jenkins State of union 2013Jenkins State of union 2013
Jenkins State of union 2013
 
第六回Jenkins勉強会
第六回Jenkins勉強会第六回Jenkins勉強会
第六回Jenkins勉強会
 
Jenkins User Conference 2012 San Francisco
Jenkins User Conference 2012 San FranciscoJenkins User Conference 2012 San Francisco
Jenkins User Conference 2012 San Francisco
 
Jenkins+Gitによる検証済みマージ(30分版)
Jenkins+Gitによる検証済みマージ(30分版)Jenkins+Gitによる検証済みマージ(30分版)
Jenkins+Gitによる検証済みマージ(30分版)
 
ここ最近のJenkins新機能
ここ最近のJenkins新機能ここ最近のJenkins新機能
ここ最近のJenkins新機能
 
Jenkins user conference 東京
Jenkins user conference 東京Jenkins user conference 東京
Jenkins user conference 東京
 
Dev@cloudの実装
Dev@cloudの実装Dev@cloudの実装
Dev@cloudの実装
 
Developer summit continuous deliveryとjenkins
Developer summit   continuous deliveryとjenkinsDeveloper summit   continuous deliveryとjenkins
Developer summit continuous deliveryとjenkins
 
Jenkins user conference 2011
Jenkins user conference 2011Jenkins user conference 2011
Jenkins user conference 2011
 
プロジェクト現状報告・Rubyによるjenkinsプラグイン開発
プロジェクト現状報告・Rubyによるjenkinsプラグイン開発プロジェクト現状報告・Rubyによるjenkinsプラグイン開発
プロジェクト現状報告・Rubyによるjenkinsプラグイン開発
 
Current state of Jenkins
Current state of JenkinsCurrent state of Jenkins
Current state of Jenkins
 
Jenkins勉強会第二回
Jenkins勉強会第二回Jenkins勉強会第二回
Jenkins勉強会第二回
 

Recently uploaded

Evolution of iPaaS - simplify IT workloads to provide a unified view of data...
Evolution of iPaaS - simplify IT workloads to provide a unified view of  data...Evolution of iPaaS - simplify IT workloads to provide a unified view of  data...
Evolution of iPaaS - simplify IT workloads to provide a unified view of data...
Torry Harris
 
Best Practices for Effectively Running dbt in Airflow.pdf
Best Practices for Effectively Running dbt in Airflow.pdfBest Practices for Effectively Running dbt in Airflow.pdf
Best Practices for Effectively Running dbt in Airflow.pdf
Tatiana Al-Chueyr
 
The Role of IoT in Australian Mobile App Development - PDF Guide
The Role of IoT in Australian Mobile App Development - PDF GuideThe Role of IoT in Australian Mobile App Development - PDF Guide
The Role of IoT in Australian Mobile App Development - PDF Guide
Shiv Technolabs
 
(CISOPlatform Summit & SACON 2024) Digital Personal Data Protection Act.pdf
(CISOPlatform Summit & SACON 2024) Digital Personal Data Protection Act.pdf(CISOPlatform Summit & SACON 2024) Digital Personal Data Protection Act.pdf
(CISOPlatform Summit & SACON 2024) Digital Personal Data Protection Act.pdf
Priyanka Aash
 
Girls call Kolkata 👀 XXXXXXXXXXX 👀 Rs.9.5 K Cash Payment With Room Delivery
Girls call Kolkata 👀 XXXXXXXXXXX 👀 Rs.9.5 K Cash Payment With Room Delivery Girls call Kolkata 👀 XXXXXXXXXXX 👀 Rs.9.5 K Cash Payment With Room Delivery
Girls call Kolkata 👀 XXXXXXXXXXX 👀 Rs.9.5 K Cash Payment With Room Delivery
sunilverma7884
 
Vertex AI Agent Builder - GDG Alicante - Julio 2024
Vertex AI Agent Builder - GDG Alicante - Julio 2024Vertex AI Agent Builder - GDG Alicante - Julio 2024
Vertex AI Agent Builder - GDG Alicante - Julio 2024
Nicolás Lopéz
 
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
Kief Morris
 
Salesforce AI & Einstein Copilot Workshop
Salesforce AI & Einstein Copilot WorkshopSalesforce AI & Einstein Copilot Workshop
Salesforce AI & Einstein Copilot Workshop
CEPTES Software Inc
 
High Profile Girls call Service Pune 000XX00000 Provide Best And Top Girl Ser...
High Profile Girls call Service Pune 000XX00000 Provide Best And Top Girl Ser...High Profile Girls call Service Pune 000XX00000 Provide Best And Top Girl Ser...
High Profile Girls call Service Pune 000XX00000 Provide Best And Top Girl Ser...
bhumivarma35300
 
Feature sql server terbaru performance.pptx
Feature sql server terbaru performance.pptxFeature sql server terbaru performance.pptx
Feature sql server terbaru performance.pptx
ssuser1915fe1
 
How Social Media Hackers Help You to See Your Wife's Message.pdf
How Social Media Hackers Help You to See Your Wife's Message.pdfHow Social Media Hackers Help You to See Your Wife's Message.pdf
How Social Media Hackers Help You to See Your Wife's Message.pdf
HackersList
 
CiscoIconsLibrary cours de réseau VLAN.ppt
CiscoIconsLibrary cours de réseau VLAN.pptCiscoIconsLibrary cours de réseau VLAN.ppt
CiscoIconsLibrary cours de réseau VLAN.ppt
moinahousna
 
Integrating Kafka with MuleSoft 4 and usecase
Integrating Kafka with MuleSoft 4 and usecaseIntegrating Kafka with MuleSoft 4 and usecase
Integrating Kafka with MuleSoft 4 and usecase
shyamraj55
 
Uncharted Together- Navigating AI's New Frontiers in Libraries
Uncharted Together- Navigating AI's New Frontiers in LibrariesUncharted Together- Navigating AI's New Frontiers in Libraries
Uncharted Together- Navigating AI's New Frontiers in Libraries
Brian Pichman
 
WhatsApp Spy Online Trackers and Monitoring Apps
WhatsApp Spy Online Trackers and Monitoring AppsWhatsApp Spy Online Trackers and Monitoring Apps
WhatsApp Spy Online Trackers and Monitoring Apps
HackersList
 
leewayhertz.com-AI agents for healthcare Applications benefits and implementa...
leewayhertz.com-AI agents for healthcare Applications benefits and implementa...leewayhertz.com-AI agents for healthcare Applications benefits and implementa...
leewayhertz.com-AI agents for healthcare Applications benefits and implementa...
alexjohnson7307
 
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptxRPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
SynapseIndia
 
“Deploying Large Language Models on a Raspberry Pi,” a Presentation from Usef...
“Deploying Large Language Models on a Raspberry Pi,” a Presentation from Usef...“Deploying Large Language Models on a Raspberry Pi,” a Presentation from Usef...
“Deploying Large Language Models on a Raspberry Pi,” a Presentation from Usef...
Edge AI and Vision Alliance
 
Acumatica vs. Sage Intacct vs. NetSuite _ NOW CFO.pdf
Acumatica vs. Sage Intacct vs. NetSuite _ NOW CFO.pdfAcumatica vs. Sage Intacct vs. NetSuite _ NOW CFO.pdf
Acumatica vs. Sage Intacct vs. NetSuite _ NOW CFO.pdf
BrainSell Technologies
 
Tirana Tech Meetup - Agentic RAG with Milvus, Llama3 and Ollama
Tirana Tech Meetup - Agentic RAG with Milvus, Llama3 and OllamaTirana Tech Meetup - Agentic RAG with Milvus, Llama3 and Ollama
Tirana Tech Meetup - Agentic RAG with Milvus, Llama3 and Ollama
Zilliz
 

Recently uploaded (20)

Evolution of iPaaS - simplify IT workloads to provide a unified view of data...
Evolution of iPaaS - simplify IT workloads to provide a unified view of  data...Evolution of iPaaS - simplify IT workloads to provide a unified view of  data...
Evolution of iPaaS - simplify IT workloads to provide a unified view of data...
 
Best Practices for Effectively Running dbt in Airflow.pdf
Best Practices for Effectively Running dbt in Airflow.pdfBest Practices for Effectively Running dbt in Airflow.pdf
Best Practices for Effectively Running dbt in Airflow.pdf
 
The Role of IoT in Australian Mobile App Development - PDF Guide
The Role of IoT in Australian Mobile App Development - PDF GuideThe Role of IoT in Australian Mobile App Development - PDF Guide
The Role of IoT in Australian Mobile App Development - PDF Guide
 
(CISOPlatform Summit & SACON 2024) Digital Personal Data Protection Act.pdf
(CISOPlatform Summit & SACON 2024) Digital Personal Data Protection Act.pdf(CISOPlatform Summit & SACON 2024) Digital Personal Data Protection Act.pdf
(CISOPlatform Summit & SACON 2024) Digital Personal Data Protection Act.pdf
 
Girls call Kolkata 👀 XXXXXXXXXXX 👀 Rs.9.5 K Cash Payment With Room Delivery
Girls call Kolkata 👀 XXXXXXXXXXX 👀 Rs.9.5 K Cash Payment With Room Delivery Girls call Kolkata 👀 XXXXXXXXXXX 👀 Rs.9.5 K Cash Payment With Room Delivery
Girls call Kolkata 👀 XXXXXXXXXXX 👀 Rs.9.5 K Cash Payment With Room Delivery
 
Vertex AI Agent Builder - GDG Alicante - Julio 2024
Vertex AI Agent Builder - GDG Alicante - Julio 2024Vertex AI Agent Builder - GDG Alicante - Julio 2024
Vertex AI Agent Builder - GDG Alicante - Julio 2024
 
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
 
Salesforce AI & Einstein Copilot Workshop
Salesforce AI & Einstein Copilot WorkshopSalesforce AI & Einstein Copilot Workshop
Salesforce AI & Einstein Copilot Workshop
 
High Profile Girls call Service Pune 000XX00000 Provide Best And Top Girl Ser...
High Profile Girls call Service Pune 000XX00000 Provide Best And Top Girl Ser...High Profile Girls call Service Pune 000XX00000 Provide Best And Top Girl Ser...
High Profile Girls call Service Pune 000XX00000 Provide Best And Top Girl Ser...
 
Feature sql server terbaru performance.pptx
Feature sql server terbaru performance.pptxFeature sql server terbaru performance.pptx
Feature sql server terbaru performance.pptx
 
How Social Media Hackers Help You to See Your Wife's Message.pdf
How Social Media Hackers Help You to See Your Wife's Message.pdfHow Social Media Hackers Help You to See Your Wife's Message.pdf
How Social Media Hackers Help You to See Your Wife's Message.pdf
 
CiscoIconsLibrary cours de réseau VLAN.ppt
CiscoIconsLibrary cours de réseau VLAN.pptCiscoIconsLibrary cours de réseau VLAN.ppt
CiscoIconsLibrary cours de réseau VLAN.ppt
 
Integrating Kafka with MuleSoft 4 and usecase
Integrating Kafka with MuleSoft 4 and usecaseIntegrating Kafka with MuleSoft 4 and usecase
Integrating Kafka with MuleSoft 4 and usecase
 
Uncharted Together- Navigating AI's New Frontiers in Libraries
Uncharted Together- Navigating AI's New Frontiers in LibrariesUncharted Together- Navigating AI's New Frontiers in Libraries
Uncharted Together- Navigating AI's New Frontiers in Libraries
 
WhatsApp Spy Online Trackers and Monitoring Apps
WhatsApp Spy Online Trackers and Monitoring AppsWhatsApp Spy Online Trackers and Monitoring Apps
WhatsApp Spy Online Trackers and Monitoring Apps
 
leewayhertz.com-AI agents for healthcare Applications benefits and implementa...
leewayhertz.com-AI agents for healthcare Applications benefits and implementa...leewayhertz.com-AI agents for healthcare Applications benefits and implementa...
leewayhertz.com-AI agents for healthcare Applications benefits and implementa...
 
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptxRPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
 
“Deploying Large Language Models on a Raspberry Pi,” a Presentation from Usef...
“Deploying Large Language Models on a Raspberry Pi,” a Presentation from Usef...“Deploying Large Language Models on a Raspberry Pi,” a Presentation from Usef...
“Deploying Large Language Models on a Raspberry Pi,” a Presentation from Usef...
 
Acumatica vs. Sage Intacct vs. NetSuite _ NOW CFO.pdf
Acumatica vs. Sage Intacct vs. NetSuite _ NOW CFO.pdfAcumatica vs. Sage Intacct vs. NetSuite _ NOW CFO.pdf
Acumatica vs. Sage Intacct vs. NetSuite _ NOW CFO.pdf
 
Tirana Tech Meetup - Agentic RAG with Milvus, Llama3 and Ollama
Tirana Tech Meetup - Agentic RAG with Milvus, Llama3 and OllamaTirana Tech Meetup - Agentic RAG with Milvus, Llama3 and Ollama
Tirana Tech Meetup - Agentic RAG with Milvus, Llama3 and Ollama
 

Creating a Developer Community

  • 1. ©2010 CloudBees, Inc. All Rights Reserved ©2010 CloudBees, Inc. All Rights Reserved Creating a Developer Community Kohsuke Kawaguchi Architect, CloudBees, Inc.
  • 2. ©2010 CloudBees, Inc. All Rights Reserved 2©2010 CloudBees, Inc. All Rights Reserved What is Jenkins? • Server app for developers – Called “Continuous Integration server” • Extensible via plugins • Easy to get started & configure jenkins-ci.org
  • 3. ©2010 CloudBees, Inc. All Rights Reserved 3©2010 CloudBees, Inc. All Rights Reserved Jenkins, by the numbers • 2004 Started as a hobby project • 2006 2nd committer join the project • 2008 Jenkins became my day job • 2012 – 450 releases – 450+ plugins – 300+ developers – 27K installations, 500K users(?)
  • 4. ©2010 CloudBees, Inc. All Rights Reserved 4©2010 CloudBees, Inc. All Rights Reserved Hence my talk today • How to create a developer community? – Without any significant resources • I think I have some recipes to share – Tried & proven in multiple projects
  • 5. ©2010 CloudBees, Inc. All Rights Reserved 5©2010 CloudBees, Inc. All Rights Reserved Models of OSS projects • Company-sponsored (JBoss, Spring, etc) – Dominated by a single entity – User community, yes, but developer community? • Foundation (Apache, Eclipse, etc.) – Established existing culture, brand, process • Neither of them work for small projects
  • 6. ©2010 CloudBees, Inc. All Rights Reserved 6©2010 CloudBees, Inc. All Rights Reserved Every developer starts as a visitor Visitor User Developer
  • 7. ©2010 CloudBees, Inc. All Rights Reserved 7©2010 CloudBees, Inc. All Rights Reserved Think about Conversion Funnel • Visitor to user – Download, install, initial configuration, … • User to developer – Obtain source code, build, run, contribute, … • Obstacles, however little, add up quickly • You don’t see the lost opportunities
  • 8. ©2010 CloudBees, Inc. All Rights Reserved 8©2010 CloudBees, Inc. All Rights Reserved Download link? How hard is that…
  • 9. ©2010 CloudBees, Inc. All Rights Reserved 9©2010 CloudBees, Inc. All Rights Reserved
  • 10. ©2010 CloudBees, Inc. All Rights Reserved 10©2010 CloudBees, Inc. All Rights Reserved But obvious it’s not…
  • 11. ©2010 CloudBees, Inc. All Rights Reserved 11©2010 CloudBees, Inc. All Rights Reserved But obvious it’s not…
  • 12. ©2010 CloudBees, Inc. All Rights Reserved 12©2010 CloudBees, Inc. All Rights Reserved But obvious it’s not…
  • 13. ©2010 CloudBees, Inc. All Rights Reserved 13©2010 CloudBees, Inc. All Rights Reserved But obvious it’s not…
  • 14. ©2010 CloudBees, Inc. All Rights Reserved 14©2010 CloudBees, Inc. All Rights Reserved What to do after download? • Installation guide – 31 page PDF • Quick start guide – 15 page PDF
  • 15. ©2010 CloudBees, Inc. All Rights Reserved 15©2010 CloudBees, Inc. All Rights Reserved User support • Great opportunity to convert users to developers – Catch them when they are willing to spend some efforts – Push source code in front of them
  • 16. ©2010 CloudBees, Inc. All Rights Reserved 16©2010 CloudBees, Inc. All Rights Reserved Make them read code • Developers tend to forget about this • Lot can be done to improve experience – Online browsing – Source code cross reference – Aggregate multiple modules – Better documentation
  • 17. ©2010 CloudBees, Inc. All Rights Reserved 17©2010 CloudBees, Inc. All Rights Reserved Let them hack code • Is it obvious how to check out code? • How to build/run/test/debug it? • Common pitfalls – Lots of additional pre-requisites – Non obvious failure mode when you make mistake
  • 18. ©2010 CloudBees, Inc. All Rights Reserved 18©2010 CloudBees, Inc. All Rights Reserved Modularity • Your big app needs to be split into pieces – Pieces that are individually useful • Why? – Some people care about one piece but not your big app – Every piece reused by one developer gets 100s of users – It’s a good software engineering anyway
  • 19. ©2010 CloudBees, Inc. All Rights Reserved 19©2010 CloudBees, Inc. All Rights Reserved Programmability • Every software should be a library – Let other programs talk to your program – There’s always a layer above you • Every one developer building on top of you = 100s of users • Don’t work on the same dish – Split the meal to multiple dishes instead
  • 20. ©2010 CloudBees, Inc. All Rights Reserved 20©2010 CloudBees, Inc. All Rights Reserved Division of labor > Collaboration • Collaborating on the same code is hard – Communication is painful – Time zones aren’t disappearing – Difference of opinions, practices, & beliefs – Especially so for faceless OSS collaboration • Collaboration doesn’t scale – Every new contributor needs your time
  • 21. ©2010 CloudBees, Inc. All Rights Reserved 21©2010 CloudBees, Inc. All Rights Reserved Therefore, silo is a good thing • Extensibility (aka plugins) – e.g., Eclipse, Ant, Maven, Jenkins, … – Requirement for building a developer community • Principles – Modularity taken to its logical consequences – Users should see seamless software
  • 22. ©2010 CloudBees, Inc. All Rights Reserved 22©2010 CloudBees, Inc. All Rights Reserved Everyone can claim they’ve got extensibility • Symptoms of fake extensibility – One API for internal use, another for plugins – There are things “core” can do that plugins can’t – Features from plugins look different • Core has to live by the same rules you impose on plugins
  • 23. ©2010 CloudBees, Inc. All Rights Reserved 23©2010 CloudBees, Inc. All Rights Reserved It works because… • You don’t see “crappy” code of others • You don’t need to reject “whacky” ideas – From time to time other people will prove you wrong – Encourages innovations without your making risky bets • It’s scalable – New plugins have ~0 overhead to you • People feel sense of ownership/stake
  • 24. ©2010 CloudBees, Inc. All Rights Reserved 24©2010 CloudBees, Inc. All Rights Reserved Extensibility alone is not enough • Center of gravity is needed – Or else devs will do it in their own caves – Failed example: Ant • Benefits – Sustains the project when people move on – Grows new core developers – Enables sharing, reuse, and improvements
  • 25. ©2010 CloudBees, Inc. All Rights Reserved 25©2010 CloudBees, Inc. All Rights Reserved Center of gravity in Jenkins: Update Center • Mechanism to distribute plugins – This is how users install them • In Jenkins, this is tied to source code hosting • One commit access for all repositories
  • 26. ©2010 CloudBees, Inc. All Rights Reserved 26©2010 CloudBees, Inc. All Rights Reserved Lowering the barrier to entry • Remember the funnel – Make something easy, and get more of them • In Jenkins, everyone gets a commit access just by asking – Akin to Wikipedia • Encourages small contributions • Made feasible with silo approach
  • 27. ©2010 CloudBees, Inc. All Rights Reserved 27©2010 CloudBees, Inc. All Rights Reserved Conclusions • There are many shapes and forms to OSS projects – Don’t blindly follow what big guys are doing • Code is just one piece of puzzle • Make everything easy, relentlessly • Bend over backward to make lives easier for other people