Q1. Is the repo owner obligated to avoid rebasing?
No. The contributor is stating a (strong) preference that their commit not be rebased. The owner is free to ignore this clear preference.
Q2. Merging the commit would create an undesired relationship betwen branches in my repo.
If the commit was based on the wrong parent, ask the contributor to re-base it to the correct branch.
Q3. As a contributor, how can I prevent a repo owner rebasing my commit?
You can't, but you can discourage it:
- Add the Author-Rebase-Consent trailer to your commits clearly states your preference.
- Enable Vigilent Mode. This works if you sign all commits uploaded to GitHub. Your rebased commits will be marked as "Unverified" or "Partially Verified", but never as "Verified". A repo maintainer might see it as undesirable to have commits in their repo which are not "Verified".
- Don't contribute your time and effort to maintainers that don't respect them.
Q4. Is this about Copyright?
No... Maybe.
The term Copyright is commonly undertood to apply to the objects stored in a git repo, ie, the "software" or "content".
Rebase Consent is about the commit object alone. When you don't consent to rebasing, you are stating that you don't allow modifications to the commit object you created. This covers the commit message and headers like dates, author committer, parent SHA, tree SHA (both SHA's are references to other objects).
So far there has not been much discourse over what copyright might apply to commit objects we create.
Maybe there should be. You are invited to discuss