XSF Editor Team - 2020-06-15


  1. Kev

    I hope that reply was not too unhelpful.

  2. jonas’

    I would have to get up to read it

  3. jonas’

    but you’ve made me curious

  4. Kev

    Summary: I think we should stay with github if we can. But if we can't, we need the Editors to be able to function.

  5. Kev

    It's not worth getting up for :)

  6. Kev

    What I didn't say is that there is a real barrier to switching platforms for contributors, because if they're doing XSF work on work time (as I am, and I think several people are), they'd need to check that Legal are happy with the gitlab terms, having already gone through that dance once to check the github terms are ok.

  7. jonas’

    Uh, why didn’t you say that?

  8. jonas’

    this was completely off my radar

  9. Kev

    I thought it was enough to note that switching was a barrier to contribution. I don't want to start an amateur lawyering thread on standards@.

  10. jonas’

    right, but I think it’s a very valid concern

  11. jonas’

    more than just the generic "this isn’t the main platform for individual users" barrier-to-contribution

  12. Kev

    When we switched to github similar concerns were raised, including from Kurt (@isode) claiming Isode would never allow use of github, when I was already using it. I didn't want the pain.

  13. Kev

    But did want at least people here to be aware and weigh it in decisions.

  14. Kev

    And my other point stands - a process/tooling that the Editors can't/won't use is a bigger issue than preventing contribution.

  15. jonas’

    thanks

  16. jonas’

    with Sams suggestion we might have the cake and eat it too, at least for most part. we might not get the value added stuff like seeing rendered previews and diffs in MRs, though

  17. jonas’

    (or at least not as neatly integrated, though I guess we can do a lot if someone starts to poke at the github api)

  18. jonas’

    ugh

  19. jonas’

    we cannot use gitlab ci/cd externally on github: https://gitlab.com/gitlab-org/gitlab/-/issues/5667

  20. jonas’

    or maybe we can, hm, but it’d be even more degraded

  21. jonas’

    we wouldn’t get CI checks on PRs

  22. jonas’

    ugh, so

  23. jonas’

    anyone with more ideas how to solve this?

  24. jonas’

    I see those ways: 1. We stay on GitHub primarily and use GitLab CI/CD as well as the container registry for handling everything which happens on the main branch, i.e. building the images, sending out emails etc.. PRs would be handled by travis-ci, because we cannot get PRs working in GitLab CI from GitHub. 2. The primary repository moves to GitLab and we set up a push mirror to GitHub. PRs would be accepted on github, but with lower "SLA", since editors would have to manually transfer stuff. PRs on GitLab would get all the bells and whistles like pre-rendered diffs and stuff. 3. We move completely off GitHub.

  25. jonas’

    pep., opinion?

  26. jonas’

    (option 4: find someone else to fix all the things on something which isn’t gitlab CI)

  27. jonas’

    Oh, and of course, using GitLab CI "remotely" has the same issue as docker hub and all the other tools: you have to grant +rw on all things

  28. jonas’

    it really is GitHub’s f*d up permission model

  29. jonas’

    might use a separate "machine account" (from GitHub ToS) for that, I’d sacrifice my free machine account (as per ToS) for that even

  30. jonas’

    would still gain +rw on all things under xsf

  31. jonas’

    hm, no, I can’t do that for $reasons

  32. jonas’

    someone else would have to

  33. pep.

    2. seems annoying for editors :/

  34. jonas’

    indeed

  35. jonas’

    it also won’t fix the permission issue

  36. pep.

    Having to move stufffrom one to the other

  37. pep.

    1. Seems like an ugly compromise

  38. jonas’

    the only thing fixing the permission issue is, unfortunately, (3)

  39. jonas’

    though, no, (2) can be done without full repository access

  40. jonas’

    just webhooks AFAICT

  41. pep.

    Can we archive if we keep xep-attic on github?

  42. jonas’

    what would that buy us?

  43. pep.

    hmm?

  44. pep.

    Archiving?

  45. jonas’

    what would we gain from keeping xep-attic on github?

  46. Guus

    I won't claim to understand more than the basics from what you're trying to do, but I notice that you keep not referring to GitHubs own actions. Doesn't that suffice?

  47. pep.

    jonas’, ah, well "people don't want to move", so I'd assume they also don't want that to move

  48. jonas’

    Guus, I don’t have much experience with actions

  49. Guus

    Isn't that supposed to be augmentable with easy snippets?

  50. jonas’

    I’m not sure we can do all of what we need to do there (while I’ve proven already that we can with CI), but one issue would be that there is no docker registry we can readily use from Actions

  51. jonas’

    (GitHub "packages" (docker registry) aren’t world-readable, so we’d have to put some privileged token on our server to be able to update the images there, which is again a permission issue)

  52. Guus

    I'll take your word for it. Just mentioned it in case you hadn't considered it yet.

  53. jonas’

    Guus, I’m not 100% certain that Actions wouldn’t solve everything

  54. jonas’

    well, I mean, at least the most pressing issues

  55. jonas’

    it won’t give us the nice extra features we could have with gitlab

  56. jonas’

    pep., so yeah, (2) would work without the permission nightmare

  57. jonas’

    but it’s quite annoying for us indeed

  58. jonas’

    though still less annoying potentially than the current process, since you can just merge + push to gitlab and let the mirroring + pipeline take care of the rest

  59. jonas’

    (while with the current process you’ll have to do the email sending and stuff manually)

  60. Guus

    If using docker is a limiting factor, can we consider moving away from that?

  61. jonas’

    Guus, we could also build tarballs and push them as build artifacts, but they have exactly the same limitations on GitHub.

  62. Guus

    I'm just spitballing

  63. jonas’

    Guus, yes, thank you for that

  64. jonas’

    I really appreciate it

  65. jonas’

    I’m being specific about what I considered (and rejected) in the hopes that you point out a flaw, it’s not meant to be aggressive in any way

  66. Guus

    I don't understand enough of the problem space to evaluate

  67. jonas’

    pep., I think that xep-attic is virtually irrelevant for normal people.

  68. jonas’

    pep., how terrible do you think (2) would be for us editors?

  69. pep.

    we'd have to basically pull everything and wait for CI to process before being able to do anything. So I guess your tuesday night becomes two sessions split over the week :p

  70. pep.

    Github see when something has been merged if it's on master? We wouldn't have to close PRs there?

  71. pep.

    Github sees when something has been merged if it's on master? We wouldn't have to close PRs there?

  72. jonas’

    for the former: no, we’d have travis-ci to check PRs on GitHub, so we could just do the merge locally, push to gitlab and let gitlab do its thing

  73. jonas’

    for the latter: correct, if the commit ID at the tip of the PR appears on master, the PR is auto-closed

  74. jonas’

    for the latter: correct, if the commit ID at the tip of the PR appears on master, the PR is auto-closed and marked as merged

  75. pep.

    Ah ok so we're giving up on gitlab-ci for MRs at all, no rendered version etc.

  76. pep.

    no possible htmldiff

  77. jonas’

    for GitHub PRs, that’s true

  78. jonas’

    for GitLab MRs, we’d still have that

  79. jonas’

    but those are only given to those who come to GitLab for their MRs

  80. jonas’

    GitHub PRs would not receive such service

  81. pep.

    k

  82. pep.

    I'm not entirely happy with having to entrypoints tbh

  83. pep.

    But..

  84. jonas’

    I always read "k" as a very short (both in lettercount and tone), but I get the impression that’s not (always) your intention?

  85. pep.

    I use "k" as "ok"

  86. jonas’

    I am not happy at all with that. I’m going to sleep over it and send a proposal to the list tomorrow.

  87. jonas’

    right, other people I write with use "k" for "ok" but only if they want to be short in tone, too

  88. jonas’

    so I’ll remap that in my head for you, thanks

  89. pep.

    languages :P

  90. jonas’

    yeah, let’s stop using them

  91. pep.

    I'll start the research for a matrix-like device where I can transmit raw thoughts

  92. jonas’

    sounds like a plan

  93. pep.

    hmm, having both gitlab and github means we have to maintain both travis-ci and gitlab-ci

  94. pep.

    To do.. more or less the same thing

  95. pep.

    What about CLA-signing btw, have you found anything?

  96. jonas’

    right, I’d have a plan how to do that, but I’d need to run it by board

  97. jonas’

    effectively, CI-check for DCO + put wording in the repo that DCO == accept IPR

  98. jonas’

    on CI-fail use gitlab API to put a comment with explanation on it

  99. jonas’

    that’s the key downside for gitlab IMO

  100. jonas’

    because that’s much more complex than clicking that button

  101. pep.

    "put wording in the repo that DCO == accept IPR" that sounds like a CLA

  102. jonas’

    maybe

  103. pep.

    That's not the goal of the DCO

  104. jonas’

    it is not?

  105. pep.

    nope

  106. pep.

    The DCO just certifies the origin of the change

  107. pep.

    And guarantees that the author has a license to use/share/modify/etc.

  108. jonas’

    ah, indeed

  109. jonas’

    misread that when I skimmed over it

  110. jonas’

    meh

  111. pep.

    It's of course good to have, but I guess a CLA would include this

  112. jonas’

    it is still not quite clear to me why, legally, we need to tell people that when they submit a document which states that it is under XSF IPR (note that the XEP template includes that), it is in fact under XSF IPR and they agree to that

  113. pep.

    A don't know if there are CLA templates relying on DCO

  114. pep.

    I don't know if there are CLA templates relying on DCO

  115. jonas’

    we should maybe run that by a lawyer.

  116. jonas’

    I’ll drop something on the trello board

  117. jonas’

    I’ll drop something on the board trello board

  118. pep.

    What does the current github thing look like again

  119. pep.

    Figuring this out would be a prerequisite to using gitlab as an entrypoint, certainly. I'm afraid board is just gonna drop it :(

  120. pep.

    Judging by the past track record

  121. jonas’

    created a card

  122. pep.

    k

  123. jonas’

    as a truly crappy workaround we could set up a GitHub Action which forwards pushes to GitHub main branch to GitLab main branch, kind of like a weird chimera of (1) and (2)

  124. jonas’

    would give us the power of GitLab CI without the permission issues

  125. jonas’

    but again only for the main branch, not for PRs

  126. jonas’

    pep., though, DCO as on https://developercertificate.org/ states: > (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.

  127. jonas’

    pep., though, DCO as on https://developercertificate.org/ states: > (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.

  128. jonas’

    most notably > may be redistributed consistent with this project or the open source license(s) involved

  129. pep.

    CLA is not a(n open-source) license though. Well, it's a license to relicense

  130. pep.

    The XSF still needs something that explicitely asks the contributor to say "I authorize the XSF to relicense my work under the IPR"

  131. jonas’

    do we?

  132. jonas’

    don’t we just need "I authorize that my contribuiton may be redistributed consistent with the IPR"?

  133. pep.

    Does https://developercertificate.org define "open source license"?

  134. jonas’

    that it specifically says "open source license" is a nitpick which doesn’t quite matter

  135. jonas’

    there are projects which use Signed-off-by with different semantics, e.g. gentoo (as I just learnt)

  136. pep.

    I see. I guess as long as it's defined in their repo..

  137. pep.

    That's not DCO from https://developercertificate.org/ then, it's just something that reuses the same forme

  138. jonas’

    https://github.com/gentoo/gentoo/pull/16258#issuecomment-644148441 https://www.gentoo.org/glep/glep-0076.html#certificate-of-origin

  139. pep.

    That's not DCO from https://developercertificate.org/ then, it's just something that reuses the same form

  140. jonas’

    exactly

  141. pep.

    Hijacking semantics :P

  142. pep.

    But I guess that's fine

  143. pep.

    hmm where do you see that gentoo does?

  144. jonas’

    does what?

  145. jonas’

    also, the git-commit manpage itself says > The meaning of a signoff depends on the project

  146. pep.

    Their DCO doesn't seem to include attribution

  147. jonas’

    did I talk about attribution?

  148. pep.

    Ah ok I thought you did

  149. jonas’

    I just said that they’re not using developercertificate.org

  150. pep.

    They redefine it but it seems to me it's "just" another implementation of about the same thing

  151. jonas’

    sure

  152. jonas’

    ours would be the same, in the end

  153. pep.

    Maybe using "free software" instead of "open source"

  154. jonas’

    instead of $opensourcelicense it’s XSF IPR

  155. pep.

    rereading the IPR

  156. pep.

    "Once an author assigns ownership to the XSF, the XSF shall in turn make the Extension available to all entities so that they may create, use, sell, distribute, or dispose of Implementations or Deployments of XMPP and all XMPP Extensions in perpetuity and without payment or hindrance."

  157. pep.

    This doesn't mention "study" :P

  158. jonas’

    let us please forget that immediately

  159. jonas’

    though I would argue that study is a way to use an extension

  160. pep.

    It'd be fun to see if there is actually any case of the IPR being discussed in court

  161. jonas’

    "no"

  162. pep.

    I can't say for the DCO, if we would "just" need to replace that last line with "XSF IPR". It seems to me the IPR is closer to a CLA than a license (it has the notion of "re-attribution"). But IANAL, I don't know if what I'm saying makes sense at all :/

  163. jonas’

    what is re-attribution and why does it matter?

  164. pep.

    Well a CLA is only really useful in a copyleft context, where you need the author's approval to relicense (what I call reattribution, which is probably a bit maladroit. There's actually CAAs and CLAs..)

  165. jonas’

    GPLv3+ effectively allows that ("or any later version"); GPLv3+ is a free software/open source license; the DCO and the Gentoo-CO both allow the GPLv3+.

  166. jonas’

    hence, they allow re-licensing

  167. jonas’

    but I’ll head to bed now

  168. pep.

    yeah the "or later" thing is special..

  169. pep.

    But it's proper to GPL and only to have another GPL version apply, not any license

  170. pep.

    I'm curious actually if we even need anybody to signup anything

  171. pep.

    The xeps repo is under the IPR license

  172. pep.

    We would just need a "normal" DCO to not take any legal responsability if the change wasn't something the user can submit

  173. pep.

    My 2 cents

  174. pep.

    Now we need a real lawyer

  175. pep.

    We would need to change the "free software" wording though

  176. pep.

    As I doubt the IPR is

  177. pep.

    correction: it's not an OSI approved license. It might still fit into free software