SlideShare a Scribd company logo
Life In Apache Software
Foundation (ASF)
Ashish Singhi
Apache HBase Committer & PMC Member
Senior Software Engineer at Walmart Labs
Date: 21st Nov 2019
The Apache Software Foundation
• What is ASF - non-profit public charity organization incorporated in
USA
• How it started - A bit of history
(https://www.apache.org/foundation/how-it-works.html#history)
• How many project it includes - 276!
(https://projects.apache.org/projects.html?name)
• How it makes money - It does not "make money" per se, it just has to
cover its costs. It accepts corporate sponsorship donations, regular
donations and through conferences.
List of sponsors - https://www.apache.org/foundation/thanks
ASF Roles
• User - uses software, feedback
• Developer/Contributor - participate in discussions, provide patches, documentation,
suggestions
• Committer - a developer with right access on the code repo, apache.org mail address
• PMC Member - right to vote for the community-related decisions, proposes and elects a
contributor as a committer, controls the project
• PMC Chair - One among PMC, leads the project, interface between the board and the
project
• ASF Member – Propose a committer or a PMC for membership, can stand for the board
election, right to propose a new project for incubation
https://www.apache.org/foundation/how-it-works.html#roles
Newcomers to ASF
• Where do they start -
• Finding the right project
• By language: https://projects.apache.org/projects.html?language
• By Category: https://projects.apache.org/projects.html?category
• Subscribing to project mailing list
• Example for Kafka: https://kafka.apache.org/contact
• Jira to work upon
• Filter for labels: beginners, newbie…
• How should they behave -
• Respect time and culture of others
• Be constructive, friendly, polite and patient
• Writing good emails (http://www.apache.org/dev/contrib-email-tips)
Contributor: Things to know
• How to report an issue ?
• How to request for a feature ?
• How to assign yourself a Jira which is assigned to someone else ?
• How to submit code change ?
• Few Coding standards to follow:
• Unit test – At least one unit test case for the Jira
• Functional and Integration test if possible
• Static tools – Findbugs, Checkstyle, Coverity, ThreadSafe
• Format only the modified code
• Take review comments positively, have an open mind
• If you get no feedback on the patch, wait and repeat your question in 3-4 days
• Provide review comments in the form of a question, even if you’re quite sure that you’re
right
How to become a Committer
• Ability to work co-operatively with peers - Evaluated by the interactions
they have through mail, how they respond to criticism, how they
participate in decision-making process
• Commitment - Evaluated by time, sticking through tough issues, helping on
not-so-fun tasks as well
• Personal skill/ability - A solid general understanding of the project, quality
of discussion in mail, patches (where applicable) easy to apply with only a
cursory review
• Community - Evaluated by the interactions through mail, reviewing others
patches
• Non binding votes on code modifications
Voting in ASF
• Votes are represented as numbers between -1 and +1, with ‘-1’
meaning ‘no’ and ‘+1’ meaning ‘yes.’
• The in-between values are indicative of how strongly the voting
individual feels.
http://www.apache.org/foundation/voting.html#expressing-votes-1-
0-1-and-fractions
• Bug : At least one binding ‘+1’ is required with no ‘-1’ vote
• Major feature: At least two/three binding ‘+1’ is required (depends on
project) with no ‘-1’ vote
• Committer: At least 3 binding ‘+1’ vote is required with no ‘-1’ note
Project
Versioning
• Versions are denoted using a
standard triplet of
integers: MAJOR.MINOR.PATCH
• MAJOR versions are
incompatible.
• MINOR versions retain source
and binary compatibility with
older minor versions.
• PATCH level are perfectly
compatible, forwards and
backwards.
Original Version New Version Compatible?
2.2.3 2.2.4 Yes
Compatibility across patch versions is guaranteed.
2.2.3 2.2.1 Yes
Compatibility across patch versions is guaranteed.
2.2.3 2.3.1 Yes
Compatibility with later minor versions is
guaranteed.
2.2.3 2.1.7 No
Compatibility with prior minor versions is not
guaranteed.
2.2.3 3.0.0 No
Compatibility with different major versions is not
guaranteed.
2.2.3 1.4.7 No
Compatibility with different major versions is not
guaranteed.
https://apr.apache.org/versioning.html
Responsibilities of a Committer
• Binding votes on code modifications
• Applying patches - discuss, review and apply patches submitted by others
• Helping users - respond to questions from users and devs on the mailing
list
• Monitoring commits and issues - review commit email messages,
Monitoring Jira for bugs or enhancement requests
• Helping out with the web site – Maintain the project web site
• Mentoring new comers.
• Non binding Votes on project release cuts.
https://www.apache.org/dev/committers.html#committer-responsibilities
Responsibilities of a PMC
• Binding votes every where.
• Comply with legal affairs policies
• Comply with brand management policies
• Responsibly report misuses of apache brands
• Conduct project business on public mailing lists
• Limit project business on private mailing lists
Life in Apache Software Foundation

More Related Content

PPTX
You Live, You Learn, Then You Get Perforce Swarm
PPTX
Interns What Is DevOps
PPTX
Effective Code Review (Or How To Alienate Your Coworkers)
PPTX
LCEU14: How to run a Collaborative Project - Lars Kurth
PDF
Surviving in a Microservices environment -abridged
PDF
I Wrote an FFV1 Decoder in Go for Fun: What I Learned Going from Spec to Impl...
PDF
Surviving in a microservices environment
PPTX
Hard Coding as a design approach
You Live, You Learn, Then You Get Perforce Swarm
Interns What Is DevOps
Effective Code Review (Or How To Alienate Your Coworkers)
LCEU14: How to run a Collaborative Project - Lars Kurth
Surviving in a Microservices environment -abridged
I Wrote an FFV1 Decoder in Go for Fun: What I Learned Going from Spec to Impl...
Surviving in a microservices environment
Hard Coding as a design approach

Similar to Life in Apache Software Foundation (20)

PDF
Xen Project Contributor Training - Part 1 introduction v1.0
PDF
The Apache Way
PDF
The Apache Way: A Proven Way Toward Success
PDF
An Introduction To Software Development - Final Review
PDF
Opening up Open Source
PDF
Agile Software Development
PDF
Software citation
PDF
Code the docs-yu liu
PDF
2014 August - eXo Software Factory Overview
PPTX
Techorama 2022 - Adventures of building Promitor, an open-source product
PPTX
Passionate About Plugins - WordCamp Toronto
PDF
Make Your Team Flow
PPT
Passionate About Plugins - WordCamp Montreal 2012
PDF
Design Systems at Scale
PPT
How to "Hack" the DSpace Community
PPT
Case study
PDF
Osgeo incubation-2014
PPTX
New features and improvements
PDF
Automated Code Reviews with AI and ML - DevOps Next
PPTX
Why Isn't Clean Coding Working For My Team
Xen Project Contributor Training - Part 1 introduction v1.0
The Apache Way
The Apache Way: A Proven Way Toward Success
An Introduction To Software Development - Final Review
Opening up Open Source
Agile Software Development
Software citation
Code the docs-yu liu
2014 August - eXo Software Factory Overview
Techorama 2022 - Adventures of building Promitor, an open-source product
Passionate About Plugins - WordCamp Toronto
Make Your Team Flow
Passionate About Plugins - WordCamp Montreal 2012
Design Systems at Scale
How to "Hack" the DSpace Community
Case study
Osgeo incubation-2014
New features and improvements
Automated Code Reviews with AI and ML - DevOps Next
Why Isn't Clean Coding Working For My Team
Ad

Recently uploaded (20)

PDF
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
PDF
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
PPTX
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
PDF
Audit Checklist Design Aligning with ISO, IATF, and Industry Standards — Omne...
PPTX
Odoo POS Development Services by CandidRoot Solutions
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 41
PDF
Understanding Forklifts - TECH EHS Solution
PDF
EN-Survey-Report-SAP-LeanIX-EA-Insights-2025.pdf
PPTX
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
PDF
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
PDF
How to Choose the Right IT Partner for Your Business in Malaysia
PDF
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
PDF
Which alternative to Crystal Reports is best for small or large businesses.pdf
PPTX
CHAPTER 2 - PM Management and IT Context
PPTX
ai tools demonstartion for schools and inter college
PDF
Digital Strategies for Manufacturing Companies
PDF
top salesforce developer skills in 2025.pdf
PDF
How to Migrate SBCGlobal Email to Yahoo Easily
PDF
medical staffing services at VALiNTRY
PDF
Wondershare Filmora 15 Crack With Activation Key [2025
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
Audit Checklist Design Aligning with ISO, IATF, and Industry Standards — Omne...
Odoo POS Development Services by CandidRoot Solutions
Internet Downloader Manager (IDM) Crack 6.42 Build 41
Understanding Forklifts - TECH EHS Solution
EN-Survey-Report-SAP-LeanIX-EA-Insights-2025.pdf
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
How to Choose the Right IT Partner for Your Business in Malaysia
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
Which alternative to Crystal Reports is best for small or large businesses.pdf
CHAPTER 2 - PM Management and IT Context
ai tools demonstartion for schools and inter college
Digital Strategies for Manufacturing Companies
top salesforce developer skills in 2025.pdf
How to Migrate SBCGlobal Email to Yahoo Easily
medical staffing services at VALiNTRY
Wondershare Filmora 15 Crack With Activation Key [2025
Ad

Life in Apache Software Foundation

  • 1. Life In Apache Software Foundation (ASF) Ashish Singhi Apache HBase Committer & PMC Member Senior Software Engineer at Walmart Labs Date: 21st Nov 2019
  • 2. The Apache Software Foundation • What is ASF - non-profit public charity organization incorporated in USA • How it started - A bit of history (https://www.apache.org/foundation/how-it-works.html#history) • How many project it includes - 276! (https://projects.apache.org/projects.html?name) • How it makes money - It does not "make money" per se, it just has to cover its costs. It accepts corporate sponsorship donations, regular donations and through conferences. List of sponsors - https://www.apache.org/foundation/thanks
  • 3. ASF Roles • User - uses software, feedback • Developer/Contributor - participate in discussions, provide patches, documentation, suggestions • Committer - a developer with right access on the code repo, apache.org mail address • PMC Member - right to vote for the community-related decisions, proposes and elects a contributor as a committer, controls the project • PMC Chair - One among PMC, leads the project, interface between the board and the project • ASF Member – Propose a committer or a PMC for membership, can stand for the board election, right to propose a new project for incubation https://www.apache.org/foundation/how-it-works.html#roles
  • 4. Newcomers to ASF • Where do they start - • Finding the right project • By language: https://projects.apache.org/projects.html?language • By Category: https://projects.apache.org/projects.html?category • Subscribing to project mailing list • Example for Kafka: https://kafka.apache.org/contact • Jira to work upon • Filter for labels: beginners, newbie… • How should they behave - • Respect time and culture of others • Be constructive, friendly, polite and patient • Writing good emails (http://www.apache.org/dev/contrib-email-tips)
  • 5. Contributor: Things to know • How to report an issue ? • How to request for a feature ? • How to assign yourself a Jira which is assigned to someone else ? • How to submit code change ? • Few Coding standards to follow: • Unit test – At least one unit test case for the Jira • Functional and Integration test if possible • Static tools – Findbugs, Checkstyle, Coverity, ThreadSafe • Format only the modified code • Take review comments positively, have an open mind • If you get no feedback on the patch, wait and repeat your question in 3-4 days • Provide review comments in the form of a question, even if you’re quite sure that you’re right
  • 6. How to become a Committer • Ability to work co-operatively with peers - Evaluated by the interactions they have through mail, how they respond to criticism, how they participate in decision-making process • Commitment - Evaluated by time, sticking through tough issues, helping on not-so-fun tasks as well • Personal skill/ability - A solid general understanding of the project, quality of discussion in mail, patches (where applicable) easy to apply with only a cursory review • Community - Evaluated by the interactions through mail, reviewing others patches • Non binding votes on code modifications
  • 7. Voting in ASF • Votes are represented as numbers between -1 and +1, with ‘-1’ meaning ‘no’ and ‘+1’ meaning ‘yes.’ • The in-between values are indicative of how strongly the voting individual feels. http://www.apache.org/foundation/voting.html#expressing-votes-1- 0-1-and-fractions • Bug : At least one binding ‘+1’ is required with no ‘-1’ vote • Major feature: At least two/three binding ‘+1’ is required (depends on project) with no ‘-1’ vote • Committer: At least 3 binding ‘+1’ vote is required with no ‘-1’ note
  • 8. Project Versioning • Versions are denoted using a standard triplet of integers: MAJOR.MINOR.PATCH • MAJOR versions are incompatible. • MINOR versions retain source and binary compatibility with older minor versions. • PATCH level are perfectly compatible, forwards and backwards. Original Version New Version Compatible? 2.2.3 2.2.4 Yes Compatibility across patch versions is guaranteed. 2.2.3 2.2.1 Yes Compatibility across patch versions is guaranteed. 2.2.3 2.3.1 Yes Compatibility with later minor versions is guaranteed. 2.2.3 2.1.7 No Compatibility with prior minor versions is not guaranteed. 2.2.3 3.0.0 No Compatibility with different major versions is not guaranteed. 2.2.3 1.4.7 No Compatibility with different major versions is not guaranteed. https://apr.apache.org/versioning.html
  • 9. Responsibilities of a Committer • Binding votes on code modifications • Applying patches - discuss, review and apply patches submitted by others • Helping users - respond to questions from users and devs on the mailing list • Monitoring commits and issues - review commit email messages, Monitoring Jira for bugs or enhancement requests • Helping out with the web site – Maintain the project web site • Mentoring new comers. • Non binding Votes on project release cuts. https://www.apache.org/dev/committers.html#committer-responsibilities
  • 10. Responsibilities of a PMC • Binding votes every where. • Comply with legal affairs policies • Comply with brand management policies • Responsibly report misuses of apache brands • Conduct project business on public mailing lists • Limit project business on private mailing lists