SlideShare une entreprise Scribd logo
1  sur  51
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

Contenu connexe

Similaire à 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
 

Similaire à 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
 

Plus 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
 

Plus 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
 

Dernier

Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 

Dernier (20)

Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 

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