Contributor Mindset
This section is the "soft skills with hard edges" half of the curriculum. The technical chapters teach you how Tez works; this section teaches you how the Apache Tez project works — how decisions are made, how patches are accepted, how trust is earned, and how a contributor becomes a committer.
These are not optional skills. A technically excellent patch with poor process around it will sit on JIRA for months. A modest patch with clean process gets reviewed and committed.
Reading Order
The chapters are ordered to mirror the actual arc of a new contributor.
| # | Chapter | What it answers |
|---|---|---|
| 1 | Reading the Codebase | How do I navigate ~200k LOC without drowning? |
| 2 | Design via JIRA | Where does design happen in Apache projects? |
| 3 | Community Interaction | How do I talk to dev@ and JIRA without burning trust? |
| 4 | Patch Quality | What does a committer-ready patch look like? |
| 5 | Responding to Feedback | How do I handle review comments well? |
| 6 | Compatibility | What can I change without breaking users? |
| 7 | Meritocracy | How does someone become a committer or PMC member? |
Chapters 1–2 are pre-work — read them before opening any JIRA. Chapters 3–5 are operational — read them before submitting your first patch. Chapters 6–7 are strategic — read them when you start thinking beyond a single patch.
How This Complements the Technical Labs
The labs in Levels 1–9 build engineering competence inside the Tez codebase. This section builds the project-level competence needed to ship that work into Apache Tez itself.
The relationship is concrete:
| Technical chapter | Mindset chapter that pairs with it |
|---|---|
| Level 2 Lab 2: Prepare a Patch | Patch Quality |
| Level 3 deep dives on AM internals | Reading the Codebase |
| Level 5 Tez/Hive integration | Compatibility |
| Level 7 protocol & wire format | Compatibility |
Capstone project (capstone/) | All seven mindset chapters |
If you are doing the Capstone, you should have read all seven chapters in this section by the time you reach Step 8 (the patch).
What This Section Is Not
It is not generic open-source advice. Every claim, template, and procedure here is grounded in:
- The Apache Software Foundation Way
- The Apache Tez JIRA project (TEZ)
- The
dev@tez.apache.orgmailing-list archive - The
tez-tools/src/main/resources/tez/checkstyle.xmland other in-repo policy files - The
@InterfaceAudience/@InterfaceStabilityannotations intez-api
Where a chapter generalises, it labels the generalisation. Where it states a Tez-specific rule, it cites the in-repo file or the JIRA where the rule was set.
Prerequisites
Before this section is useful you must have:
- A local clone of Tez at
~/tez-src(git clone https://github.com/apache/tez.git) - A JIRA account at
https://issues.apache.org/jira/ - A subscription to
dev@tez.apache.org(send empty mail todev-subscribe@tez.apache.org) - An ASF ID is not required — that comes later, with committership.
Validation for the Section
You have absorbed this section when you can:
- Find any feature in Tez within 10 minutes by tracing from
TezClientorDAGAppMaster. - Write a JIRA description that a committer can act on without follow-up questions.
- Produce a patch that passes
mvn checkstyle:checkandmvn testin changed modules on the first try. - Read a
@InterfaceAudienceannotation and predict what you may and may not change. - Explain to a colleague the difference between contributor, committer, and PMC.
The next chapter — Reading the Codebase — gives you the navigation strategy you will use through everything that follows.