SlideShare una empresa de Scribd logo
The Apache Way
Rich Bowen
The Apache Software
Foundation
The Apache Way
A collaborative slidedeck with contributions
from ${ASF_Members}
(in particular Ross Gardler, Justin
Erenkrantz, Isabel Drost, Nick Burch, Jim
Jagielski, and Lars Eilebrecht)
What will we try to cover?
● How the foundation works
● How we develop code
● What we have found that works
● What hasn't worked so well...
● Business and Apache
But first, some history!
Informal Collaboration (1995)
● Apache Group
– 8 people
– sharing code on abandoned NCSA httpd
● Apache web server releases
– 0.6.2 (first public release) April 1995
– 1.0 released 1st
December 1995
A Foundation (1999)
● Commercial opportunities
– Formal legal structure required
● Membership based charity
– IRS 501(c)3
– Donations by individuals tax-deductible (in US)
● Virtual world-wide organization
● First ApacheCon March 2000
– Apache 2.0 Alpha 1
● First EU ApacheCon October 2000
Today
● Hundreds of projects
– Small libraries
– Critical infrastructure
– End user tools
● Well defined project governance
● Formal mentoring
● Accelerating growth
The ASF, By Numbers
● Projects = 113
● Incubating Projects = 34
● Board/President Committees = 10
● Board Members = 9
● Foundation Members = ~500
● PMC Committee Members = ~1500
● Committers = ~3400
● ICLAs = ~5100
Apache Projects
Abdera
Accumulo
ACE
ActiveMQ
Airavata
Ant
APR
Archiva
Aries
Avro
Axis
Buildr
BVal
Camel
Cassandra
Cayenne
Chemistry
Click
Cocoon
Commons
Continuum
CouchDB
Creadur
CXF
DB
Deltacloud
Directory
Empire-db
ESME
Etch
Felix
Flex
Flume
Forrest
Geronimo
Gora
Gump
Hadoop
Hama
HBase
Hive
HttpComponents
HTTP Server
Jackrabbit
James
Jena
JMeter
jUDDI
Karaf
Lenya
Libcloud
Logging
Lucene
Lucy
Mahout
ManifoldCF
Maven
MINA
MRUnit
MyFaces
Nutch
ODE
OFBiz
Oltu
OODT
Oozie
OpenJPA
OpenMeetings
OpenNLP
OpenOffice
OpenWebBeans
PDFBox
Perl
Pig
Pivot
POI
Portals
Qpid
Rave
River
Roller
Santuario
ServiceMix
Shindig
Shiro
Sling
SpamAssassin
STDCXX
Sqoop
Struts
Subversion
Synapse
Syncope
Tapestry
Tcl
Thrift
Tika
Tiles
Tomcat
TomEE
Traffic Server
Turbine
Tuscany
UIMA
Velocity
Web Services
Whirr
Wicket
Xalan
Xerces
XMLBeans
XML Graphics
ZooKeeper
Foundation Structure
Org structure
● Member-based corporation - individuals
only
● Members nominate and elect new
members
● Members elect a board - 9 seats
● Semi-annual meetings via IRC
● Each PMC has a Chair - eyes and ears of
the board (oversight only)
One way to view it
Another way
● A number of projects
● Each responsible for their own code,
community and direction
● Board provides oversight, but has no say
on what code gets written, what direction
projects take, what new projects we should
start etc
● Various support (eg infra, branding, press)
to help projects focus just on their code +
community
Labs
● Members can start new “scratch” projects
● Some graduate to TLPs (eg. Steve)
● Most languish in obscurity, but give a place
to work out interesting problems
Incubator
● Process for a project to enter the ASF
● Legal: Can we release the code under our
license?
● Community: Is the project sustainable?
● Educational: Do they know how we do
things?
Incubating Projects
Attic
● Graveyard?
● Landfill?
● Hopefully more like Grandma's attic where
you can find cool stuff and repurpose it
years later.
Not all “Plain Sailing”
● Jakarta “Foundation”
– Jakarta was an “Umbrella” for all Java projects
– Successful brand in its own right
● Tomcat, Struts, Ant and many more
innovations
● Started to copy foundation structure
– “Mini”-board … but problems arose …
– Avalon: Who was responsible?
Importance of Oversight
● Jakarta demonstrated that Umbrellas are
bad
– Flattened organisational structure
– Jakarta projects became top level projects
● All projects submit board reports quarterly
– Community focused
– Not technical focus
● Board can, and does (occasionally)
intervene
– On community issues only
The Apache Ecosystem
Bottom-up management
● Board does not say “we want X”
● Developers say “X is cool”
– We enable developers to do cool stuff
– Apache developers are at the forefront of
innovation
● Not interested in a single runner
– We want relay teams
– Community is critical to the Apache Way
● Apache is about support communities
Example: Git
● Various projects wanted to experiment with
Git, whereas we had traditionally used svn
● After much debate, Infrastructure provided
Git for projects to try out
● Board expressed concern about how it
might affect community dynamics, but in
the end it was up to the projects
themselves
● Projects now have the choice of SCM
So, why have a board?
● The board exists because the state of
Delaware requires a 501 to have oversight
● The Foundation exists to provide a
structure to
– Accept donations tax-free
– Do fundraising activities
– Sign contracts
– Hire employees
– Provide legal protection to projects
(nearly) All volunteer work
● If you want something done
– Volunteer on the appropriate committee
● A few paid contractors - all the stuff we're
bad at or don't want to do
– Press/Marketing
– Infrastructure/Sysadmin
– Administration/Conferences
● No paid committers
Meritocracy: The Apache Way
Types of contribution
● Any constructive contribution earns merit
– Permissively licensed only
● Not just code
– Evangelism
– Bug reports and triage
– Testing
– Documentation
– Design feedback
– User support
– Etc.
All contributions are equal
● Merit does not buy you authority
– The community must still agree
● Merit buys you privileges, e.g.
– Commit access
– Conflict resolution capabilities
● Community agrees on direction
● Individuals then make it happen
Decision Making
● Most decisions are reversible
● “If it didn't happen on the list, it didn't
happen”
● Uncontroversial or small changes
– Lazy Consensus – assume it's OK –
JFDI
● Controversial, irreversible or large changes
– Propose then wait a minimum of 72
hours
CTR/RTC
● Commit Then Review
– Small reversible changes
– Project in active development
● Review Then Commit
– Large or Controversial changes
– Stable/Maintenance branch
Finding that list
● Listed on project website
● dev@project.apache.org
– Primary list
● commits@project.apache.org
– Automated source change notification
● users@proejct.apache.org (optional)
– User-to-user support
● http://mail-archives.apache.org
No Jerks Allowed!
● Most people are nice
– We all have bad days
– Some are, well, Jerks
● Trolls exist
– DO NOT FEED
● Don't become a poisonous person
“How Open Source Projects Survive
Poisonous People (And You Can Too)” by
Ben Collins-Sussman and Brian Fitzpatrick
http://video.google.com/videoplay?docid=-4216011961522818645
Community > Code
● More than just a clever slogan
● We can rewrite the code
● Poisonous people spoil the fun
However ...
● Many businesses rely on what we do for
fun. So it's important that projects be
– Sustainable (See: Diversity)
– Legal (patent, copyright, licenses, etc ...)
– Available (See: Infrastructure)
Business and the Apache Way
Ways to Contribute
● Documentation, Tutorials and Examples
● Helping others with queries and questions
● Issue / bug tracker triage
● Testing new fixes, helping reproduce
problems
● Bug Fixes and New Features
● Writing add-ons and extensions
● Mentoring, volunteering for the Foundation
Companies Contributing
● Everyone at Apache is there as an individual
● Companies can't buy access or committership
● To get involved, need to put employees to work
on the project, have them gain merit
● BDFLs are not allowed, everyone has an equal
voice
● Diversity of community means one company
can't dominate
● Means you can safely build your business on it
Mentorship - Multiply your impact
Permissive License
License
● Apache License
● Very permissive
● We encourage you to give back, but we
don't require it
● This makes it very business-friendly
In Summary
● It works!
● It's the best way we know of to develop
Open Source Software in a collaborative,
open and meritocratic way
● Some things can seem hard at first
● But there's normally a reason why
● Ask questions! Much is documented, but
not all, and not all in the same place
● Learn, participate, improve!
The Apache Way
Rich Bowen / @rbowen /
rbowen@apache.org
Thanks for listening! Questions?
A collaborative slidedeck with contributions from
Nick Burch, Ross Gardler, Lars Eilebrecht,
Justin Erenkrantz and Isabel Drost

Más contenido relacionado

Similar a The apacheway

Community Over Code: How to Build a Successful Project
Community Over Code: How to Build a Successful ProjectCommunity Over Code: How to Build a Successful Project
Community Over Code: How to Build a Successful ProjectJoe Brockmeier
 
Open Source Lessons from the TODO Group
Open Source Lessons from the TODO GroupOpen Source Lessons from the TODO Group
Open Source Lessons from the TODO GroupChris Aniszczyk
 
Building software: the lessons from open source
Building software: the lessons from open sourceBuilding software: the lessons from open source
Building software: the lessons from open sourceArnaud Porterie
 
Michael Widenius
Michael WideniusMichael Widenius
Michael WideniusCodeFest
 
"Open Source and the Choice to Cooperate" by Brian Behlendorf @ eLiberatica 2007
"Open Source and the Choice to Cooperate" by Brian Behlendorf @ eLiberatica 2007"Open Source and the Choice to Cooperate" by Brian Behlendorf @ eLiberatica 2007
"Open Source and the Choice to Cooperate" by Brian Behlendorf @ eLiberatica 2007eLiberatica
 
Thriving in an Environment of Change
Thriving in an Environment of ChangeThriving in an Environment of Change
Thriving in an Environment of ChangeNeeraj Bhatia
 
Enhancing Software Engineering Practices at Our Startup.pptx
Enhancing Software Engineering Practices at Our Startup.pptxEnhancing Software Engineering Practices at Our Startup.pptx
Enhancing Software Engineering Practices at Our Startup.pptxmuktar42
 
Oscon 2016: open source lessons from the todo group
Oscon 2016: open source lessons from the todo groupOscon 2016: open source lessons from the todo group
Oscon 2016: open source lessons from the todo groupBen VanEvery
 
Open Source Building Career and Competency
Open Source Building Career and CompetencyOpen Source Building Career and Competency
Open Source Building Career and CompetencyKrishna-Kumar
 
The Lost Tales of Platform Design (February 2017)
The Lost Tales of Platform Design (February 2017)The Lost Tales of Platform Design (February 2017)
The Lost Tales of Platform Design (February 2017)Julien SIMON
 
Ruby and Start-ups
Ruby and Start-upsRuby and Start-ups
Ruby and Start-upsF T
 
driving adoption of lotus connections
driving adoption of lotus connectionsdriving adoption of lotus connections
driving adoption of lotus connectionsdominion
 
Netflix OSS Meetup Season 4 Episode 4
Netflix OSS Meetup Season 4 Episode 4Netflix OSS Meetup Season 4 Episode 4
Netflix OSS Meetup Season 4 Episode 4aspyker
 
Why Open Source Products Are Important by a Google Tech Manager
Why Open Source Products Are Important by a Google Tech ManagerWhy Open Source Products Are Important by a Google Tech Manager
Why Open Source Products Are Important by a Google Tech ManagerProduct School
 
What’s Driving Open Source (for MyGOSSCon)
What’s Driving Open Source (for MyGOSSCon)What’s Driving Open Source (for MyGOSSCon)
What’s Driving Open Source (for MyGOSSCon)Simon Phipps
 
Open Source Product Management
Open Source Product ManagementOpen Source Product Management
Open Source Product ManagementDanny Rosen
 
WE16 - Navigating the Seas of Open Source Projects
WE16 - Navigating the Seas of Open Source ProjectsWE16 - Navigating the Seas of Open Source Projects
WE16 - Navigating the Seas of Open Source ProjectsSociety of Women Engineers
 

Similar a The apacheway (20)

Community Over Code: How to Build a Successful Project
Community Over Code: How to Build a Successful ProjectCommunity Over Code: How to Build a Successful Project
Community Over Code: How to Build a Successful Project
 
The Apache Way
The Apache WayThe Apache Way
The Apache Way
 
The Apache Way
The Apache WayThe Apache Way
The Apache Way
 
Open Source Lessons from the TODO Group
Open Source Lessons from the TODO GroupOpen Source Lessons from the TODO Group
Open Source Lessons from the TODO Group
 
Building software: the lessons from open source
Building software: the lessons from open sourceBuilding software: the lessons from open source
Building software: the lessons from open source
 
Michael Widenius
Michael WideniusMichael Widenius
Michael Widenius
 
"Open Source and the Choice to Cooperate" by Brian Behlendorf @ eLiberatica 2007
"Open Source and the Choice to Cooperate" by Brian Behlendorf @ eLiberatica 2007"Open Source and the Choice to Cooperate" by Brian Behlendorf @ eLiberatica 2007
"Open Source and the Choice to Cooperate" by Brian Behlendorf @ eLiberatica 2007
 
Thriving in an Environment of Change
Thriving in an Environment of ChangeThriving in an Environment of Change
Thriving in an Environment of Change
 
Enhancing Software Engineering Practices at Our Startup.pptx
Enhancing Software Engineering Practices at Our Startup.pptxEnhancing Software Engineering Practices at Our Startup.pptx
Enhancing Software Engineering Practices at Our Startup.pptx
 
Oscon 2016: open source lessons from the todo group
Oscon 2016: open source lessons from the todo groupOscon 2016: open source lessons from the todo group
Oscon 2016: open source lessons from the todo group
 
Open Source Building Career and Competency
Open Source Building Career and CompetencyOpen Source Building Career and Competency
Open Source Building Career and Competency
 
The Lost Tales of Platform Design (February 2017)
The Lost Tales of Platform Design (February 2017)The Lost Tales of Platform Design (February 2017)
The Lost Tales of Platform Design (February 2017)
 
Ruby and Start-ups
Ruby and Start-upsRuby and Start-ups
Ruby and Start-ups
 
driving adoption of lotus connections
driving adoption of lotus connectionsdriving adoption of lotus connections
driving adoption of lotus connections
 
Netflix OSS Meetup Season 4 Episode 4
Netflix OSS Meetup Season 4 Episode 4Netflix OSS Meetup Season 4 Episode 4
Netflix OSS Meetup Season 4 Episode 4
 
From 1 to 100
From 1 to 100From 1 to 100
From 1 to 100
 
Why Open Source Products Are Important by a Google Tech Manager
Why Open Source Products Are Important by a Google Tech ManagerWhy Open Source Products Are Important by a Google Tech Manager
Why Open Source Products Are Important by a Google Tech Manager
 
What’s Driving Open Source (for MyGOSSCon)
What’s Driving Open Source (for MyGOSSCon)What’s Driving Open Source (for MyGOSSCon)
What’s Driving Open Source (for MyGOSSCon)
 
Open Source Product Management
Open Source Product ManagementOpen Source Product Management
Open Source Product Management
 
WE16 - Navigating the Seas of Open Source Projects
WE16 - Navigating the Seas of Open Source ProjectsWE16 - Navigating the Seas of Open Source Projects
WE16 - Navigating the Seas of Open Source Projects
 

Más de Rich Bowen

Why your employees should contribute to Open Source
Why your employees should contribute to Open SourceWhy your employees should contribute to Open Source
Why your employees should contribute to Open SourceRich Bowen
 
URL Mapping, with and without mod_rewrite
URL Mapping, with and without mod_rewriteURL Mapping, with and without mod_rewrite
URL Mapping, with and without mod_rewriteRich Bowen
 
Don't be a jerk
Don't be a jerkDon't be a jerk
Don't be a jerkRich Bowen
 
mod_rewrite bootcamp, Ohio LInux 2011
mod_rewrite bootcamp, Ohio LInux 2011mod_rewrite bootcamp, Ohio LInux 2011
mod_rewrite bootcamp, Ohio LInux 2011Rich Bowen
 
Apache Wizardry - Ohio Linux 2011
Apache Wizardry - Ohio Linux 2011Apache Wizardry - Ohio Linux 2011
Apache Wizardry - Ohio Linux 2011Rich Bowen
 
Apache Cookbook - TekX Chicago 2010
Apache Cookbook - TekX Chicago 2010Apache Cookbook - TekX Chicago 2010
Apache Cookbook - TekX Chicago 2010Rich Bowen
 

Más de Rich Bowen (6)

Why your employees should contribute to Open Source
Why your employees should contribute to Open SourceWhy your employees should contribute to Open Source
Why your employees should contribute to Open Source
 
URL Mapping, with and without mod_rewrite
URL Mapping, with and without mod_rewriteURL Mapping, with and without mod_rewrite
URL Mapping, with and without mod_rewrite
 
Don't be a jerk
Don't be a jerkDon't be a jerk
Don't be a jerk
 
mod_rewrite bootcamp, Ohio LInux 2011
mod_rewrite bootcamp, Ohio LInux 2011mod_rewrite bootcamp, Ohio LInux 2011
mod_rewrite bootcamp, Ohio LInux 2011
 
Apache Wizardry - Ohio Linux 2011
Apache Wizardry - Ohio Linux 2011Apache Wizardry - Ohio Linux 2011
Apache Wizardry - Ohio Linux 2011
 
Apache Cookbook - TekX Chicago 2010
Apache Cookbook - TekX Chicago 2010Apache Cookbook - TekX Chicago 2010
Apache Cookbook - TekX Chicago 2010
 

Último

10 Differences between Sales Cloud and CPQ, Blanka Doktorová
10 Differences between Sales Cloud and CPQ, Blanka Doktorová10 Differences between Sales Cloud and CPQ, Blanka Doktorová
10 Differences between Sales Cloud and CPQ, Blanka DoktorováCzechDreamin
 
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya HalderCustom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya HalderCzechDreamin
 
Structuring Teams and Portfolios for Success
Structuring Teams and Portfolios for SuccessStructuring Teams and Portfolios for Success
Structuring Teams and Portfolios for SuccessUXDXConf
 
Agentic RAG What it is its types applications and implementation.pdf
Agentic RAG What it is its types applications and implementation.pdfAgentic RAG What it is its types applications and implementation.pdf
Agentic RAG What it is its types applications and implementation.pdfChristopherTHyatt
 
Syngulon - Selection technology May 2024.pdf
Syngulon - Selection technology May 2024.pdfSyngulon - Selection technology May 2024.pdf
Syngulon - Selection technology May 2024.pdfSyngulon
 
AI revolution and Salesforce, Jiří Karpíšek
AI revolution and Salesforce, Jiří KarpíšekAI revolution and Salesforce, Jiří Karpíšek
AI revolution and Salesforce, Jiří KarpíšekCzechDreamin
 
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxIOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxAbida Shariff
 
Salesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
Salesforce Adoption – Metrics, Methods, and Motivation, Antone KomSalesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
Salesforce Adoption – Metrics, Methods, and Motivation, Antone KomCzechDreamin
 
Designing for Hardware Accessibility at Comcast
Designing for Hardware Accessibility at ComcastDesigning for Hardware Accessibility at Comcast
Designing for Hardware Accessibility at ComcastUXDXConf
 
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...FIDO Alliance
 
Enterprise Knowledge Graphs - Data Summit 2024
Enterprise Knowledge Graphs - Data Summit 2024Enterprise Knowledge Graphs - Data Summit 2024
Enterprise Knowledge Graphs - Data Summit 2024Enterprise Knowledge
 
Demystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John StaveleyDemystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John StaveleyJohn Staveley
 
Connecting the Dots in Product Design at KAYAK
Connecting the Dots in Product Design at KAYAKConnecting the Dots in Product Design at KAYAK
Connecting the Dots in Product Design at KAYAKUXDXConf
 
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdfHow Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdfFIDO Alliance
 
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...CzechDreamin
 
Introduction to Open Source RAG and RAG Evaluation
Introduction to Open Source RAG and RAG EvaluationIntroduction to Open Source RAG and RAG Evaluation
Introduction to Open Source RAG and RAG EvaluationZilliz
 
ECS 2024 Teams Premium - Pretty Secure
ECS 2024   Teams Premium - Pretty SecureECS 2024   Teams Premium - Pretty Secure
ECS 2024 Teams Premium - Pretty SecureFemke de Vroome
 
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...CzechDreamin
 
A Business-Centric Approach to Design System Strategy
A Business-Centric Approach to Design System StrategyA Business-Centric Approach to Design System Strategy
A Business-Centric Approach to Design System StrategyUXDXConf
 
UiPath Test Automation using UiPath Test Suite series, part 2
UiPath Test Automation using UiPath Test Suite series, part 2UiPath Test Automation using UiPath Test Suite series, part 2
UiPath Test Automation using UiPath Test Suite series, part 2DianaGray10
 

Último (20)

10 Differences between Sales Cloud and CPQ, Blanka Doktorová
10 Differences between Sales Cloud and CPQ, Blanka Doktorová10 Differences between Sales Cloud and CPQ, Blanka Doktorová
10 Differences between Sales Cloud and CPQ, Blanka Doktorová
 
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya HalderCustom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
 
Structuring Teams and Portfolios for Success
Structuring Teams and Portfolios for SuccessStructuring Teams and Portfolios for Success
Structuring Teams and Portfolios for Success
 
Agentic RAG What it is its types applications and implementation.pdf
Agentic RAG What it is its types applications and implementation.pdfAgentic RAG What it is its types applications and implementation.pdf
Agentic RAG What it is its types applications and implementation.pdf
 
Syngulon - Selection technology May 2024.pdf
Syngulon - Selection technology May 2024.pdfSyngulon - Selection technology May 2024.pdf
Syngulon - Selection technology May 2024.pdf
 
AI revolution and Salesforce, Jiří Karpíšek
AI revolution and Salesforce, Jiří KarpíšekAI revolution and Salesforce, Jiří Karpíšek
AI revolution and Salesforce, Jiří Karpíšek
 
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxIOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
 
Salesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
Salesforce Adoption – Metrics, Methods, and Motivation, Antone KomSalesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
Salesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
 
Designing for Hardware Accessibility at Comcast
Designing for Hardware Accessibility at ComcastDesigning for Hardware Accessibility at Comcast
Designing for Hardware Accessibility at Comcast
 
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...
 
Enterprise Knowledge Graphs - Data Summit 2024
Enterprise Knowledge Graphs - Data Summit 2024Enterprise Knowledge Graphs - Data Summit 2024
Enterprise Knowledge Graphs - Data Summit 2024
 
Demystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John StaveleyDemystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John Staveley
 
Connecting the Dots in Product Design at KAYAK
Connecting the Dots in Product Design at KAYAKConnecting the Dots in Product Design at KAYAK
Connecting the Dots in Product Design at KAYAK
 
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdfHow Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
 
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
 
Introduction to Open Source RAG and RAG Evaluation
Introduction to Open Source RAG and RAG EvaluationIntroduction to Open Source RAG and RAG Evaluation
Introduction to Open Source RAG and RAG Evaluation
 
ECS 2024 Teams Premium - Pretty Secure
ECS 2024   Teams Premium - Pretty SecureECS 2024   Teams Premium - Pretty Secure
ECS 2024 Teams Premium - Pretty Secure
 
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
 
A Business-Centric Approach to Design System Strategy
A Business-Centric Approach to Design System StrategyA Business-Centric Approach to Design System Strategy
A Business-Centric Approach to Design System Strategy
 
UiPath Test Automation using UiPath Test Suite series, part 2
UiPath Test Automation using UiPath Test Suite series, part 2UiPath Test Automation using UiPath Test Suite series, part 2
UiPath Test Automation using UiPath Test Suite series, part 2
 

The apacheway

  • 1. The Apache Way Rich Bowen The Apache Software Foundation
  • 2. The Apache Way A collaborative slidedeck with contributions from ${ASF_Members} (in particular Ross Gardler, Justin Erenkrantz, Isabel Drost, Nick Burch, Jim Jagielski, and Lars Eilebrecht)
  • 3. What will we try to cover? ● How the foundation works ● How we develop code ● What we have found that works ● What hasn't worked so well... ● Business and Apache
  • 4. But first, some history!
  • 5. Informal Collaboration (1995) ● Apache Group – 8 people – sharing code on abandoned NCSA httpd ● Apache web server releases – 0.6.2 (first public release) April 1995 – 1.0 released 1st December 1995
  • 6. A Foundation (1999) ● Commercial opportunities – Formal legal structure required ● Membership based charity – IRS 501(c)3 – Donations by individuals tax-deductible (in US) ● Virtual world-wide organization ● First ApacheCon March 2000 – Apache 2.0 Alpha 1 ● First EU ApacheCon October 2000
  • 7. Today ● Hundreds of projects – Small libraries – Critical infrastructure – End user tools ● Well defined project governance ● Formal mentoring ● Accelerating growth
  • 8. The ASF, By Numbers ● Projects = 113 ● Incubating Projects = 34 ● Board/President Committees = 10 ● Board Members = 9 ● Foundation Members = ~500 ● PMC Committee Members = ~1500 ● Committers = ~3400 ● ICLAs = ~5100
  • 9.
  • 10. Apache Projects Abdera Accumulo ACE ActiveMQ Airavata Ant APR Archiva Aries Avro Axis Buildr BVal Camel Cassandra Cayenne Chemistry Click Cocoon Commons Continuum CouchDB Creadur CXF DB Deltacloud Directory Empire-db ESME Etch Felix Flex Flume Forrest Geronimo Gora Gump Hadoop Hama HBase Hive HttpComponents HTTP Server Jackrabbit James Jena JMeter jUDDI Karaf Lenya Libcloud Logging Lucene Lucy Mahout ManifoldCF Maven MINA MRUnit MyFaces Nutch ODE OFBiz Oltu OODT Oozie OpenJPA OpenMeetings OpenNLP OpenOffice OpenWebBeans PDFBox Perl Pig Pivot POI Portals Qpid Rave River Roller Santuario ServiceMix Shindig Shiro Sling SpamAssassin STDCXX Sqoop Struts Subversion Synapse Syncope Tapestry Tcl Thrift Tika Tiles Tomcat TomEE Traffic Server Turbine Tuscany UIMA Velocity Web Services Whirr Wicket Xalan Xerces XMLBeans XML Graphics ZooKeeper
  • 12. Org structure ● Member-based corporation - individuals only ● Members nominate and elect new members ● Members elect a board - 9 seats ● Semi-annual meetings via IRC ● Each PMC has a Chair - eyes and ears of the board (oversight only)
  • 13. One way to view it
  • 14. Another way ● A number of projects ● Each responsible for their own code, community and direction ● Board provides oversight, but has no say on what code gets written, what direction projects take, what new projects we should start etc ● Various support (eg infra, branding, press) to help projects focus just on their code + community
  • 15.
  • 16.
  • 17. Labs ● Members can start new “scratch” projects ● Some graduate to TLPs (eg. Steve) ● Most languish in obscurity, but give a place to work out interesting problems
  • 18.
  • 19. Incubator ● Process for a project to enter the ASF ● Legal: Can we release the code under our license? ● Community: Is the project sustainable? ● Educational: Do they know how we do things?
  • 21.
  • 22. Attic ● Graveyard? ● Landfill? ● Hopefully more like Grandma's attic where you can find cool stuff and repurpose it years later.
  • 23. Not all “Plain Sailing” ● Jakarta “Foundation” – Jakarta was an “Umbrella” for all Java projects – Successful brand in its own right ● Tomcat, Struts, Ant and many more innovations ● Started to copy foundation structure – “Mini”-board … but problems arose … – Avalon: Who was responsible?
  • 24. Importance of Oversight ● Jakarta demonstrated that Umbrellas are bad – Flattened organisational structure – Jakarta projects became top level projects ● All projects submit board reports quarterly – Community focused – Not technical focus ● Board can, and does (occasionally) intervene – On community issues only
  • 26. Bottom-up management ● Board does not say “we want X” ● Developers say “X is cool” – We enable developers to do cool stuff – Apache developers are at the forefront of innovation ● Not interested in a single runner – We want relay teams – Community is critical to the Apache Way ● Apache is about support communities
  • 27. Example: Git ● Various projects wanted to experiment with Git, whereas we had traditionally used svn ● After much debate, Infrastructure provided Git for projects to try out ● Board expressed concern about how it might affect community dynamics, but in the end it was up to the projects themselves ● Projects now have the choice of SCM
  • 28. So, why have a board? ● The board exists because the state of Delaware requires a 501 to have oversight ● The Foundation exists to provide a structure to – Accept donations tax-free – Do fundraising activities – Sign contracts – Hire employees – Provide legal protection to projects
  • 29.
  • 30. (nearly) All volunteer work ● If you want something done – Volunteer on the appropriate committee ● A few paid contractors - all the stuff we're bad at or don't want to do – Press/Marketing – Infrastructure/Sysadmin – Administration/Conferences ● No paid committers
  • 32.
  • 33. Types of contribution ● Any constructive contribution earns merit – Permissively licensed only ● Not just code – Evangelism – Bug reports and triage – Testing – Documentation – Design feedback – User support – Etc.
  • 34. All contributions are equal ● Merit does not buy you authority – The community must still agree ● Merit buys you privileges, e.g. – Commit access – Conflict resolution capabilities ● Community agrees on direction ● Individuals then make it happen
  • 35. Decision Making ● Most decisions are reversible ● “If it didn't happen on the list, it didn't happen” ● Uncontroversial or small changes – Lazy Consensus – assume it's OK – JFDI ● Controversial, irreversible or large changes – Propose then wait a minimum of 72 hours
  • 36. CTR/RTC ● Commit Then Review – Small reversible changes – Project in active development ● Review Then Commit – Large or Controversial changes – Stable/Maintenance branch
  • 37.
  • 38. Finding that list ● Listed on project website ● dev@project.apache.org – Primary list ● commits@project.apache.org – Automated source change notification ● users@proejct.apache.org (optional) – User-to-user support ● http://mail-archives.apache.org
  • 39. No Jerks Allowed! ● Most people are nice – We all have bad days – Some are, well, Jerks ● Trolls exist – DO NOT FEED ● Don't become a poisonous person “How Open Source Projects Survive Poisonous People (And You Can Too)” by Ben Collins-Sussman and Brian Fitzpatrick http://video.google.com/videoplay?docid=-4216011961522818645
  • 40. Community > Code ● More than just a clever slogan ● We can rewrite the code ● Poisonous people spoil the fun
  • 41. However ... ● Many businesses rely on what we do for fun. So it's important that projects be – Sustainable (See: Diversity) – Legal (patent, copyright, licenses, etc ...) – Available (See: Infrastructure)
  • 42. Business and the Apache Way
  • 43. Ways to Contribute ● Documentation, Tutorials and Examples ● Helping others with queries and questions ● Issue / bug tracker triage ● Testing new fixes, helping reproduce problems ● Bug Fixes and New Features ● Writing add-ons and extensions ● Mentoring, volunteering for the Foundation
  • 44. Companies Contributing ● Everyone at Apache is there as an individual ● Companies can't buy access or committership ● To get involved, need to put employees to work on the project, have them gain merit ● BDFLs are not allowed, everyone has an equal voice ● Diversity of community means one company can't dominate ● Means you can safely build your business on it
  • 45.
  • 46. Mentorship - Multiply your impact
  • 47.
  • 49. License ● Apache License ● Very permissive ● We encourage you to give back, but we don't require it ● This makes it very business-friendly
  • 50. In Summary ● It works! ● It's the best way we know of to develop Open Source Software in a collaborative, open and meritocratic way ● Some things can seem hard at first ● But there's normally a reason why ● Ask questions! Much is documented, but not all, and not all in the same place ● Learn, participate, improve!
  • 51. The Apache Way Rich Bowen / @rbowen / rbowen@apache.org Thanks for listening! Questions? A collaborative slidedeck with contributions from Nick Burch, Ross Gardler, Lars Eilebrecht, Justin Erenkrantz and Isabel Drost