2. Reference
The Apache Way
Alan Gates
DataWorks Summit 2017 San Jose
https://dataworkssummit.com/san-jose-2017/sessions/the-apache-way
3. Apache Software Foundation
• Non-profit foundation that manages open source projects
• Most of people are volunteers, a few paid positions (such as infra)
• About 180 top level projects (TLPs)
• EX: httpd, Tomcat, Spark, Flink, HBase, Mesos, Bigtop
• New projects started from Incubator
• EX: Hivemall, Impala, PredictionIO, MXNet
• Some are new projects, some already have mature code base
• Mentors train the project in the Apache Way
4. Spirits
• Community over code
• Apache does not write great software, Apache build communities that write great
software
• No Corporate Affiliations
• Some volunteers, some paid by employers to do open source
• Everyone works as individuals, not an employee of a company
• Companies have no control on the project
• Paid workers work on features, bugs
• Many company sponsor Apache, or back projects
5. Roles
• Users
• Download, use the software; ask, discuss questions on the user mailing list
• Contributors
• NOT ONLY developers
• Contributing tests and doc, reporting bugs, answering questions on mailing list,
organizing meetups, workshops, user groups, anything that helps!
• Committers
• Have write permission to project codebase
• Decide whether your code gets committed or not.
6. Roles
• Project Management Committee (PMC)
• Vote for new committers and PMC members
• Vote for releases
• access to private mailing list
• Reports regularly to the board
• Assures the project is operating in the "Apache Way"
7. Roles
• Apache Members
• Shareholders, caretakers of the foundation
• access to members mailing list
• access to all private mailing list
• New members nominated by current members every year
• Apache Board
• Governs Apache, elected every year
10. Meritocracy
• Contributors who continuously making quality contributions are voted in as
committers by the PMC
• Committers who continue to contribute and show the ability to guide the
project are voted in as PMC member by the PMC
• Committers and PMC members who continuously contribute across
projects are voted in as Apache members by other member
• Merit does not expire
• Merit does not transfer
• Bigtop PMC does not get me on Hadoop PMC
11. How it Works
•Mailing list
•Enables volunteers in different time zone to work together
•Project specific: users, dev, private@XXX.apache.org
•Non-list discussions need to be reported back on list
•If it didn’t happen on-list, it didn’t happen
•Things can be public, must be public
•Can be private: personal, credentials(AWS, dockerhub), security, legal issues,
nominations
•Lists achieved on the internet
12. How it Works
• JIRA
• Track issues, bugs development progress, submit patches
• Discuss the bug, the problem, review the design, the patch
(Some moved to github for code review)
• Release
• Apache officially only release source code
• Some project provide binary convenience artifacts
• Release earlier, release often
13. Votes
• Decisions are reached by consensus, not majority votes
• Votes to formalize decisions
• +1, agree
• +0, no opinions
• -1, I disagree, because...
• All votes are equal
• Different scenarios require different
consensuses
14. Votes
• Decisions are reached by consensus, not majority votes
• Votes to formalize decisions
• +1, agree
• +0, no opinions
• -1, I disagree, because...
• All votes are equal
• Different scenarios require different
consensuses
Decision Who Votes? Consensus Min Votes
Add
committer
or PMC
PMC Unanimous 3
Release PMC Majority 3
Review of
patch
committers Unanimous 0 or 1
15. Why contribute to Apache?
•As a company:
•Maintain good quality and long term availability of business critical foundation software
•Build company brand
•talent acquisition
•As individuals:
•Learn from committers, know great people
•Earn reputation
•Talk on international conferences
•Do something good for the society
16. How do I trade-off between paid
work and making contributions?
17. No, you don't have to
• Still, get your jobs done decently
• Make contributions 8 to10
• Do you really need to spend time on these?
FB, news, movies, ptt, etc
• No you don't because you can find your joy through contributions
• It's not easy. That's why you're different