Home
Explore
Submit Search
Upload
Login
Signup
Advertisement
Check these out next
jQuery Foundation Keynote
Richard Worth
Developer Marketing: Tactics & Technology
Murtza Manzur
jQuery Conference 2010 - Getting Involved
Ralph Whitbeck
DevOps Indonesia #13 - annoucement
DevOps Indonesia
SPA Philly Code Camp
Jennifer Kenderdine
Social Network-Vinfotech
RanuJain
Multisite Content Deployments for Media Organizations
Dick Olsson
Women Who Mule - Workshop series: Create your own blog from scratch without a...
Alexandra N. Martinez
1
of
27
Top clipped slide
Creating a Developer Community
Feb. 1, 2012
•
0 likes
32 likes
×
Be the first to like this
Show More
•
4,835 views
views
×
Total views
0
On Slideshare
0
From embeds
0
Number of embeds
0
Download Now
Download to read offline
Report
Technology
My talk at Monki Gras. 2012 Feb, London
Kohsuke Kawaguchi
Follow
Architect at CloudBees
Advertisement
Advertisement
Advertisement
Recommended
Building a developer community in an enterprise world
Laura Cowen
1.2K views
•
29 slides
WordPress Café: WordPress Multisite - Multiply your sites, not the hassle
Exove
862 views
•
11 slides
Drupal vs. the Others
Exove
2.9K views
•
48 slides
Announcement DevOps indonesia meetup @shopee
WisnuPrabowo20
50 views
•
25 slides
CMX Series - Building Developer Community Through Hackathons
Sarah-Jane Morris
2.5K views
•
16 slides
Building Community Through Hackathons by Sarah-Jane Morris
CMX
688 views
•
16 slides
More Related Content
Slideshows for you
(11)
jQuery Foundation Keynote
Richard Worth
•
5.1K views
Developer Marketing: Tactics & Technology
Murtza Manzur
•
2.8K views
jQuery Conference 2010 - Getting Involved
Ralph Whitbeck
•
2.4K views
DevOps Indonesia #13 - annoucement
DevOps Indonesia
•
95 views
SPA Philly Code Camp
Jennifer Kenderdine
•
976 views
Social Network-Vinfotech
RanuJain
•
92 views
Multisite Content Deployments for Media Organizations
Dick Olsson
•
589 views
Women Who Mule - Workshop series: Create your own blog from scratch without a...
Alexandra N. Martinez
•
292 views
What Really Changed with Drupal 8
Dick Olsson
•
441 views
Guardian devexp and_discovery
Ade Oshineye
•
535 views
WordPress Workshop
Purushottam Dahal
•
407 views
Similar to Creating a Developer Community
(20)
How we made jenkins community
Kohsuke Kawaguchi
•
1.2K views
Tap into the power of slaves with Jenkins by Kohsuke Kawaguchi
ZeroTurnaround
•
4.8K views
Webinar: "Continuous Delivery with Jenkins"
Emerasoft, solutions to collaborate
•
602 views
OWF12/Java Sacha labourey
Paris Open Source Summit
•
498 views
Choisir le bon business model et la bonne licence pour la survie de son proje...
Open Source Experience
•
36 views
Amazon Web Services and PaaS - Enterprise Java for the Cloud Era? - Mark Pric...
jaxconf
•
372 views
Intalio create and cloudfoudry - short
hmalphettes
•
545 views
Enterprise software needs a PaaS
hmalphettes
•
946 views
The Coming OSS Sustainability Crisis
Aaron Stannard
•
237 views
Java / Opening Open Source the Jenkins Way - Nicolas de Loof, CloudBees
Paris Open Source Summit
•
2.4K views
GitOps, Jenkins X &Future of CI/CD
Rakuten Group, Inc.
•
915 views
Using containerization to enable your microservice architecture
Apigee | Google Cloud
•
865 views
Journée DevOps : De l'intégration continue au déploiement continu avec Jenkins
Publicis Sapient Engineering
•
2.6K views
Webinar - Should You Upgrade to Adobe Creative Cloud? - 2017-02-23
TechSoup
•
940 views
Digital Doha Summit - ICT Qatar and Open Source
Forum One
•
707 views
Large scale automation with jenkins
Kohsuke Kawaguchi
•
15.2K views
Enterprise CI as-a-Service using Jenkins
CollabNet
•
10.5K views
AWS Webcast - Neudesic Data Centermigrationtoaws
Amazon Web Services
•
1.8K views
Securing jenkins
CloudBees
•
13.7K views
Selecting an Open Source License and Business Model for Your Project to Have ...
All Things Open
•
54 views
Advertisement
More from Kohsuke Kawaguchi
(20)
Jenkins 2.0 (日本語)
Kohsuke Kawaguchi
•
17.9K views
Workflow, container, and beyond
Kohsuke Kawaguchi
•
2.6K views
Jenkins User Conference 東京 2015
Kohsuke Kawaguchi
•
8.2K views
JavaOne 2014: Next Step in Automation: Elastic Build Environment
Kohsuke Kawaguchi
•
2.6K views
On sharing ideas & sharing code
Kohsuke Kawaguchi
•
1.8K views
コードの互換性と進化の両立
Kohsuke Kawaguchi
•
11.3K views
Jenkins User Conference 2013: Literate, multi-branch, mobile and more
Kohsuke Kawaguchi
•
3.1K views
Jenkins User Conference 2013 Palo Alto: Keynote
Kohsuke Kawaguchi
•
2.3K views
Jenkins State of union 2013
Kohsuke Kawaguchi
•
2.1K views
第六回Jenkins勉強会
Kohsuke Kawaguchi
•
5.5K views
Jenkins User Conference 2012 San Francisco
Kohsuke Kawaguchi
•
2.5K views
Jenkins+Gitによる検証済みマージ(30分版)
Kohsuke Kawaguchi
•
4K views
ここ最近のJenkins新機能
Kohsuke Kawaguchi
•
2K views
Jenkins user conference 東京
Kohsuke Kawaguchi
•
6.6K views
Dev@cloudの実装
Kohsuke Kawaguchi
•
3.3K views
Developer summit continuous deliveryとjenkins
Kohsuke Kawaguchi
•
3.6K views
Jenkins user conference 2011
Kohsuke Kawaguchi
•
13.4K views
プロジェクト現状報告・Rubyによるjenkinsプラグイン開発
Kohsuke Kawaguchi
•
2.3K views
Current state of Jenkins
Kohsuke Kawaguchi
•
2.9K views
Jenkins勉強会第二回
Kohsuke Kawaguchi
•
1K views
Recently uploaded
(20)
AWS_FSI_Migrations_Webinar_PPT.pdf
Abhinav Gupta
•
0 views
Presentation.pptx
AyeshaIndunil
•
0 views
Ch 2.pdf
MuhammadAsif1069
•
0 views
Network Analyst with Hex64.docx
HEX64
•
0 views
AlamofirebyJun.pdf
JUNSHIN8
•
0 views
Ch 1.pdf
MuhammadAsif1069
•
0 views
Blue Green Strategy Plan MIT Capstone 02242023.pdf
Rob Eby
•
0 views
Real-Time Text and WebRTC @ Kamailio World 2023
Lorenzo Miniero
•
0 views
Futures for the Web - Reclaim 2023.pptx
Bryan Alexander
•
0 views
TenT-Day08.pptx
JohanMyburgh15
•
0 views
TenT-Day02.pptx
JohanMyburgh15
•
0 views
01class_object_references & 02Generation_GC.pptx
ssuser95922e
•
0 views
C++ Programming.pdf
MrRSmey
•
0 views
ArTIFICIAL INTELLIGENCE(AI).pptx
RedValentine
•
0 views
Metaverse x AI x Web3 x Sustainability Convergence
Alex G. Lee, Ph.D. Esq. CLP
•
0 views
Causal Repair of Learning-Enabled Cyber-physical Systems
Ivan Ruchkin
•
0 views
What is Philosophy in Technology?
Roman Krzanowski
•
0 views
Ch 4.pdf
MuhammadAsif1069
•
0 views
Improving typing skills RESEARCH.pptx
RamerieCalagoyo
•
0 views
Webinar: Bancada de eletrônica profissional
Embarcados
•
0 views
Advertisement
Creating a Developer Community
©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
Advertisement