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.

#ChapterWhat it answers
1Reading the CodebaseHow do I navigate ~200k LOC without drowning?
2Design via JIRAWhere does design happen in Apache projects?
3Community InteractionHow do I talk to dev@ and JIRA without burning trust?
4Patch QualityWhat does a committer-ready patch look like?
5Responding to FeedbackHow do I handle review comments well?
6CompatibilityWhat can I change without breaking users?
7MeritocracyHow 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 chapterMindset chapter that pairs with it
Level 2 Lab 2: Prepare a PatchPatch Quality
Level 3 deep dives on AM internalsReading the Codebase
Level 5 Tez/Hive integrationCompatibility
Level 7 protocol & wire formatCompatibility
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.org mailing-list archive
  • The tez-tools/src/main/resources/tez/checkstyle.xml and other in-repo policy files
  • The @InterfaceAudience / @InterfaceStability annotations in tez-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 to dev-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:

  1. Find any feature in Tez within 10 minutes by tracing from TezClient or DAGAppMaster.
  2. Write a JIRA description that a committer can act on without follow-up questions.
  3. Produce a patch that passes mvn checkstyle:check and mvn test in changed modules on the first try.
  4. Read a @InterfaceAudience annotation and predict what you may and may not change.
  5. 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.