SlideShare a Scribd company logo
This work is licensed under a Creative Commons Attribution 3.0 Unported License. - Jim Jagielski - @jimjag
@jimjag
APACHE: 101
Jim Jagielski || @jimjag
CODE, COMMUNITY AND OPEN SOURCE
This work is licensed under a Creative Commons Attribution 3.0 Unported License. - Jim Jagielski - @jimjag
@jimjag
AGENDA
• Introduction
• Overview of the ASF
• The What and Why of “Open Source”
• The Lessons Learned by the ASF - The Apache Way
This work is licensed under a Creative Commons Attribution 3.0 Unported License. - Jim Jagielski - @jimjag
@jimjag
ABOUT ME
• Apache Software Foundation
• Co-founder, Director, Vice Chairman, Member and Developer
• Director
• Outercurve, MARSEC-XL, OSSI, OSI (ex)…
• Developer
• Much FOSS projects
• Sr. Director: Tech Fellows: Capital One
This work is licensed under a Creative Commons Attribution 3.0 Unported License. - Jim Jagielski - @jimjag
@jimjag
THE ASF
• ASF == The Apache Software Foundation
• Before the ASF there was “The Apache Group”
• The ASF was incorporated in 1999
This work is licensed under a Creative Commons Attribution 3.0 Unported License. - Jim Jagielski - @jimjag
@jimjag
THE ASF
• Non-profit corporation founded in 1999
• 501( c )3 public charity
• Volunteer organization (The ASF doesn’t pay anyone to
work on Apache projects)
• Virtual world-wide organization - Membership of Individuals
• Exists to provide the organizational, legal, and financial
support for various OSS projects - let the developers
develop
This work is licensed under a Creative Commons Attribution 3.0 Unported License. - Jim Jagielski - @jimjag
@jimjag
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)
This work is licensed under a Creative Commons Attribution 3.0 Unported License. - Jim Jagielski - @jimjag
@jimjag
ASF “ORG CHART”
Development Administrative
Users
Patchers/Buggers
Contributors
Committers
PMC Members
Members
Officers
Board
~400
9
~160
~4500
~2000
Technical Oversight Organizational Oversight
PMCs
(TLPs)
~150
Elects
ReportsAppoints
Creates
&
Updates
This work is licensed under a Creative Commons Attribution 3.0 Unported License. - Jim Jagielski - @jimjag
@jimjag
ISSUES WITH DUAL
STACKS
• Despite clear differentiation, sometimes there are leaks
• eg: PMC chair seen as “lead” developer
• Sometimes officers are assumed to have too much power if
they venture into development issues
• “hats”
This work is licensed under a Creative Commons Attribution 3.0 Unported License. - Jim Jagielski - @jimjag
@jimjag
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
This work is licensed under a Creative Commons Attribution 3.0 Unported License. - Jim Jagielski - @jimjag
@jimjag
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 software
This work is licensed under a Creative Commons Attribution 3.0 Unported License. - Jim Jagielski - @jimjag
@jimjag
VISION STATEMENT
• 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.
This work is licensed under a Creative Commons Attribution 3.0 Unported License. - Jim Jagielski - @jimjag
@jimjag
VISION STATEMENT,
TAKE 2
• Community created code
• Our code should be exceptional
This work is licensed under a Creative Commons Attribution 3.0 Unported License. - Jim Jagielski - @jimjag
@jimjag
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
This work is licensed under a Creative Commons Attribution 3.0 Unported License. - Jim Jagielski - @jimjag
@jimjag
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
This work is licensed under a Creative Commons Attribution 3.0 Unported License. - Jim Jagielski - @jimjag
@jimjag
OPEN SOURCE FUD
• No quality or quality control
• Prevents or slows development
• Have to “give it away for free”
• No real innovation
This work is licensed under a Creative Commons Attribution 3.0 Unported License. - Jim Jagielski - @jimjag
@jimjag
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
This work is licensed under a Creative Commons Attribution 3.0 Unported License. - Jim Jagielski - @jimjag
@jimjag
WHY FOCUS ON ASF ?
http://webmink.com/essays/#OBR
http://www.zdnet.com/blog/open-source/
oracle-gives-openoffice-to-apache/9035
This work is licensed under a Creative Commons Attribution 3.0 Unported License. - Jim Jagielski - @jimjag
@jimjag
CORE TENETS
• Meritocracy
• Transparency
• open
• public
• Community
• healthy
• active
This work is licensed under a Creative Commons Attribution 3.0 Unported License. - Jim Jagielski - @jimjag
@jimjag
BASIC MEMES
• Meritocracy
• Peer-based
• Consensus decision making
• Collaborative development
• Responsible oversight
• Individual Participation
This work is licensed under a Creative Commons Attribution 3.0 Unported License. - Jim Jagielski - @jimjag
@jimjag
MERITOCRACY
• “Govern by Merit”
• Merit is based on what you do
• Merit never expires
• Those with more merit, get more responsibility
• Provides incentive to Do More
• It’s NOT a dirty word
• aka “do-acracy”
This work is licensed under a Creative Commons Attribution 3.0 Unported License. - Jim Jagielski - @jimjag
@jimjag
PEER-BASED
• Developers represent themselves - individuals
• Mutual trust and respect
• All votes hold the same weight (no BDFL)
• Community created code
• Healthy communities create healthy code
• Poisonous communities don’t
• Feel as part of a community
This work is licensed under a Creative Commons Attribution 3.0 Unported License. - Jim Jagielski - @jimjag
@jimjag
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
• Diversity ensures survival
• End result - better code, long-term code
This work is licensed under a Creative Commons Attribution 3.0 Unported License. - Jim Jagielski - @jimjag
@jimjag
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...
This work is licensed under a Creative Commons Attribution 3.0 Unported License. - Jim Jagielski - @jimjag
@jimjag
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
This work is licensed under a Creative Commons Attribution 3.0 Unported License. - Jim Jagielski - @jimjag
@jimjag
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
This work is licensed under a Creative Commons Attribution 3.0 Unported License. - Jim Jagielski - @jimjag
@jimjag
COLLABORATIVE
DEVELOPMENT
• Mailing lists are the preferred method
• Archived
• Asynchronous
• Available to anyone - public list
This work is licensed under a Creative Commons Attribution 3.0 Unported License. - Jim Jagielski - @jimjag
@jimjag
COLLABORATIVE
DEVELOPMENT
• Other methods are OK, if not primary
• Wikis
• IRC
• F2F
• Always bring back to the list
This work is licensed under a Creative Commons Attribution 3.0 Unported License. - Jim Jagielski - @jimjag
@jimjag
THE APACHE INCUBATOR
• Entry point for all new projects and codebases
• Indoctrinates the Apache Way to the podling
• Ensures and tracks IP
This work is licensed under a Creative Commons Attribution 3.0 Unported License. - Jim Jagielski - @jimjag
@jimjag
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
This work is licensed under a Creative Commons Attribution 3.0 Unported License. - Jim Jagielski - @jimjag
@jimjag
DEVELOPMENT
• The ASF never pays for development of projects
• Some contributors are corporate sponsored, some aren’t
but as far as the ASF is concerned it makes no difference!
• Diversity == Independence
• git-like mega merges are counter-productive
• Code is one form of contributing, not the only form.
This work is licensed under a Creative Commons Attribution 3.0 Unported License. - Jim Jagielski - @jimjag
@jimjag
THE ASF IS VITAL
• Foundations (independent) are critical for widespread
adoption of s/w
• ASF: totally vendor neutral - Sponsors don’t control/
manage/direct the foundation nor projects
• “There are other ways of doing things, what we’ve been
doing has simply be proven to be one of the best.”
This work is licensed under a Creative Commons Attribution 3.0 Unported License. - Jim Jagielski - @jimjag
@jimjag
CURRENT STATUS
This work is licensed under a Creative Commons Attribution 3.0 Unported License. - Jim Jagielski - @jimjag
@jimjag
CURRENT STATUS
This work is licensed under a Creative Commons Attribution 3.0 Unported License. - Jim Jagielski - @jimjag
@jimjag
CURRENT STATUS
This work is licensed under a Creative Commons Attribution 3.0 Unported License. - Jim Jagielski - @jimjag
@jimjag
CURRENT STATUS
This work is licensed under a Creative Commons Attribution 3.0 Unported License. - Jim Jagielski - @jimjag
@jimjag
THAT’S IT
• Support the ASF!
• Any questions?
• @jimjag
• www.slideshare.net/jimjag
• www.linkedin.com/in/jimjag/

More Related Content

All Things Open 2017: The Apache Software Foundation 101

  • 1. This work is licensed under a Creative Commons Attribution 3.0 Unported License. - Jim Jagielski - @jimjag @jimjag APACHE: 101 Jim Jagielski || @jimjag CODE, COMMUNITY AND OPEN SOURCE
  • 2. This work is licensed under a Creative Commons Attribution 3.0 Unported License. - Jim Jagielski - @jimjag @jimjag AGENDA • Introduction • Overview of the ASF • The What and Why of “Open Source” • The Lessons Learned by the ASF - The Apache Way
  • 3. This work is licensed under a Creative Commons Attribution 3.0 Unported License. - Jim Jagielski - @jimjag @jimjag ABOUT ME • Apache Software Foundation • Co-founder, Director, Vice Chairman, Member and Developer • Director • Outercurve, MARSEC-XL, OSSI, OSI (ex)… • Developer • Much FOSS projects • Sr. Director: Tech Fellows: Capital One
  • 4. This work is licensed under a Creative Commons Attribution 3.0 Unported License. - Jim Jagielski - @jimjag @jimjag THE ASF • ASF == The Apache Software Foundation • Before the ASF there was “The Apache Group” • The ASF was incorporated in 1999
  • 5. This work is licensed under a Creative Commons Attribution 3.0 Unported License. - Jim Jagielski - @jimjag @jimjag THE ASF • Non-profit corporation founded in 1999 • 501( c )3 public charity • Volunteer organization (The ASF doesn’t pay anyone to work on Apache projects) • Virtual world-wide organization - Membership of Individuals • Exists to provide the organizational, legal, and financial support for various OSS projects - let the developers develop
  • 6. This work is licensed under a Creative Commons Attribution 3.0 Unported License. - Jim Jagielski - @jimjag @jimjag 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)
  • 7. This work is licensed under a Creative Commons Attribution 3.0 Unported License. - Jim Jagielski - @jimjag @jimjag ASF “ORG CHART” Development Administrative Users Patchers/Buggers Contributors Committers PMC Members Members Officers Board ~400 9 ~160 ~4500 ~2000 Technical Oversight Organizational Oversight PMCs (TLPs) ~150 Elects ReportsAppoints Creates & Updates
  • 8. This work is licensed under a Creative Commons Attribution 3.0 Unported License. - Jim Jagielski - @jimjag @jimjag ISSUES WITH DUAL STACKS • Despite clear differentiation, sometimes there are leaks • eg: PMC chair seen as “lead” developer • Sometimes officers are assumed to have too much power if they venture into development issues • “hats”
  • 9. This work is licensed under a Creative Commons Attribution 3.0 Unported License. - Jim Jagielski - @jimjag @jimjag 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
  • 10. This work is licensed under a Creative Commons Attribution 3.0 Unported License. - Jim Jagielski - @jimjag @jimjag 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 software
  • 11. This work is licensed under a Creative Commons Attribution 3.0 Unported License. - Jim Jagielski - @jimjag @jimjag VISION STATEMENT • 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.
  • 12. This work is licensed under a Creative Commons Attribution 3.0 Unported License. - Jim Jagielski - @jimjag @jimjag VISION STATEMENT, TAKE 2 • Community created code • Our code should be exceptional
  • 13. This work is licensed under a Creative Commons Attribution 3.0 Unported License. - Jim Jagielski - @jimjag @jimjag 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
  • 14. This work is licensed under a Creative Commons Attribution 3.0 Unported License. - Jim Jagielski - @jimjag @jimjag 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
  • 15. This work is licensed under a Creative Commons Attribution 3.0 Unported License. - Jim Jagielski - @jimjag @jimjag OPEN SOURCE FUD • No quality or quality control • Prevents or slows development • Have to “give it away for free” • No real innovation
  • 16. This work is licensed under a Creative Commons Attribution 3.0 Unported License. - Jim Jagielski - @jimjag @jimjag 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
  • 17. This work is licensed under a Creative Commons Attribution 3.0 Unported License. - Jim Jagielski - @jimjag @jimjag WHY FOCUS ON ASF ? http://webmink.com/essays/#OBR http://www.zdnet.com/blog/open-source/ oracle-gives-openoffice-to-apache/9035
  • 18. This work is licensed under a Creative Commons Attribution 3.0 Unported License. - Jim Jagielski - @jimjag @jimjag CORE TENETS • Meritocracy • Transparency • open • public • Community • healthy • active
  • 19. This work is licensed under a Creative Commons Attribution 3.0 Unported License. - Jim Jagielski - @jimjag @jimjag BASIC MEMES • Meritocracy • Peer-based • Consensus decision making • Collaborative development • Responsible oversight • Individual Participation
  • 20. This work is licensed under a Creative Commons Attribution 3.0 Unported License. - Jim Jagielski - @jimjag @jimjag MERITOCRACY • “Govern by Merit” • Merit is based on what you do • Merit never expires • Those with more merit, get more responsibility • Provides incentive to Do More • It’s NOT a dirty word • aka “do-acracy”
  • 21. This work is licensed under a Creative Commons Attribution 3.0 Unported License. - Jim Jagielski - @jimjag @jimjag PEER-BASED • Developers represent themselves - individuals • Mutual trust and respect • All votes hold the same weight (no BDFL) • Community created code • Healthy communities create healthy code • Poisonous communities don’t • Feel as part of a community
  • 22. This work is licensed under a Creative Commons Attribution 3.0 Unported License. - Jim Jagielski - @jimjag @jimjag 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 • Diversity ensures survival • End result - better code, long-term code
  • 23. This work is licensed under a Creative Commons Attribution 3.0 Unported License. - Jim Jagielski - @jimjag @jimjag 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...
  • 24. This work is licensed under a Creative Commons Attribution 3.0 Unported License. - Jim Jagielski - @jimjag @jimjag 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
  • 25. This work is licensed under a Creative Commons Attribution 3.0 Unported License. - Jim Jagielski - @jimjag @jimjag 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
  • 26. This work is licensed under a Creative Commons Attribution 3.0 Unported License. - Jim Jagielski - @jimjag @jimjag COLLABORATIVE DEVELOPMENT • Mailing lists are the preferred method • Archived • Asynchronous • Available to anyone - public list
  • 27. This work is licensed under a Creative Commons Attribution 3.0 Unported License. - Jim Jagielski - @jimjag @jimjag COLLABORATIVE DEVELOPMENT • Other methods are OK, if not primary • Wikis • IRC • F2F • Always bring back to the list
  • 28. This work is licensed under a Creative Commons Attribution 3.0 Unported License. - Jim Jagielski - @jimjag @jimjag THE APACHE INCUBATOR • Entry point for all new projects and codebases • Indoctrinates the Apache Way to the podling • Ensures and tracks IP
  • 29. This work is licensed under a Creative Commons Attribution 3.0 Unported License. - Jim Jagielski - @jimjag @jimjag 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
  • 30. This work is licensed under a Creative Commons Attribution 3.0 Unported License. - Jim Jagielski - @jimjag @jimjag DEVELOPMENT • The ASF never pays for development of projects • Some contributors are corporate sponsored, some aren’t but as far as the ASF is concerned it makes no difference! • Diversity == Independence • git-like mega merges are counter-productive • Code is one form of contributing, not the only form.
  • 31. This work is licensed under a Creative Commons Attribution 3.0 Unported License. - Jim Jagielski - @jimjag @jimjag THE ASF IS VITAL • Foundations (independent) are critical for widespread adoption of s/w • ASF: totally vendor neutral - Sponsors don’t control/ manage/direct the foundation nor projects • “There are other ways of doing things, what we’ve been doing has simply be proven to be one of the best.”
  • 32. This work is licensed under a Creative Commons Attribution 3.0 Unported License. - Jim Jagielski - @jimjag @jimjag CURRENT STATUS
  • 33. This work is licensed under a Creative Commons Attribution 3.0 Unported License. - Jim Jagielski - @jimjag @jimjag CURRENT STATUS
  • 34. This work is licensed under a Creative Commons Attribution 3.0 Unported License. - Jim Jagielski - @jimjag @jimjag CURRENT STATUS
  • 35. This work is licensed under a Creative Commons Attribution 3.0 Unported License. - Jim Jagielski - @jimjag @jimjag CURRENT STATUS
  • 36. This work is licensed under a Creative Commons Attribution 3.0 Unported License. - Jim Jagielski - @jimjag @jimjag THAT’S IT • Support the ASF! • Any questions? • @jimjag • www.slideshare.net/jimjag • www.linkedin.com/in/jimjag/