Ævar Arnfjörð Bjarmason wrote: > On Wed, Dec 23 2020, Felipe Contreras wrote: > > > When I express my dissenting opinion I'm not saying nobody should write > > a patch on top of mine. Of course they can. Anybody can take my code and > > do whatever they want with it (as long as they don't violate the license > > of the project). > > > > What they cannot do is add my Signed-off-by line to code I don't agree > > with. > > I don't think that's what Signed-off-by means, per SubmittingPatches: > > To improve tracking of who did what, we ask you to certify that you > wrote the patch or have the right to pass it on under the same > license as ours, by "signing off" your patch[...under the DCO: > https://developercertificate.org/] Yes, but the DCO requires (d): d. I understand and agree that this project and the contribution are public and that a record of the contribution (including all personal information I submit with it, including my sign-off) is maintained indefinitely and may be redistributed consistent with this project or the open source license(s) involved. We can narrow down the part I'm talking about: d. I *agree* that a record of the contribution is maintained indefinitely. I don't agree with that. Moreover, the relevant definition of "sign off" in English in my opinion is [1]: to approve or acknowledge something by or as if by a signature (sign off on a memo) If I didn't put my "signature" in a commit, then it's not signed off by me. > So I find this rather unlikely, but let's say I author a patch for > git.git and send it to this ML with a Signed-off-by. > > If someone else then takes that patch and changes it in a way that I > vehemently disagree with and gets Junio to accept it into git.git in its > altered form, that altered patch should still carry my Signed-off-by, as > well as that of whoever altered it. I don't think so. Even if you disregard clause (d) of the DCO, in English you didn't "sign off" on that particular version of the patch. > "No Discrimination Against Fields of Endeavor" is an integral part of > free software & open source. In our case it means that when you > contribute code under our COPYING terms someone else might use in a way > you don't approve of. Yes, you just have to make the record straight; do your changes in a separate commit without my "sign off". > E.g. I'm sure that arms contractors, totalitarian regimes etc. or other > entities some might disapprove of are using git in some way. Yes, and you can modify my patch and keep my s-o-b, I'm not going to sue you. I just don't think that's right. > That non-restriction on fields of endeavor also extends to individual > patches licensed under a free software license & the necessity to > maintain a paper trail about who their authors are and if they certified > them under the DCO. Sure, so if you need to keep a paper trail about the copyright of the code, why would you risk that simply because the author didn't agree on the further changes. Just do them on a separate commit. Problem solved. > 1. As an aside, I haven't needed involvement from others to later > realize that an integrated patch of mine with my SOB maybe wasn't > such a good idea after all :) Oh, me neither. But in this particular case I'm sure X is wrong, so I'm stating unequivocally that I think X is wrong. Plus, in my experience I usually think X is the case, and it's not only after I roll up my sleeves and get my hands dirty that I realize what's actually the case. Changing your mind after you get your hands dirty is usually a good thing. Which is another reason why I like Linus Torvalds' phrase: "talk is cheap, show me the code". Cheers. [1] https://www.merriam-webster.com/dictionary/sign%20off -- Felipe Contreras