opensource development and apache software foundation
DESCRIPTION
TRANSCRIPT
![Page 1: Opensource development and apache software foundation](https://reader034.vdocuments.mx/reader034/viewer/2022051312/546d399eaf7959ea108b53be/html5/thumbnails/1.jpg)
Opensource Development and Apache Software Foundation
Eran Chinthaka Withana(member, PMC member and committer)
![Page 2: Opensource development and apache software foundation](https://reader034.vdocuments.mx/reader034/viewer/2022051312/546d399eaf7959ea108b53be/html5/thumbnails/2.jpg)
Agenda?What is Apache Software Foundation and how it works?Why should I/we contribute to opensource and ASFWhy should we, as a company, contribute to opensource and ASF
![Page 3: Opensource development and apache software foundation](https://reader034.vdocuments.mx/reader034/viewer/2022051312/546d399eaf7959ea108b53be/html5/thumbnails/3.jpg)
The Fine PrintDisclaimer
Views in this presentation are my personal views and does not necessarily reflect the views of Apache Software Foundation.
What we are not talking aboutOpensource vs Source open vs code dumpingASF vs other opensource organizations
![Page 4: Opensource development and apache software foundation](https://reader034.vdocuments.mx/reader034/viewer/2022051312/546d399eaf7959ea108b53be/html5/thumbnails/4.jpg)
Why Open SourceAccess to the source codeAvoid vendor lock-in (or worse!)Much better softwareBetter security record (more eyes)Much more nimble development – frequent releasesDirect user input
The key technologies behind the Internet and the Web and the Cloud are all Open Source based
![Page 5: Opensource development and apache software foundation](https://reader034.vdocuments.mx/reader034/viewer/2022051312/546d399eaf7959ea108b53be/html5/thumbnails/5.jpg)
The ASFASF = The Apache Software FoundationNon-profit corporation founded in 1999501( c )3 charityVolunteer organizationVirtual world-wide organizationExists to provide the organizational, legal, andfinancial support for various OSS projects
![Page 6: Opensource development and apache software foundation](https://reader034.vdocuments.mx/reader034/viewer/2022051312/546d399eaf7959ea108b53be/html5/thumbnails/6.jpg)
Structure of the ASFMember-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 the board (oversight only)
![Page 7: Opensource development and apache software foundation](https://reader034.vdocuments.mx/reader034/viewer/2022051312/546d399eaf7959ea108b53be/html5/thumbnails/7.jpg)
ASF “Org Chart”
![Page 8: Opensource development and apache software foundation](https://reader034.vdocuments.mx/reader034/viewer/2022051312/546d399eaf7959ea108b53be/html5/thumbnails/8.jpg)
The ASF’s MissionProvide open source software to the public free of chargeProvide a foundation for open, collaborative software development projects by supplying hardware, communication, and business infrastructureCreate 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
![Page 9: Opensource development and apache software foundation](https://reader034.vdocuments.mx/reader034/viewer/2022051312/546d399eaf7959ea108b53be/html5/thumbnails/9.jpg)
The ASF’s MissionProvide a means for individual volunteers to be sheltered from legal suits directed at the Foundation’s projectsProtect the ‘Apache’ brand, as applied to its software products, from being abused by other organizationsProvide legal and technical infrastructure for open source software development and to perform appropriate oversight of such software
![Page 10: Opensource development and apache software foundation](https://reader034.vdocuments.mx/reader034/viewer/2022051312/546d399eaf7959ea108b53be/html5/thumbnails/10.jpg)
Apache Top-level Projects
Axis CXF DB (Derby) Directory Excalibur Felix Forrest Geronimo Gump Hadoop Harmony HBase HC HTTP Server Jackrabbit Jakarta James
Karaf Lenya Logging Lucene Maven Mahout Mina MyFaces Nutch ODE OFBiz OpenEJB OpenJPA PDFBox
Tika Tiles Tomcat Traffic Server Turbine Tuscany UIMA Velocity Wicket Web Services Xalan Xerces XML XMLBeans XML Graphics
![Page 11: Opensource development and apache software foundation](https://reader034.vdocuments.mx/reader034/viewer/2022051312/546d399eaf7959ea108b53be/html5/thumbnails/11.jpg)
Apache’s TaglineWe are more than a group ofprojects sharing a server, we
are a community ofdevelopers and users.
![Page 12: Opensource development and apache software foundation](https://reader034.vdocuments.mx/reader034/viewer/2022051312/546d399eaf7959ea108b53be/html5/thumbnails/12.jpg)
Committer Geographic Diversity
http://people.apache.org/map.html
Challenges and advantages arise from this !!
![Page 13: Opensource development and apache software foundation](https://reader034.vdocuments.mx/reader034/viewer/2022051312/546d399eaf7959ea108b53be/html5/thumbnails/13.jpg)
Project Diversity in Apache
Seventy top-level projects (TLPs)Java, C, C++, Perl, etc. projects...
It’s okay for projects to be in “same” spaceAnt/Maven, Pig/Hive, Axis/CXF...
Over thirty projects currently in “pipeline”
Apache aims to provides a pragmatic
non-technical framework to its projects
![Page 14: Opensource development and apache software foundation](https://reader034.vdocuments.mx/reader034/viewer/2022051312/546d399eaf7959ea108b53be/html5/thumbnails/14.jpg)
Who Pays?Apache does not pay for development
Voluntary contributions only!
Many (not all!) developers are paid by a third-party to work on the project
Foundation bears indirect support costsInfrastructure, publicity, etc.
![Page 15: Opensource development and apache software foundation](https://reader034.vdocuments.mx/reader034/viewer/2022051312/546d399eaf7959ea108b53be/html5/thumbnails/15.jpg)
Motivations & Business Models
Each contributor has own motivations
Seeking help from others on a big project
Commercial support: who to call at 2am?
Common/shared platform: value add on top of Apache products
...or it’s fun/interesting/challenging!
![Page 16: Opensource development and apache software foundation](https://reader034.vdocuments.mx/reader034/viewer/2022051312/546d399eaf7959ea108b53be/html5/thumbnails/16.jpg)
Basic MemesMeritocracyPeer-basedConsensus decision makingCollaborative developmentResponsible oversight
![Page 17: Opensource development and apache software foundation](https://reader034.vdocuments.mx/reader034/viewer/2022051312/546d399eaf7959ea108b53be/html5/thumbnails/17.jpg)
Meritocracy“Govern by Merit”Merit is based on what you doMerit never expiresThose with merit, get more responsibilityProvides incentive to Do More
![Page 18: Opensource development and apache software foundation](https://reader034.vdocuments.mx/reader034/viewer/2022051312/546d399eaf7959ea108b53be/html5/thumbnails/18.jpg)
Peer-basedDevelopers represent themselves - individualsMutual trust and respectAll votes hold the same weight (no dictators)Community created codeContributors feel as an important part of a community
![Page 19: Opensource development and apache software foundation](https://reader034.vdocuments.mx/reader034/viewer/2022051312/546d399eaf7959ea108b53be/html5/thumbnails/19.jpg)
Why Community -> Code
The success of a project, can only come about via the success of the communitySince we are all volunteers, people’s time and interests changeA healthy community is “warm and inviting” and encourages a continued influx of developersPoisonous people/communities turn people off, and the project will dieEnd result - better code; long-term code
![Page 20: Opensource development and apache software foundation](https://reader034.vdocuments.mx/reader034/viewer/2022051312/546d399eaf7959ea108b53be/html5/thumbnails/20.jpg)
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 acceptanceVetos must be justifiable and have sound technical meritIf valid, Vetos cannot be overruledVetos are very rareEnsures consensus (give and take)
![Page 21: Opensource development and apache software foundation](https://reader034.vdocuments.mx/reader034/viewer/2022051312/546d399eaf7959ea108b53be/html5/thumbnails/21.jpg)
Apache Commit ProcessRTC - Review then Commit
At least 3 +1s; no vetos
CTR - Commit then ReviewLazy consensus - assumed okay
Different policies per PMC or codebasesStable: RTC, Trunk: CTR
![Page 22: Opensource development and apache software foundation](https://reader034.vdocuments.mx/reader034/viewer/2022051312/546d399eaf7959ea108b53be/html5/thumbnails/22.jpg)
Collaborative Development
Code 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
Mailing lists are the preferred methodArchivedAsynchronousAvailable to anyone - public list
Other methods are OK, if not primaryWikis, IRC, F2F
Always bring back to the list
![Page 23: Opensource development and apache software foundation](https://reader034.vdocuments.mx/reader034/viewer/2022051312/546d399eaf7959ea108b53be/html5/thumbnails/23.jpg)
Responsible OversightEnsure license complianceTrack IPQuality codeQuality community
![Page 24: Opensource development and apache software foundation](https://reader034.vdocuments.mx/reader034/viewer/2022051312/546d399eaf7959ea108b53be/html5/thumbnails/24.jpg)
Legal FrameworkASF philosophy is that code can be used commercially without restrictions
Just don’t call it Apache Foo!
Apache License, version 2.0Grants copyright and patent licenses
Many non-ASF projects use ALv2 now
Third-party codeALv2 is GPLv3-compatible - can be used by GPL projects but no GPL within ASF
![Page 25: Opensource development and apache software foundation](https://reader034.vdocuments.mx/reader034/viewer/2022051312/546d399eaf7959ea108b53be/html5/thumbnails/25.jpg)
Starting New Apache Projects
Incubator - “podlings” can be nominated and eventually “graduate” to be a PMC
Needs foundation member to mentorUsually legal and/or community issues
Labs - once you are a committer, you can have a sandbox (shared mailing list, no non-committers, no releases)
![Page 26: Opensource development and apache software foundation](https://reader034.vdocuments.mx/reader034/viewer/2022051312/546d399eaf7959ea108b53be/html5/thumbnails/26.jpg)
Invitation of Commit Access
Current PMC member nominates individual
Discussions on private@ listKey ?: Do we trust this individual?
PMCs free to set own barHTTP Server: ~6 months of contributionsSubversion: 1-2 months of contributions
![Page 27: Opensource development and apache software foundation](https://reader034.vdocuments.mx/reader034/viewer/2022051312/546d399eaf7959ea108b53be/html5/thumbnails/27.jpg)
Beyond a CommitterOnce you are committer, you can then become a PMC member, foundation member, Director...even President!
You can nominate other foundation (or PMC) members; can serve as mentor for Incubating projects; vote for Board.
![Page 28: Opensource development and apache software foundation](https://reader034.vdocuments.mx/reader034/viewer/2022051312/546d399eaf7959ea108b53be/html5/thumbnails/28.jpg)
Impact on Contributing to ASFYou
Better and easy recognition of work and publicly verifiable resumeEvery one would know who you are if you contribute to projects like Apache Cassandra/Hadoop My contributions to Apache Axis2 was one of the main reasons behind my acceptance to grad school in Indiana UniversityInternship opportunities
Ability to work with best programmers (a.k.a. hackers) in the world with some of the best programming practices and techniques. They are better friends. No managers and can chose to work on any aspect of the development cycle.
Write proper error handling and logging codeThink about backup and recovery
Discuss technical designs and issues in writingNetworking opportunities.Satisfaction by building software used by millions around the world. Work on what you like when you likeApacheCon
![Page 29: Opensource development and apache software foundation](https://reader034.vdocuments.mx/reader034/viewer/2022051312/546d399eaf7959ea108b53be/html5/thumbnails/29.jpg)
Impact on Contributing to ASFAs a company
Recognition as a company contributing to opensourceAttract better people to come and joinFree publicity in all the events.Making sure the technologies you use sustain.
Contributing developersHaving in-house expertise
Not allowing monopolies and making sure you can “influence” the directions.
Hudson vs JenkinsCan we influence “Siri” to include the features we like?
Free training for your employees in all aspects of software development, management, QA, and maintenance.
Novices become intermediates who becomes experts, and users become developers who become core contributors.
Pooling the developers to work on a project important to the company and harvesting the advantages of Synergy.
Credit: http://mashable.com/2011/03/30/business-open-source-communities/
![Page 30: Opensource development and apache software foundation](https://reader034.vdocuments.mx/reader034/viewer/2022051312/546d399eaf7959ea108b53be/html5/thumbnails/30.jpg)
My JourneyStarting Apache Axis2 project with Dr. Sanjiva Weerawarana and Apache Axis expertsInvolvement in designs discussions, implementations, dev/user mailing lists, fixing bugsBeing a release manager and getting elected into project management committee (PMC)Presenting at ApacheCon and helping to organize ApacheCon AsiaElecting to be a member of ASF
![Page 31: Opensource development and apache software foundation](https://reader034.vdocuments.mx/reader034/viewer/2022051312/546d399eaf7959ea108b53be/html5/thumbnails/31.jpg)
How Can We Contribute?
Apache wants voluntary contributions
As an individualEvangelism, bug reports, documentations, testing, code, design feedback, replying to users
As a companyProvide testimonials about the OSS your enterprise usesAllow staff members to work on OSS libraries/applications that your company usesPush changes to OSS back to the developers of that project. Host OSS club meetings on your premises. Extract out and make “open source” the libraries/applications developed in-house.Free up use of paid software/services for OSS communities (remember cost vigilance?)
Contributing is easier than you think!
Credit: http://mashable.com/2011/03/30/business-open-source-communities/
![Page 32: Opensource development and apache software foundation](https://reader034.vdocuments.mx/reader034/viewer/2022051312/546d399eaf7959ea108b53be/html5/thumbnails/32.jpg)
Questions …Special thanks to
Dr. Sanjiva Weerawarana for introducing me to ASF and opensourceAll my colleagues in ASFJim Jagielski, Justin Erankrantz and Noel Bergman for sharing their slides