Is having a “definition of done” required in Scrum, or is it optional? According to the Scrum Checklist, it is required and we can't call our methodology "Scrum" without one. I would like to know if that is true according to primary sources.
Yes, the official Scrum framework requires a Definition of Done. You cannot claim to be using the official Scrum framework without defining and using one.
The Scrum Guide is the definition resource describing the formal framework. While Scrum is quite flexible, elements such as the Definition of Done are not optional. The guide's End Note specifically says:
Scrum’s roles, events, artifacts, and rules are immutable and although implementing only parts of Scrum is possible, the result is not Scrum. Scrum exists only in its entirety[.]
"Definition of Done" is a Required Artifact
In the section on artifacts, the Scrum Guide clearly articulates that an increment must meet the team's definition of done:
At the end of a Sprint, the new Increment must be "Done," which means it must be in useable condition and meet the Scrum Team’s definition of "Done".
The guide further devotes an entire section about artifact transparency to the Definition of Done. That section says, in part:
When a Product Backlog item or an Increment is described as "Done", everyone must understand what "Done" means. Although this may vary significantly per Scrum Team, members must have a shared understanding of what it means for work to be complete, to ensure transparency. This is the definition of "Done" for the Scrum Team and is used to assess when work is complete on the product Increment.