Thursday, 2025-05-22

jbrycei think we came up with a way that covers our legal bases until June 30 for CLA and then a switch to DCO on july 1. i'll make a comment on the gerrit as well, but really appreciate all the input to help get a plan together on this.00:40
jbrycei +1-ed and made a comment. ping me if you think i need to add anything else00:44
gmaanthanks jbryce 01:45
gouthamrperfect ty01:51
opendevreviewGoutham Pacha Ravi proposed openstack/governance master: Fix outdated info on the tc-guide  https://review.opendev.org/c/openstack/governance/+/95044606:13
opendevreviewGoutham Pacha Ravi proposed openstack/governance master: Fix outdated info on the tc-guide  https://review.opendev.org/c/openstack/governance/+/95044606:14
opendevreviewGoutham Pacha Ravi proposed openstack/governance master: Fix outdated info on the tc-guide  https://review.opendev.org/c/openstack/governance/+/95044606:15
clarkblooks like the quantum pypi package ownership change is complete fwiw15:59
fricklerso according to the sandbox testing, gerrit doesn't require a dco for other's editing or rebasing a change. not sure if that is a bug or whether we'd need an additional test in this case16:53
clarkbfrickler: hrm when I tested it did16:54
clarkbthough I teseted on a held node and not the sandbox repo16:54
clarkbok I see your test and can confirm it works. I think the difference is that there is already a signed off by for the commit from the original author16:56
clarkbwhen I tested the edits the existing change did not have a signed off by16:56
fricklerso I guess we need a clear definition on who's signoff is actually needed16:58
clarkbso I guess the code I linke to on the thread is not the same code that processes edits? it definitely seems to check committer and author and "me" in some cases16:58
clarkbfwiw I'm not sure if anyone has ever tested this for the cla enforcement either16:59
clarkb(since the web ui buttons for these thigns came later)16:59
clarkbimo (and I'm not a lawyer) simply rebasing a commit probably does not need a new signed off by. You aren't changing anything about the content of the commit you're just do administrivia so the order is right17:00
clarkbbut edits with content changes would ideally have a corresponding signed off by17:00
clarkb(again I'm not a lawyer)17:00
JayFI'll note Gentoo policy is that (effectively) both committer and author need to do signoff; but the flow there is a little different as they do manual merges to master branches. 17:03
JayFHonestly, if the natural result is "if you modify it enough that you needed to download/repush" being the case that a separate committeer needs a signoff, that sounds sensible to me ... but obviously I'm not a lawyer :D17:04
clarkbJayF: ya and my read of the code is that if you git push then gerrit is checking committer and author and also that the current account is one of those17:04
JayFbut if I edited to fix a minor typo or hit the rebase button it wouldn't?17:04
clarkbits the "click buttons in web ui" case that is different17:04
clarkband ya maybe click buttons in ui for simple things don't rise to that level17:05
JayFIf that's the behavior it makes the maximum sense to jay-the-human but I guess lawyers have to signoff too :D 17:05
clarkbbut also someone should test the git push case as my read of the code could be wrong17:08
clarkbhttps://gerrit.googlesource.com/gerrit/+/refs/tags/v3.10.6/java/com/google/gerrit/server/git/validators/CommitValidators.java#710 is the code fwiw17:08
clarkboh maybe we allow forgecommitter17:08
clarkbforgeAuthor = group Registered Users and forgeCommitter = group Project Bootstrappers are in the All Projects config. so generally no we don't allow forge committer17:10
clarkband then only stackalytics seems to allow forgeCommitters17:10
clarkbso I don't think that is it17:10
clarkbhrm removing the signed off by completely fails. but having just mine or just gouthamr's works. I'd be curious if someone other than gouthamr or myself tried to adit the current state of https://review.opendev.org/c/opendev/sandbox/+/950608 if it works since then you'd be neither the person who owns the change and the signed off by wouldn't match you17:17
fungimaybe it just checks that there's a signed-off-by footer and not whether it matches the committer nor author?17:19
clarkbfungi: if you push with no signed off by at all you get the rror message at https://gerrit.googlesource.com/gerrit/+/refs/tags/v3.10.6/java/com/google/gerrit/server/git/validators/CommitValidators.java#714 and I can't find anywhere else in the code that uses that error message17:19
clarkbfungi: and if you read that code it looks like it is supposed to check each of them17:20
clarkbbut now that I've said this out loud I think I see a bug17:20
clarkbactually no they are doing |= (I thought it was just = and could reset values)17:21
clarkboh I see it17:22
fungistrangely, my ssh key is being denied by gerrit now... troubleshooting17:22
clarkbhttps://gerrit.googlesource.com/gerrit/+/refs/tags/v3.10.6/java/com/google/gerrit/server/git/validators/CommitValidators.java#710 that condition requires every single one of the checks to fail for the trigger to fail17:23
funginever mind, it was ssh running outside the agent context17:23
clarkbI think strict enforcement requires it to be if(!(sboAuthor && sboCommitter && !isMe)) {}17:23
fungii've confirmed there aren't unexpected accounts left in the Administrators or Project Bootstrappers groups, so that wouldn't explain it17:24
clarkbfungi: ya I think the condition is simply "wrong"17:24
fungilovely17:24
clarkbnow it may be correct for other use cases17:24
fungiprobably good enough for now but needs fixing soon17:24
clarkbin the case of gouthamr is author and signed off by and I'm commiter and pusher. We'd get sboAuthor = True, sboCommitter = False, sboMe = False. That then evaluates to !True && !False && !False == False && True && True and skip the block17:26
fungimy non-lawyer attempt to channel the recently deceased spirit of an actual ip lawyer would say that it's fine since this really just fails to catch some possible accidental missing signed-off-by attestations since people are generally amenable to the terms and would have applied them if it weren't for a mistake or error17:26
fungiso it's merely a (rare) bookkeeping error17:27
clarkbthe code was last updated by spearce in 201717:27
clarkbI'm worried that if I push a change to fix it upstream will balk because we could suddnely break a bunch of workflows17:28
JayFfungi: I have a friend who ended up doing tech in a legal-adjacent job in the US gov for a while, he said that irl lawyers he worked with found it funny when tech folks would get worked up over these tiny "holes" and that the laws didn't really work that way17:28
fungisomeone to blame! (just kidding)17:28
fungiJayF: yesh, it's a trope on the debian-legal ml that techies want to treat the law like it's some sort of deterministic computer program17:29
clarkbI'm digging through gerrit history to see if this was intentionally a choice to allow any one of them to be good17:31
clarkbthere is a lot of refactoring...17:32
clarkbhttps://gerrit.googlesource.com/gerrit/+/007c4da18a9ef4e70c5bc57b285b4ba447d473fe we have an answer. It is intentional all the way from 200917:38
fungiwow. a 16-year-old decision17:39
fungiolder than openstack (barely)17:39
clarkbI think if we want to change this in Gerrit we're going to have to put it behind a config option. Something like strictSignedOfBy = True and then toggle the behavior based on that. That is likely well beyond my "just hack it up" abilities and would require me to understand how to read that from configs and write tests etc (all that to say I'm not sure I've got the capability17:39
clarkbright now)17:39
fungimakes sense17:40
clarkbthat said I think this is doable if someone sits down and writes the change and tests it and makes it configurable17:41
clarkbor maybe we'll decide we like the behavior android wants17:52
clarkbits a balance between ease of use and complete control for sure17:52
gouthamron this specific issue, maybe human reviewers can ask the committer to not delete the Signed-off-by line intentionally, or by accident18:18
fricklerI don't like the idea of putting more burden onto reviewers, in my experience such things get easily ignored, like checking for non-voting jobs on relevant changes18:46
gouthamrtrue; we can't block this waiting on a fix in gerrit though18:51
gouthamrjbryce: got a LF merger and bylaws question for you on https://review.opendev.org/c/openstack/governance/+/949432 18:51
gouthamrptal when possible, no rush18:52
fricklerzuul has a dco-license job, but it looks broken? might be a bit heavy handed, but if it were more reliable, we could go with that? https://zuul.opendev.org/t/openstack/build/6d5317ca4b6f48d19d3dee0293767d4d19:09
fungii think the dco check job was being used once upon a time by kata on github when there wasn't a great dco enforcement option there19:23
opendevreviewIvan Anfimov proposed openstack/openstack-manuals master: Remove information about SUSE / openSUSE  https://review.opendev.org/c/openstack/openstack-manuals/+/95024721:46
clarkbdo we want to draft an email for gerrit's mailing list asking about making the check stricter? Its probably a bit early to do that and we should get more calrification?22:06

Generated by irclog2html.py 4.0.0 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!