Your patch should include cover notes explaining why you think the
patch is necessary or useful. This is explanation directed not to the
users of the software but to the maintainer to whom you are sending the
patch.
The note can be short — in fact, some of the most
effective cover notes I've ever seen just said “See the
documentation updates in this patch”. But it should show the
right attitude.
The right attitude is helpful, respectful of the maintainer's time,
quietly confident but unassuming. It's good to display understanding of
the code you're patching. It's good to show that you can identify with the
maintainer's problems. It's also good to be up front about any risks you
perceive in applying the patch. Here are some examples of the sorts of
explanatory comments that experienced developers send:
“I've seen two problems with this code, X and Y. I fixed
problem X, but I didn't try addressing problem Y because I don't think
I understand the part of the code that I believe is
involved”.
“Fixed a core dump that can happen when one of the foo
inputs is too long. While I was at it, I went looking for similar
overflows elsewhere. I found a possible one in blarg.c, near line
666. Are you sure the sender can't generate more than 80 characters
per transmission?”
“Have you considered using the Foonly algorithm for this
problem? There is a good implementation at
<https://www.example.com/~jsmith/foonly.html>”.
“This patch solves the immediate problem, but I realize it
complicates the memory allocation in an unpleasant way. Works for me,
but you should probably test it under heavy load before
shipping”.
“This may be featuritis, but I'm sending it anyway.
Maybe you'll know a cleaner way to implement the
feature”.