SlideShare une entreprise Scribd logo
1  sur  47
Running a Successful
Open Source Project
Jim Jagielski
Agenda
Introduction
What exactly is “Open Source”
“Running” a successful open source community
A History of the Apache Software Foundation
Running a successful open source project
Apache HTTP Server, Tomcat, ...
Introduction
Jim Jagielski
Longest still-active developer/contributor
Co-founder of the ASF
Member, Director and Chairman
CTO/Chief Architect for the Covalent Division of
SpringSource
The draw of Open Source
Having a real impact in the development and direction of IT
Personal satisfaction: I wrote that!
Sense of membership in a community
Sense of accomplishment - very quick turnaround times
Developers and engineers love to tinker - huge opportunity
to do so
What is Open Source?
Open Source Licensing
OSI Approved
Open Source Development
ala, the Apache Software Foundation
Free Software
As in Free Speech, not Free Beer
What is Open Source?
Basically, it’s a “new” way to develop, license and distribute
code
Actually, there was “open source” even before it was called
that
The key technologies behind the Internet and the Web are all
Open Source based
Why Open Source?
Access to the source code
Avoid vendor lock-in (or worse!)
Much better software
Better security record (more eyes)
Much more nimble development - frequent releases
Direct user input
Open Source FUD
No quality or quality control
Prevents or slows development
Have to “give it away for free”
No real innovation
The ASF
ASF == The Apache Software Foundation
Before the ASF there was “The Apache Group”
The ASF was incorporated in 1999
The ASF
Non-profit corporation founded in 1999
501( c )3 charity
Volunteer organization
Virtual world-wide organization
Exists to provide the organizational, legal, and financial
support for various OSS projects
The ASF - then
Started with 21 members
2 projects
All servers and services donated
The ASF - now
We have 259 members...
>60 TLPs
~25 Incubator podlings
Tons of committers (literally)
(Over 1650 people)
Very large and growing infrastructure
The ASF’s Mission
Provide open source software to the public free of charge
Provide a foundation for open, collaborative software
development projects by supplying hardware,
communication, and business infrastructure
Create an independent legal entity to which companies and
individuals can donate resources and be assured that those
resources will be used for the public benefit
The ASF’s Mission
Provide a means for individual volunteers to be sheltered
from legal suits directed at the Foundation’s projects
Protect the ‘Apache’ brand, as applied to its software
products, from being abused by other organizations
Provide legal and technical infrastructure for open source
software development and to perform appropriate oversight
of such
How We Work
The Apache Software Foundation provides support for the
Apache community of open-source software projects. The
Apache projects are characterized by a collaborative,
consensus based development process, an open and
pragmatic software license, and a desire to create high
quality software that leads the way in its field. We consider
ourselves not simply a group of projects sharing a server, but
rather a community of developers and users.
How We Work, Take 2
Community over code
Our code should be exceptional
Structure of the ASF - dev
Volunteer Driven Organization
Software Projects are managed by Project Management
Committees (PMCs)
PMCs vote in new PMC members and committers
At the end of the day: People / Individual focused
Structure of the ASF - legal
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)
ASF “Org Chart”
Development Administrative
Users
Patchers/Buggers
Contributors
Committers
PMC Members
Members
Officers
Board
The Apache Way
Although the term is deprecated, “The Apache Way” relates
to how the ASF (and its projects) work and operate
Basically, the least common denominators on how PMCs
operate
Basic Memes
Meritocracy
Peer-based
Consensus decision making
Collaborative development
Responsible oversight
Meritocracy
“Govern by Merit”
Merit is based on what you do
Merit never expires
Those with merit, get more responsibility
Peer-based
Developers represent themselves - individuals
Mutual trust and respect
All votes hold the same weight
Community over code
Healthy communities create healthy code
Poisonous communities don’t
Why Community > Code
Since we are all volunteers, people’s time and interests
change
A healthy community is “warm and inviting” and encourages
a continued influx of developers
Poisonous people/communities turn people off, and the
project will die
End result - better code, long-term code
Consensus decision making
Key is the idea of voting
+1 - yes
+0 - no real comment
-1 - veto
Sometimes you’ll also see stuff like -0, -0.5, etc...
Voting
The main intent is to gauge developer acceptance
Vetos must be justifiable and have sound technical merit
If valid, Vetos cannot be overruled
Vetos are very rare
Commit Process
Review Then Commit (RTC)
A patch is submitted to the project for inclusion
If at least 3 +1s and no -1s, code is committed
Good for stable branches
Ensures enough “eyes on the code” on a direct-to-release
path
Commit Process
Commit Then Review (CTR)
A patch is committed directly to the code
Review Process happens post commit
Good for development branches
Depends on people doing reviews after the fact
Allows very fast development
Commit Process
Lazy Consensus
variant of RTC
“I plan on committing this in 3 days”
Provides opportunity for oversight, but with known
“deadline”
As always, can be vetoed after the fact
Collaborative Development
Code is developed by the community
Voting ensures at least 3 active developers
Development done online and on-list
If it didn’t happen on-list, it didn’t happen
Collaborative Development
Mailing lists are the preferred method
Archived
Asynchronous
Available to anyone - public list
Collaborative Development
Other methods are OK, if not primary
Wikis
IRC
F2F
Always bring back to the list
Responsible Oversight
Ensure license compliance
Track IP
Quality code
Quality community
The Apache Incubator
Entry point for all new projects and codebases
Indoctrinates the Apache Way to the podling
Ensures and tracks IP
The Apache License (AL)
A liberal open source software license - BSD-like
Business friendly
Requires attribution
Includes Patent Grant
Easily reused by other projects & organizations
Other Licenses
GPL (copyleft)
Derivative works also under GPL
Linked works may also be under GPL
Viral nature may limit adoption
Other Licenses
MPL / EPL / (L)GPL
Used mostly with platforms or libraries
Protects the licensed code, but allows larger derivative
works with different licensing
“Give me fixes”
One True License
There is no such thing
Licensing is selected to address what you are trying to do
In general, Open Standards do better with AL-like license
Contributor License Agreement
aka: iCLA (for individual)
Required of all committers
Guarantees:
The person has the authority to commit the code
That the ASF can relicense the code
Does NOT assign copyright
Success Stories - HTTPD
Apache HTTP Server (“Apache”)
Reference implementation of HTTP
Most popular web server in existance
Found in numerous commercial web servers
Oracle, IBM,...
Influenced countless more
Success Stories - HTTPD
By having a “free” and open source reference
implementation, the drive to create a separate proprietary
version was reduced.
“Why spend time and money, when we can use this”
This allowed HTTP (and the Web) to grow and STAY usable
(compare to the old browser wars)
Success Stories - Tomcat
Apache Tomcat (Servlet Container)
The default standard servlet container
Each version maps to a specific spec.
Bundled with numerous Java apps out there
Likely a major influence on the diminishing relevance of
JEE
Success Stories - Others
Apache Geronimo (Server Framework - JEE )
Not “just” a JEE server
Apache Maven (Java project build/management tool)
Another industry standard
Apache Logging, Axis, Struts, ...
Some Concluding Thoughts
Trust your developers AND your users
Communication is key
Open Source is NOT the Good Housekeeping Seal Of Approval
But don’t believe in all the FUD either
Success is not measured in market share, but in adoption
Some Concluding Thoughts
Open Source should have a viable business or emotional
reason
Give some thought to licensing
Make it easier for developers and users to “join”
Give them a reason to
Helpful links
The Apache Software Foundation
www.apache.org
SpringSource
www.springsource.com
Want to help a great organization?
www.marylandstateboychoir.org
That’s It
Thank you!
Any questions?

Contenu connexe

En vedette

En vedette (20)

Acus08 ASF Sponsorship
Acus08 ASF SponsorshipAcus08 ASF Sponsorship
Acus08 ASF Sponsorship
 
Apache State of the Feather 2010
Apache State of the Feather 2010Apache State of the Feather 2010
Apache State of the Feather 2010
 
Apache httpd-2.4 : Watch out cloud!
Apache httpd-2.4 : Watch out cloud!Apache httpd-2.4 : Watch out cloud!
Apache httpd-2.4 : Watch out cloud!
 
ApacheCon 2014 - What's New in Apache httpd 2.4
ApacheCon 2014 - What's New in Apache httpd 2.4ApacheCon 2014 - What's New in Apache httpd 2.4
ApacheCon 2014 - What's New in Apache httpd 2.4
 
Acus08 Advanced Load Balancing Apache2.2
Acus08 Advanced Load Balancing Apache2.2Acus08 Advanced Load Balancing Apache2.2
Acus08 Advanced Load Balancing Apache2.2
 
Acus08 State Of The Feather
Acus08 State Of The FeatherAcus08 State Of The Feather
Acus08 State Of The Feather
 
Apache httpd 2.4: The Cloud Killer App
Apache httpd 2.4: The Cloud Killer AppApache httpd 2.4: The Cloud Killer App
Apache httpd 2.4: The Cloud Killer App
 
Open Source Management
Open Source ManagementOpen Source Management
Open Source Management
 
Governance and Communities
Governance and CommunitiesGovernance and Communities
Governance and Communities
 
ApacheConNA 2015: What's new in Apache httpd 2.4
ApacheConNA 2015: What's new in Apache httpd 2.4ApacheConNA 2015: What's new in Apache httpd 2.4
ApacheConNA 2015: What's new in Apache httpd 2.4
 
Open Source - Not just for IT anymore
Open Source - Not just for IT anymoreOpen Source - Not just for IT anymore
Open Source - Not just for IT anymore
 
Apache State Of the Feather 2011
Apache State Of the Feather 2011Apache State Of the Feather 2011
Apache State Of the Feather 2011
 
Creating community - The Apache Way
Creating community - The Apache WayCreating community - The Apache Way
Creating community - The Apache Way
 
Drupal Camp Balto 2015
Drupal Camp Balto 2015Drupal Camp Balto 2015
Drupal Camp Balto 2015
 
Code, Community, and Open Source
Code, Community, and Open SourceCode, Community, and Open Source
Code, Community, and Open Source
 
Open source101 licenses
Open source101 licensesOpen source101 licenses
Open source101 licenses
 
Keynote from the Open Source 101 Conference
Keynote from the Open Source 101 ConferenceKeynote from the Open Source 101 Conference
Keynote from the Open Source 101 Conference
 
Apache httpd 2.4 Reverse Proxy
Apache httpd 2.4 Reverse ProxyApache httpd 2.4 Reverse Proxy
Apache httpd 2.4 Reverse Proxy
 
InnerSource: Enterprise Lessons from Open Source
InnerSource: Enterprise Lessons from Open SourceInnerSource: Enterprise Lessons from Open Source
InnerSource: Enterprise Lessons from Open Source
 
ApacheConNA 2015: Apache httpd 2.4 Reverse Proxy
ApacheConNA 2015: Apache httpd 2.4 Reverse ProxyApacheConNA 2015: Apache httpd 2.4 Reverse Proxy
ApacheConNA 2015: Apache httpd 2.4 Reverse Proxy
 

Similaire à Running Successful Open Source Projects

Opensource development and apache software foundation
Opensource development and apache software foundationOpensource development and apache software foundation
Opensource development and apache software foundation
Eran Chinthaka Withana
 
Open Source Projects: The Prospero Experience
Open Source Projects:The Prospero ExperienceOpen Source Projects:The Prospero Experience
Open Source Projects: The Prospero Experience
Eric Schnell
 
Open Source Compliance at Twitter
Open Source Compliance at TwitterOpen Source Compliance at Twitter
Open Source Compliance at Twitter
Chris Aniszczyk
 

Similaire à Running Successful Open Source Projects (20)

Opensource development and apache software foundation
Opensource development and apache software foundationOpensource development and apache software foundation
Opensource development and apache software foundation
 
Craig The apache Way
Craig The apache Way Craig The apache Way
Craig The apache Way
 
Open Source at the Apache Software Foundation
Open Source at the Apache Software Foundation Open Source at the Apache Software Foundation
Open Source at the Apache Software Foundation
 
Integrate (Yourself) with the Apache Software Foundation - Full Version
Integrate (Yourself) with the Apache Software Foundation - Full VersionIntegrate (Yourself) with the Apache Software Foundation - Full Version
Integrate (Yourself) with the Apache Software Foundation - Full Version
 
4. Apache RocketMQ 5.0, embracing the Distributed Messaging Standard OpenMes...
4.  Apache RocketMQ 5.0, embracing the Distributed Messaging Standard OpenMes...4.  Apache RocketMQ 5.0, embracing the Distributed Messaging Standard OpenMes...
4. Apache RocketMQ 5.0, embracing the Distributed Messaging Standard OpenMes...
 
Open Source Software in Libraries
Open Source Software in LibrariesOpen Source Software in Libraries
Open Source Software in Libraries
 
Apache: Code, Community and Open Source
Apache: Code, Community and Open SourceApache: Code, Community and Open Source
Apache: Code, Community and Open Source
 
Open Source & Open Development
Open Source & Open Development Open Source & Open Development
Open Source & Open Development
 
Fundamentals of Free and Open Source Software
Fundamentals of Free and Open Source SoftwareFundamentals of Free and Open Source Software
Fundamentals of Free and Open Source Software
 
Building a Great Team in Open Source - Open Agile 2011
Building a Great Team in Open Source - Open Agile 2011Building a Great Team in Open Source - Open Agile 2011
Building a Great Team in Open Source - Open Agile 2011
 
Os Robb
Os RobbOs Robb
Os Robb
 
Open source operating systems
Open source operating systemsOpen source operating systems
Open source operating systems
 
The Apache Way olamy
The Apache Way olamyThe Apache Way olamy
The Apache Way olamy
 
Open Source at Scale: the Apache Software Foundation (2018)
Open Source at Scale: the Apache Software Foundation (2018)Open Source at Scale: the Apache Software Foundation (2018)
Open Source at Scale: the Apache Software Foundation (2018)
 
Open Source ETL
Open Source ETLOpen Source ETL
Open Source ETL
 
Open Source Projects: The Prospero Experience
Open Source Projects:The Prospero ExperienceOpen Source Projects:The Prospero Experience
Open Source Projects: The Prospero Experience
 
Opensource
OpensourceOpensource
Opensource
 
But we're already open source! Why would I want to bring my code to Apache?
But we're already open source! Why would I want to bring my code to Apache?But we're already open source! Why would I want to bring my code to Apache?
But we're already open source! Why would I want to bring my code to Apache?
 
Open Source Compliance at Twitter
Open Source Compliance at TwitterOpen Source Compliance at Twitter
Open Source Compliance at Twitter
 
What to expect when you're Incubating
What to expect when you're IncubatingWhat to expect when you're Incubating
What to expect when you're Incubating
 

Plus de Jim Jagielski

Plus de Jim Jagielski (20)

OSPOS: AllThingsOpen 2023
OSPOS: AllThingsOpen 2023OSPOS: AllThingsOpen 2023
OSPOS: AllThingsOpen 2023
 
Open Source Licenses and IP Overview
Open Source Licenses and IP OverviewOpen Source Licenses and IP Overview
Open Source Licenses and IP Overview
 
The History of The Apache Software Foundation
The History of The Apache Software FoundationThe History of The Apache Software Foundation
The History of The Apache Software Foundation
 
Reverse proxy magic
Reverse proxy magicReverse proxy magic
Reverse proxy magic
 
Apache httpd 2.4 overview
Apache httpd 2.4 overviewApache httpd 2.4 overview
Apache httpd 2.4 overview
 
The Apache Way
The Apache WayThe Apache Way
The Apache Way
 
Not your daddy's web server
Not your daddy's web serverNot your daddy's web server
Not your daddy's web server
 
Apache httpd Reverse Proxy and Tomcat
Apache httpd Reverse Proxy and TomcatApache httpd Reverse Proxy and Tomcat
Apache httpd Reverse Proxy and Tomcat
 
Starting an Open Source Program Office
Starting an Open Source Program OfficeStarting an Open Source Program Office
Starting an Open Source Program Office
 
InnerSource 101 for FinTech and FinServ
InnerSource 101 for FinTech and FinServInnerSource 101 for FinTech and FinServ
InnerSource 101 for FinTech and FinServ
 
All Things Open 2017: Open Source Licensing
All Things Open 2017: Open Source LicensingAll Things Open 2017: Open Source Licensing
All Things Open 2017: Open Source Licensing
 
All Things Open 2017: The Apache Software Foundation 101
All Things Open 2017: The Apache Software Foundation 101All Things Open 2017: The Apache Software Foundation 101
All Things Open 2017: The Apache Software Foundation 101
 
All Things Open 2017: Foundations of Inner Source
All Things Open 2017: Foundations of Inner SourceAll Things Open 2017: Foundations of Inner Source
All Things Open 2017: Foundations of Inner Source
 
ApacheCon 2017: What's new in httpd 2.4
ApacheCon 2017: What's new in httpd 2.4ApacheCon 2017: What's new in httpd 2.4
ApacheCon 2017: What's new in httpd 2.4
 
ApacheCon 2017: InnerSource and The Apache Way
ApacheCon 2017: InnerSource and The Apache WayApacheCon 2017: InnerSource and The Apache Way
ApacheCon 2017: InnerSource and The Apache Way
 
InnerSource 101 and The Apache Way
InnerSource 101 and The Apache WayInnerSource 101 and The Apache Way
InnerSource 101 and The Apache Way
 
Apache httpd 2.4 Reverse Proxy: The Hidden Gem
Apache httpd 2.4 Reverse Proxy: The Hidden GemApache httpd 2.4 Reverse Proxy: The Hidden Gem
Apache httpd 2.4 Reverse Proxy: The Hidden Gem
 
ApacheCon EU 2016 State of the Feather
ApacheCon EU 2016 State of the FeatherApacheCon EU 2016 State of the Feather
ApacheCon EU 2016 State of the Feather
 
What's New and Newer in Apache httpd-24
What's New and Newer in Apache httpd-24What's New and Newer in Apache httpd-24
What's New and Newer in Apache httpd-24
 
Open Source Licensing and Governance
Open Source Licensing and GovernanceOpen Source Licensing and Governance
Open Source Licensing and Governance
 

Dernier

Dernier (20)

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
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
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
 
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
 
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?
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
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
 
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
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
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
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
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
 
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
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 

Running Successful Open Source Projects

  • 1. Running a Successful Open Source Project Jim Jagielski
  • 2. Agenda Introduction What exactly is “Open Source” “Running” a successful open source community A History of the Apache Software Foundation Running a successful open source project Apache HTTP Server, Tomcat, ...
  • 3. Introduction Jim Jagielski Longest still-active developer/contributor Co-founder of the ASF Member, Director and Chairman CTO/Chief Architect for the Covalent Division of SpringSource
  • 4. The draw of Open Source Having a real impact in the development and direction of IT Personal satisfaction: I wrote that! Sense of membership in a community Sense of accomplishment - very quick turnaround times Developers and engineers love to tinker - huge opportunity to do so
  • 5. What is Open Source? Open Source Licensing OSI Approved Open Source Development ala, the Apache Software Foundation Free Software As in Free Speech, not Free Beer
  • 6. What is Open Source? Basically, it’s a “new” way to develop, license and distribute code Actually, there was “open source” even before it was called that The key technologies behind the Internet and the Web are all Open Source based
  • 7. Why Open Source? Access to the source code Avoid vendor lock-in (or worse!) Much better software Better security record (more eyes) Much more nimble development - frequent releases Direct user input
  • 8. Open Source FUD No quality or quality control Prevents or slows development Have to “give it away for free” No real innovation
  • 9. The ASF ASF == The Apache Software Foundation Before the ASF there was “The Apache Group” The ASF was incorporated in 1999
  • 10. The ASF Non-profit corporation founded in 1999 501( c )3 charity Volunteer organization Virtual world-wide organization Exists to provide the organizational, legal, and financial support for various OSS projects
  • 11. The ASF - then Started with 21 members 2 projects All servers and services donated
  • 12. The ASF - now We have 259 members... >60 TLPs ~25 Incubator podlings Tons of committers (literally) (Over 1650 people) Very large and growing infrastructure
  • 13. The ASF’s Mission Provide open source software to the public free of charge Provide a foundation for open, collaborative software development projects by supplying hardware, communication, and business infrastructure Create an independent legal entity to which companies and individuals can donate resources and be assured that those resources will be used for the public benefit
  • 14. The ASF’s Mission Provide a means for individual volunteers to be sheltered from legal suits directed at the Foundation’s projects Protect the ‘Apache’ brand, as applied to its software products, from being abused by other organizations Provide legal and technical infrastructure for open source software development and to perform appropriate oversight of such
  • 15. How We Work The Apache Software Foundation provides support for the Apache community of open-source software projects. The Apache projects are characterized by a collaborative, consensus based development process, an open and pragmatic software license, and a desire to create high quality software that leads the way in its field. We consider ourselves not simply a group of projects sharing a server, but rather a community of developers and users.
  • 16. How We Work, Take 2 Community over code Our code should be exceptional
  • 17. Structure of the ASF - dev Volunteer Driven Organization Software Projects are managed by Project Management Committees (PMCs) PMCs vote in new PMC members and committers At the end of the day: People / Individual focused
  • 18. Structure of the ASF - legal 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)
  • 19. ASF “Org Chart” Development Administrative Users Patchers/Buggers Contributors Committers PMC Members Members Officers Board
  • 20. The Apache Way Although the term is deprecated, “The Apache Way” relates to how the ASF (and its projects) work and operate Basically, the least common denominators on how PMCs operate
  • 21. Basic Memes Meritocracy Peer-based Consensus decision making Collaborative development Responsible oversight
  • 22. Meritocracy “Govern by Merit” Merit is based on what you do Merit never expires Those with merit, get more responsibility
  • 23. Peer-based Developers represent themselves - individuals Mutual trust and respect All votes hold the same weight Community over code Healthy communities create healthy code Poisonous communities don’t
  • 24. Why Community > Code Since we are all volunteers, people’s time and interests change A healthy community is “warm and inviting” and encourages a continued influx of developers Poisonous people/communities turn people off, and the project will die End result - better code, long-term code
  • 25. Consensus decision making Key is the idea of voting +1 - yes +0 - no real comment -1 - veto Sometimes you’ll also see stuff like -0, -0.5, etc...
  • 26. Voting The main intent is to gauge developer acceptance Vetos must be justifiable and have sound technical merit If valid, Vetos cannot be overruled Vetos are very rare
  • 27. Commit Process Review Then Commit (RTC) A patch is submitted to the project for inclusion If at least 3 +1s and no -1s, code is committed Good for stable branches Ensures enough “eyes on the code” on a direct-to-release path
  • 28. Commit Process Commit Then Review (CTR) A patch is committed directly to the code Review Process happens post commit Good for development branches Depends on people doing reviews after the fact Allows very fast development
  • 29. Commit Process Lazy Consensus variant of RTC “I plan on committing this in 3 days” Provides opportunity for oversight, but with known “deadline” As always, can be vetoed after the fact
  • 30. Collaborative Development Code is developed by the community Voting ensures at least 3 active developers Development done online and on-list If it didn’t happen on-list, it didn’t happen
  • 31. Collaborative Development Mailing lists are the preferred method Archived Asynchronous Available to anyone - public list
  • 32. Collaborative Development Other methods are OK, if not primary Wikis IRC F2F Always bring back to the list
  • 33. Responsible Oversight Ensure license compliance Track IP Quality code Quality community
  • 34. The Apache Incubator Entry point for all new projects and codebases Indoctrinates the Apache Way to the podling Ensures and tracks IP
  • 35. The Apache License (AL) A liberal open source software license - BSD-like Business friendly Requires attribution Includes Patent Grant Easily reused by other projects & organizations
  • 36. Other Licenses GPL (copyleft) Derivative works also under GPL Linked works may also be under GPL Viral nature may limit adoption
  • 37. Other Licenses MPL / EPL / (L)GPL Used mostly with platforms or libraries Protects the licensed code, but allows larger derivative works with different licensing “Give me fixes”
  • 38. One True License There is no such thing Licensing is selected to address what you are trying to do In general, Open Standards do better with AL-like license
  • 39. Contributor License Agreement aka: iCLA (for individual) Required of all committers Guarantees: The person has the authority to commit the code That the ASF can relicense the code Does NOT assign copyright
  • 40. Success Stories - HTTPD Apache HTTP Server (“Apache”) Reference implementation of HTTP Most popular web server in existance Found in numerous commercial web servers Oracle, IBM,... Influenced countless more
  • 41. Success Stories - HTTPD By having a “free” and open source reference implementation, the drive to create a separate proprietary version was reduced. “Why spend time and money, when we can use this” This allowed HTTP (and the Web) to grow and STAY usable (compare to the old browser wars)
  • 42. Success Stories - Tomcat Apache Tomcat (Servlet Container) The default standard servlet container Each version maps to a specific spec. Bundled with numerous Java apps out there Likely a major influence on the diminishing relevance of JEE
  • 43. Success Stories - Others Apache Geronimo (Server Framework - JEE ) Not “just” a JEE server Apache Maven (Java project build/management tool) Another industry standard Apache Logging, Axis, Struts, ...
  • 44. Some Concluding Thoughts Trust your developers AND your users Communication is key Open Source is NOT the Good Housekeeping Seal Of Approval But don’t believe in all the FUD either Success is not measured in market share, but in adoption
  • 45. Some Concluding Thoughts Open Source should have a viable business or emotional reason Give some thought to licensing Make it easier for developers and users to “join” Give them a reason to
  • 46. Helpful links The Apache Software Foundation www.apache.org SpringSource www.springsource.com Want to help a great organization? www.marylandstateboychoir.org