Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Apache:   Code, Community and      Open SourceJ i m   J a g i e l s k i   | |   @ j i m j a g
AgendaIntroductionOverview of the ASFThe What and Why of “Open Source”The Lessons Learned by the ASF - The ApacheWay      ...
IntroductionJim Jagielski  Longest still-active developer/contributor  Co-founder of the ASF  Member, Director and Preside...
The ASFASF == The Apache Software FoundationBefore the ASF there was “The ApacheGroup”The ASF was incorporated in 1999    ...
The ASFNon-profit corporation founded in 1999501( c )3 public charityVolunteer organization (The ASF doesn’t payanyone to w...
Structure of the    ASF - legalMember-based corporation - individuals onlyMembers nominate and elect new membersMembers el...
ASF “Org Chart”Technical Oversight              Organizational Oversight           Development                            ...
Issues with Dual       StacksDespite clear differentiation, sometimes thereare leaks  eg: PMC chair seen as “lead” develop...
The ASF’s MissionProvide open source software to the publicfree of chargeProvide a foundation for open, collaborativesoftw...
The ASF’s MissionProvide a means for individual volunteers to besheltered from legal suits directed at theFoundation’s pro...
Vision StatementThe Apache Software Foundation providessupport for the Apache community of open-source software projects. ...
Vision Statement,                                Take 2Community created codeOur code should be exceptional         This w...
Why Open Source?Access to the source codeAvoid vendor lock-in (or worse!)Much better softwareBetter security record (more ...
The draw of Open      SourceHaving a real impact in the development anddirection of ITPersonal satisfaction: I wrote that!...
Open Source FUDNo quality or quality controlPrevents or slows developmentHave to “give it away for free”No real innovation...
What is Open         Source?Open Source Licensing  OSI ApprovedFree Software  As in Free Speech, not Free BeerOpen Source ...
Open Source       LicensesGive Me Credit AL, BSD, MITGive Me Fixes (L)GPL, EPL, MPLGive Me Everything GPL                 ...
The Apache License       (AL)A liberal open source software license - BSD-likeBusiness friendlyRequires attributionInclude...
License DifferencesMainly involve the licensing of derivativeworksOnly really applies during (re)distribution ofworkWhere ...
One True LicenseThere is no such thingLicensing is selected to address what you aretrying to doIn general, Open Standards ...
The Apache WayAlthough the term is deprecated, “TheApache Way” relates to how the ASF (and itsprojects) work and operateBa...
Why focus on ASF ?                                                            http://www.zdnet.com/blog/open-source/oracle...
Basic MemesMeritocracyPeer-basedConsensus decision makingCollaborative developmentResponsible oversightIndividual Particip...
Meritocracy“Govern by Merit”Merit is based on what you doMerit never expiresThose with merit, get more responsibilityProvi...
Peer-basedDevelopers represent themselves - individualsMutual trust and respectAll votes hold the same weight (no BDFL)Com...
Why Community ->     CodeSince we are all volunteers, people’s time andinterests changeA healthy community is “warm and in...
Consensus decision     makingKey is the idea of voting  +1 - yes  +0 - no real comment  -1 - vetoSometimes you’ll also see...
VotingThe main intent is to gauge developeracceptanceVetos must be justifiable and have soundtechnical meritIf valid, Vetos...
Commit ProcessReview Then Commit (RTC) A patch is submitted to the project for inclusion If at least 3 +1s and no -1s, cod...
Commit ProcessCommit Then Review (CTR) A patch is committed directly to the code Review Process happens post commit Good f...
Commit ProcessLazy Consensus variant of RTC “I plan on committing this in 3 days” Provides opportunity for oversight, but ...
Collaborative     DevelopmentCode is developed by the communityVoting ensures at least 3 active developersDevelopment done...
Collaborative     DevelopmentMailing lists are the preferred method  Archived  Asynchronous  Available to anyone - public ...
Collaborative     DevelopmentOther methods are OK, if not primary  Wikis  IRC  F2FAlways bring back to the list          T...
Responsible       OversightEnsure license complianceTrack IPQuality codeQuality community           This work is licensed ...
Look Familiar?These concepts are not new or uniqueBest practices regarding how the Scientificand Health community works    ...
Publish or PerishIn Open Source, frequent releases indicatehealthy activityWhat is collaborative s/w development otherthan...
The Apache        IncubatorEntry point for all new projects andcodebasesIndoctrinates the Apache Way to the podlingEnsures...
Contributor License          Agreementaka: iCLA (for individual)Required of all committersGuarantees:  The person has the ...
DevelopmentThe ASF never pays for development of projectsSome contributors are corporate sponsored,some aren’t but as far ...
Other FoundationsFoundations (independent) are critical forwidespread adoption of s/wASF: totally vendor neutral - Sponsor...
Helpful linksThe Apache Software Foundation  www.apache.org  community.apache.orgRed Hat, Inc (my employer)  www.redhat.co...
That’s ItThank you!Any questions? @jimjag | www.slideshare.net/jimjag jim@jaguNET.com         This work is licensed under ...
Upcoming SlideShare
Loading in …5
×

Code, Community, and Open Source

My keynote at the CloudStack Collaboration Conference 2012 event. Overview of The Apache Way, the Lesson's Learned at the Apache Software Foundation on building code and community.

Code, Community, and Open Source

  1. 1. Apache: Code, Community and Open SourceJ i m J a g i e l s k i | | @ j i m j a g
  2. 2. AgendaIntroductionOverview of the ASFThe What and Why of “Open Source”The Lessons Learned by the ASF - The ApacheWay This work is licensed under a Creative Commons Attribution 3.0 Unported License.
  3. 3. IntroductionJim Jagielski Longest still-active developer/contributor Co-founder of the ASF Member, Director and President Director: Outercurve and OSI Consulting Engineer with Red Hat This work is licensed under a Creative Commons Attribution 3.0 Unported License.
  4. 4. The ASFASF == The Apache Software FoundationBefore the ASF there was “The ApacheGroup”The ASF was incorporated in 1999 This work is licensed under a Creative Commons Attribution 3.0 Unported License.
  5. 5. The ASFNon-profit corporation founded in 1999501( c )3 public charityVolunteer organization (The ASF doesn’t payanyone to work on Apache projects)Virtual world-wide organization - Membership ofIndividualsExists to provide the organizational, legal, andfinancial support for various OSS projects - let thedevelopers develop This work is licensed under a Creative Commons Attribution 3.0 Unported License.
  6. 6. Structure of the ASF - legalMember-based corporation - individuals onlyMembers nominate and elect new membersMembers elect a board - 9 seatsSemi-annual meetings via IRCEach PMC has a Chair - eyes and ears of theboard (oversight only) This work is licensed under a Creative Commons Attribution 3.0 Unported License.
  7. 7. ASF “Org Chart”Technical Oversight Organizational Oversight Development AdministrativePMCs PMC Members(TLPs) ~2000 Members ~400 Elects Committers~100 ~4500 Contributors Officers ~100 Appoints Reports Patchers/Buggers Users Creates Board 9 & Updates This work is licensed under a Creative Commons Attribution 3.0 Unported License.
  8. 8. Issues with Dual StacksDespite clear differentiation, sometimes thereare leaks eg: PMC chair seen as “lead” developerSometimes officers are assumed to have toomuch power if they venture into developmentissues “hats” This work is licensed under a Creative Commons Attribution 3.0 Unported License.
  9. 9. The ASF’s MissionProvide open source software to the publicfree of chargeProvide a foundation for open, collaborativesoftware development projects by supplyinghardware, communication, and businessinfrastructureCreate an independent legal entity to whichcompanies and individuals can donateresources and be assured that those resourceswill be used for the public benefit This work is licensed under a Creative Commons Attribution 3.0 Unported License.
  10. 10. The ASF’s MissionProvide a means for individual volunteers to besheltered from legal suits directed at theFoundation’s projectsProtect the ‘Apache’ brand, as applied to itssoftware products, from being abused by otherorganizationsProvide legal and technical infrastructure foropen source software development and toperform appropriate oversight of such software This work is licensed under a Creative Commons Attribution 3.0 Unported License.
  11. 11. Vision StatementThe Apache Software Foundation providessupport for the Apache community of open-source software projects. The Apache projectsare characterized by a collaborative,consensus based development process, anopen and pragmatic software license, and adesire to create high quality software thatleads the way in its field. We considerourselves not simply a group of projectssharing a server, but rather a community ofdevelopers and users. This work is licensed under a Creative Commons Attribution 3.0 Unported License.
  12. 12. Vision Statement, Take 2Community created codeOur code should be exceptional This work is licensed under a Creative Commons Attribution 3.0 Unported License.
  13. 13. Why Open Source?Access to the source codeAvoid vendor lock-in (or worse!)Much better softwareBetter security record (more eyes)Much more nimble development - frequentreleasesDirect user input This work is licensed under a Creative Commons Attribution 3.0 Unported License.
  14. 14. The draw of Open SourceHaving a real impact in the development anddirection of ITPersonal satisfaction: I wrote that!Sense of membership in a communitySense of accomplishment - very quickturnaround timesDevelopers and engineers love to tinker -huge opportunity to do so This work is licensed under a Creative Commons Attribution 3.0 Unported License.
  15. 15. Open Source FUDNo quality or quality controlPrevents or slows developmentHave to “give it away for free”No real innovation This work is licensed under a Creative Commons Attribution 3.0 Unported License.
  16. 16. What is Open Source?Open Source Licensing OSI ApprovedFree Software As in Free Speech, not Free BeerOpen Source Methodology (secondary) ala, the Apache Software Foundation This work is licensed under a Creative Commons Attribution 3.0 Unported License.
  17. 17. Open Source LicensesGive Me Credit AL, BSD, MITGive Me Fixes (L)GPL, EPL, MPLGive Me Everything GPL - Dave Johnson http://rollerweblogger.org/page/roller?entry=gimme_credit_gimme_fixes_gimmem This work is licensed under a Creative Commons Attribution 3.0 Unported License.
  18. 18. The Apache License (AL)A liberal open source software license - BSD-likeBusiness friendlyRequires attributionIncludes Patent GrantEasily reused by other projects &organizations This work is licensed under a Creative Commons Attribution 3.0 Unported License.
  19. 19. License DifferencesMainly involve the licensing of derivativeworksOnly really applies during (re)distribution ofworkWhere the “freedom” should be mostlyfocused: the user or the code itselfBe careful when mixing licenses! This work is licensed under a Creative Commons Attribution 3.0 Unported License.
  20. 20. One True LicenseThere is no such thingLicensing is selected to address what you aretrying to doIn general, Open Standards do better withAL-like licenseIf wide adoption is important to you: againAL. This work is licensed under a Creative Commons Attribution 3.0 Unported License.
  21. 21. The Apache WayAlthough the term is deprecated, “TheApache Way” relates to how the ASF (and itsprojects) work and operateBasically, the least common denominators onhow PMCs operate This work is licensed under a Creative Commons Attribution 3.0 Unported License.
  22. 22. Why focus on ASF ? http://www.zdnet.com/blog/open-source/oracle-gives- openoffice-to-apache/9035 http://webmink.com/essays/#OBR This work is licensed under a Creative Commons Attribution 3.0 Unported License.
  23. 23. Basic MemesMeritocracyPeer-basedConsensus decision makingCollaborative developmentResponsible oversightIndividual Participation This work is licensed under a Creative Commons Attribution 3.0 Unported License.
  24. 24. Meritocracy“Govern by Merit”Merit is based on what you doMerit never expiresThose with merit, get more responsibilityProvides incentive to Do More This work is licensed under a Creative Commons Attribution 3.0 Unported License.
  25. 25. Peer-basedDevelopers represent themselves - individualsMutual trust and respectAll votes hold the same weight (no BDFL)Community created code Healthy communities create healthy code Poisonous communities don’tFeel as part of a community This work is licensed under a Creative Commons Attribution 3.0 Unported License.
  26. 26. Why Community -> CodeSince we are all volunteers, people’s time andinterests changeA healthy community is “warm and inviting”and encourages a continued influx ofdevelopersPoisonous people/communities turn peopleoff, and the project will dieEnd result - better code, long-term code This work is licensed under a Creative Commons Attribution 3.0 Unported License.
  27. 27. Consensus decision makingKey is the idea of voting +1 - yes +0 - no real comment -1 - vetoSometimes you’ll also see stuff like -0, -0.5,etc... This work is licensed under a Creative Commons Attribution 3.0 Unported License.
  28. 28. VotingThe main intent is to gauge developeracceptanceVetos must be justifiable and have soundtechnical meritIf valid, Vetos cannot be overruledVetos are very rare This work is licensed under a Creative Commons Attribution 3.0 Unported License.
  29. 29. Commit ProcessReview 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 This work is licensed under a Creative Commons Attribution 3.0 Unported License.
  30. 30. Commit ProcessCommit 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 This work is licensed under a Creative Commons Attribution 3.0 Unported License.
  31. 31. Commit ProcessLazy 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 This work is licensed under a Creative Commons Attribution 3.0 Unported License.
  32. 32. Collaborative DevelopmentCode is developed by the communityVoting ensures at least 3 active developersDevelopment 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.
  33. 33. Collaborative DevelopmentMailing 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.
  34. 34. Collaborative DevelopmentOther methods are OK, if not primary Wikis IRC F2FAlways bring back to the list This work is licensed under a Creative Commons Attribution 3.0 Unported License.
  35. 35. Responsible OversightEnsure license complianceTrack IPQuality codeQuality community This work is licensed under a Creative Commons Attribution 3.0 Unported License.
  36. 36. Look Familiar?These concepts are not new or uniqueBest practices regarding how the Scientificand Health community works This work is licensed under a Creative Commons Attribution 3.0 Unported License.
  37. 37. Publish or PerishIn Open Source, frequent releases indicatehealthy activityWhat is collaborative s/w development otherthan peer review?Think how restrictive research would be w/oopen communication This work is licensed under a Creative Commons Attribution 3.0 Unported License.
  38. 38. The Apache IncubatorEntry point for all new projects andcodebasesIndoctrinates the Apache Way to the podlingEnsures and tracks IP This work is licensed under a Creative Commons Attribution 3.0 Unported License.
  39. 39. Contributor License Agreementaka: iCLA (for individual)Required of all committersGuarantees: The person has the authority to commit the code That the ASF can relicense the codeDoes NOT assign copyright This work is licensed under a Creative Commons Attribution 3.0 Unported License.
  40. 40. DevelopmentThe ASF never pays for development of projectsSome contributors are corporate sponsored,some aren’t but as far as the ASF is concerned itmakes no difference!Diversity == Independencegit-like mega merges are counter-productiveCode is one form of contributing, not the onlyform. This work is licensed under a Creative Commons Attribution 3.0 Unported License.
  41. 41. Other FoundationsFoundations (independent) are critical forwidespread adoption of s/wASF: totally vendor neutral - Sponsors don’tcontrol/manage/direct the foundation norprojects“There are other ways of doing things, whatwe’ve been doing has simply be proven to beone of the best.” This work is licensed under a Creative Commons Attribution 3.0 Unported License.
  42. 42. Helpful linksThe Apache Software Foundation www.apache.org community.apache.orgRed Hat, Inc (my employer) www.redhat.comCloudStack podling incubator.apache.org/cloudstack/ This work is licensed under a Creative Commons Attribution 3.0 Unported License.
  43. 43. That’s ItThank you!Any questions? @jimjag | www.slideshare.net/jimjag jim@jaguNET.com This work is licensed under a Creative Commons Attribution 3.0 Unported License.

×