XMPP Council - 2020-01-02


  1. jonas’

    quick reminder that we have a council meeting today

  2. jonas’

    I forgot to send an angeda tho, and I won’t get around to do so before the meeting starts

  3. jonas’

    I’m sure you all noticed the amount of ProtoXEPs we have

  4. jonas’ summons Ge0rG, dwd, Kev, and Zash

  5. Zash

    Here

  6. jonas’

    1) Roll call

  7. jonas’

    I saw Ge0rG just now in the other room

  8. daniel

    hi

  9. jonas’

    ha, right, why am I summoning Kev

  10. jonas’

    we need daniel instead!

  11. jonas’

    anyone else, Ge0rG?

  12. dwd

    Hello.

  13. jonas’

    (I’m compoisng the agenda bashing section while we’re waiting)

  14. jonas’

    alright

  15. jonas’

    2) Agenda Bashing - Protoposed XMPP Extension: MAM Fastening Collation https://xmpp.org/extensions/inbox/mamfc.html - Proposed XMPP Extension: User-Defined Data Transfer https://xmpp.org/extensions/inbox/udt.html - Proposed XMPP Extension: Fallback Indication https://xmpp.org/extensions/inbox/fallback.html - Get rid of XEP-0384 (from dwd)

  16. jonas’

    anything I missed?

  17. jonas’

    I’d like to move the XEP-0384 thing to next week because I missed sending out an official agenda beforehands and it’s very controversial.

  18. jonas’

    (at least outside Council)

  19. jonas’

    and I’d like us not to appear like doing anything behind closed doors on that matter

  20. dwd

    I'd like to discuss it, even if we don't vote.

  21. jonas’

    we can certainly do that

  22. jonas’

    (ge0rg sent apologies in the other room)

  23. dwd

    It's not 100% clear what to vote on right now anyway.

  24. jonas’

    that, too

  25. jonas’

    okay, moving on

  26. jonas’

    3) Items for a Vote

  27. jonas’

    3a) Protoposed XMPP Extension: MAM Fastening Collation

  28. jonas’

    https://xmpp.org/extensions/inbox/mamfc.html

  29. daniel

    on list

  30. jonas’

    Haven’t gotten around to read it yet, on-list

  31. Zash

    on list, haven't read all of it yet

  32. dwd

    I am +1, predictably.

  33. jonas’

    that’s it then

  34. jonas’

    3b) Proposed XMPP Extension: User-Defined Data Transfer URL: https://xmpp.org/extensions/inbox/udt.html

  35. jonas’

    I’m +1 in the current state

  36. jonas’

    I’m -0 in the current state

  37. jonas’

    I think valid points were made on-list about the integration of an API description in a Standards Track XEP

  38. daniel

    i usually try not to -1 xeps; but i'm really unsure that one "fills a gap in xmpp"

  39. Ge0rG

    I'm sorry, I'm in a meeting and can't really

  40. Ge0rG

    focus.

  41. jonas’

    dwd, AFAICT, you did not comment on the API/Protocol mingling in the document on-list, what’s your stance on that?

  42. daniel

    i think i'm gonna -0 because i don’t want to block

  43. dwd

    I'm confident it is useful, but only if I can actually get the buy-in from the library developers.

  44. daniel

    i'm confident that if we can get buy in from library developers we can make it work without that xep

  45. daniel

    by just making extension development super easy

  46. jonas’

    daniel, but if multiple libraries support it, I’d say it should be a XEP

  47. jonas’

    ah, that

  48. dwd

    But FWIW, I'm expecting at least one high-profile XMPP use case dropped because of a lackof a simple way to exchange blobs of JSON.

  49. Zash

    Mandating an API is kinda weird. Having it as a strongly worded implementation note is probably fine tho?

  50. jonas’

    dwd, what’s your stance on splitting of the API description in an Informational document?

  51. dwd

    In fairness, it doesn't need an API as much as consistent terminology in the API.

  52. dwd

    jonas’, Honestly I'd go for dropping the API entirely, and just go for an implementation note on terminology.

  53. daniel

    i mean i have seen people put things in bodies too (haven’t seen the subject content-type thing yet; but whatever) - but that is better solved by communicating what xmpp actually is

  54. jonas’

    daniel, I liked dwds point about "If someone is reading our communication in form of specs, they’re not the target audience."

  55. jonas’

    dwd, alright, I guess that’d work too

  56. daniel

    communicating what xmpp is would also somewhat fix the "but the XSF doesn’t provide a xep for use case x"

  57. pep.

    (I'd also prefer to push for documentation)

  58. dwd

    daniel, I think the content-type in subject was a better option than most, yes. But if everyone's doing the <body/> thing I'd feel happier we had some kind of technical approach for it.

  59. dwd

    And as I say, nobody's reading our documentation now except the library authors, so...

  60. jonas’

    I mean, there’s already the JSON Container XEP, but libraries don’t have API for simply throwing a JSON in a message typically, I guess.

  61. jonas’

    and I think the protoxep at hand adding the type field is a nice touch which is essentially for interop

  62. jonas’

    I think this XEP allows libraries to reduce the entry hurdle a lot by providing a simple "fire this JSON" API

  63. daniel

    can we at the very least not define it for IQs

  64. dwd

    daniel, Sure.

  65. daniel

    if you are at the level of doing IQs just read up on what xmpp is

  66. dwd

    daniel, I mean, people will write a REST-a-like in <message/> containing UDT, but that's still less awful that what they're doing now.

  67. jonas’

    daniel, good point

  68. jonas’

    dwd, and I doubt that kind of people would use the IQ interface of UDT

  69. jonas’

    another good point about this is that library docs can clearly state: "You can use JSON here, but if you have a more complex usecase than just routing some JSOn data through XMPP, you should read up on our docs on developing your own extension [link]."

  70. jonas’

    which is an entry point into getting people into knowing what XMPP is

  71. dwd

    Oh, for sure.

  72. jonas’

    and how to work with it

  73. jonas’

    so to summarise, the TODO for this XEP would be: - Remove the IQ usecase - Change the wording around the API

  74. jonas’

    I’d be +1 with those changes

  75. jonas’

    (if reasonably executed, of course)

  76. dwd

    And I can just change it back afterward, right?

  77. daniel

    ok; should we move on?

  78. jonas’

    dwd, :P

  79. daniel

    if we still want to discuss omemo; and make the 30min

  80. jonas’

    if nobody else has anything, let’s move on indeed

  81. Zash

    I'll just go ahead and +1

  82. jonas’

    3c) Proposed XMPP Extension: Fallback Indication URL: https://xmpp.org/extensions/inbox/fallback.html

  83. jonas’

    so when I commented on-list, I got confused about this one

  84. daniel

    on list

  85. jonas’

    but I’m also going to be on-list

  86. jonas’

    I can’t form an ad-hoc opinion about this vs. hints

  87. dwd

    I am +0 on this. In many ways I think this might be better as a hint, but we need to revisit why that was rejected. There were remediations discussed for hints, but not in detail, so I don't know what we can do there.

  88. Zash

    on list. (hints was rejected?)

  89. jonas’

    okay

  90. dwd

    Zash, No, it wasn't actually. It was bumped back to Experimental, Sam Whited explicitly rejected no-copy, and there was some discussion about a fix or two.

  91. jonas’

    3d) Most Likely Not For A Vote: Reject XEP-0384 OMEMO (in whatever way)

  92. dwd

    I've now been told definitively by different people that OMEMO both can, has, and cannot be implemented without the GPL libsignal.

  93. jonas’

    I think dwds argument is sound

  94. jonas’

    all implementations I know of either use libsignal or are GPL out of fear of libsignal

  95. daniel

    i'm +1 (because it is actually a bad standard); but i'm wondering if we should release a blog post or something to explain what that means/what it doesn’t mean

  96. jonas’

    daniel, good idea

  97. dwd

    Whatever the truth is (and I think the truth is important), it ought to be deferred, which is going to cause confusion.

  98. dwd

    Of course, none of this should mean people don't use and even implement it.

  99. jonas’

    daniel, this may sound evil loadpushingly, but since you’re a strong proponent of E2EE in general (or are at least percieved in such a way with Conversations), would you take that on?

  100. Zash

    So can you or can't you implement it?

  101. jonas’

    Zash, you can, the question is whether it’s legal ;)

  102. jonas’

    and the next question is whether a judge would rule in favour of you in juryland

  103. daniel

    jonas’, i guess…

  104. larma

    I suggest we have SIG-E2EE work over it to make it not say you that it's required to use libsignal (if that is said anywhere) and instead document enough so that one can (with external references) implement it from XEP.

  105. Zash

    I am not a laywer and what is this?

  106. dwd

    Zash, Without libsignal? Sam and larma insist you can. Moxie thinks you aren't allowed last I looked. Philip says it's impossble without using the library.

  107. pep.

    Btw, shouldn't the SIG-E2EE be on the agenda as well? It's up to council right? ("A Special Interest Group (SIG) is a working group approved by the XMPP Council")

  108. dwd

    pep., Marked as Board. Honestly I just assumed it was a Board thing.

  109. Zash

    I'm not that fond of other parts of the XEP either, e.g. the PEP bits are weird.

  110. larma

    dwd, I haven't seen this message by Philip so I can't comment on that, maybe there was some misunderstanding?

  111. jonas’

    dwd, and Syndace successfully implemented it without directly depending on libsignal (but the wire format plugin for libsignal-compat is still GPL)

  112. jonas’

    pep., oh, I also assumed SIGs are a Board topic

  113. daniel

    > Moxie thinks you aren't allowed last I looked. independently of whether or not a XEP should contain "use libsignal" (it shouldn’t) i wouldn’t trust a word that guy says

  114. jonas’

    daniel, doesn’t help if he’s willing to sue over it, and to be honest, this whole mess looks grey-area-like enough that you’ll probably lose in the first instance and spend lots of money in court.

  115. dwd

    daniel, Sure, but in this case he paid lawyers a lot of money to say the same thing.

  116. jonas’

    (pep., where did you get that SIG quote from?)

  117. jonas’

    okay, we’re close to our limit, I’d like to move on

  118. jonas’

    4) Date of next

  119. jonas’

    Wed, 2020-01-08 16:00Z here?

  120. dwd

    jonas’, XEP-0002 I assume.

  121. dwd

    jonas’, +1 to next week.

  122. Zash

    +1

  123. pep.

    002 yes

  124. jonas’

    dwd, indeed, going to put it on next weeks agenda then, and fix the XEP

  125. daniel

    Wed is fine with me

  126. jonas’

    5) AOB

  127. jonas’

    we’re out of time, except for quick announcements

  128. jonas’

    does anyone have anything?

  129. daniel

    no

  130. jonas’

    6) Ite, Meeting Est

  131. jonas’

    Thanks all

  132. dwd

    As a heads-up, I'll try and have an Inbox spec done by the end of tomorrow and submitted as a ProtoXEP.

  133. jonas’

    dwd, okay, if this is your activity peak BEFORE FOSDEM, then I’m scared what will come after ;)

  134. pep.

    "larma> dwd, I haven't seen this message by Philip" < it was part of the thread I forked from.

  135. pep.

    (I tried to include stuff from it to keep a bit of context)

  136. dwd

    Well, I've some ideas on FOSDEM and output.

  137. dwd

    Most particularly, I think anytime we do "new" work at the Summit, it generally results in a lot of noise and little outcome. So I'm trying to put the effort into concrete specs beforehand so we can discuss known open issues instead of trying to create something entirely new.

  138. jonas’

    I think that’s sound

  139. dwd

    Maybe.

  140. hichamel

    https://bit.ly/35n0oOY

  141. dwd

    Spam in the Council room?

  142. Zash

    It's more likely than you think

  143. dwd

    Oh. I didn't vote on 3b). I'm +1 with jonas’ proposed changes, which I'll get onto now.

  144. jonas’

    I’m not recording your vote on that in the spreadsheet of doom yet, then

  145. flow

    daniel> i think i'm gonna -0 because i don’t want to block I always wonder if '0'ing a ProtoXEP is not just the same as blocking it, after all, IIRC ProtoXEPs need a majority of +1s to get accepted. Or am I wrong?

  146. jonas’

    flow, it’s not blocking, because a -1 is a VETO

  147. jonas’

    while a ±0 can still pass if there is a majority of +1 (as you note), something which got a single -1 cannot ever pass

  148. jonas’

    while a ±0 can still pass if there is a majority of +1 (as you note), something which got a single -1 cannot pass

  149. flow

    right, but if everyone did vote '0', then the XEP will not be accepted, and then I wouldn't say that the 0-voters did not block the XEP

  150. jonas’

    that’s true

  151. flow

    or how can it be that nobody blocked a XEP and it still gets not accepted

  152. jonas’

    they were partially-blocking

  153. jonas’

    which makes sense

  154. Zash

    Negative parlamentarism is kinda neat.

  155. daniel

    well if you vote -1 it will get blocked immediately. if I vote +/- 0 it will only get blocked if there are not enough people in favor

  156. daniel

    which makes sense

  157. daniel

    to me

  158. flow

    daniel, the issue I see is that even if you have 4x '0' and 1x '+1', then it won't get accepted

  159. flow

    so I wonder if we should lower the bar for experimental by only requireing the sum of the votes to be positive

  160. daniel

    > daniel, the issue I see is that even if you have 4x '0' and 1x '+1', then it won't get accepted Yes. That was the intention. Because if that's the case 4 people find it problematic in a way or another

  161. flow

    Sure, be we are still talking about accepting a ProtoXEP as experimental

  162. daniel

    I think our consensus is currently going in a 'super inbox' direction

  163. daniel

    For the catch all no bar xeps

  164. flow

    Well hopefully this leads to us putting less effort in rejecting xeps and more effort into improving existing ones

  165. flow

    And I hope nobody here takes this personal, I see that dwd's xep can be viewed as borderline, but he has some valid points and I don't see any harm in it becoming experimental

  166. dwd

    flow, Which XEP is borderlne?

  167. dwd

    flow, I see one as borderline, one leaning toward adoption, and one an easy accept. Of course, my views aren't an absolute for Council to follow. :-)

  168. Zash

    but which is which?

  169. jonas’

    my guess: fallback is borderline, easy accept is UDT

  170. flow

    dwd, btw, Smack has an API which can be considered similar to UDT since ~20 years, it's called jiveproperties

  171. dwd

    jonas’, Nope.

  172. dwd

    jonas’, For me, MAMFC is the easy one to accept. It's complex, and will need changes, but it's a solid start to a problem that needs solving.

  173. dwd

    jonas’, You were right with fallback, though - it's unclear if it's the correct solution, although it might be the only one given No Hints.