XSF Discussion - 2020-05-13


  1. stpeter

    Also of interest, the Eclipse Foundation has decided to move from Canada to Belgium: https://newsroom.eclipse.org/news/announcements/open-source-software-leader-eclipse-foundation-announces-transition-europe-part

  2. Guus

    pep. That could be a very good opportunity. What can we do to secure funding? I'm guessing we need to define explicit ways to make use of the funds?

  3. pep.

    Are we a 501c3 again?

  4. pep.

    I don't think I've ever seen that anywhere on the website

  5. Zash

    https://xmpp.org/about/xmpp-standards-foundation.html ought to have a link to the bylaws somewhere

  6. pep.

    At first that kinda look like encouraging solutionism (again). But then there are things like “Research and documentation on: Censorship / use of surveillance” :p

  7. MattJ

    pep., https://xmpp.org/docs/XSF-Tax-Exempt-Ruling-2007.pdf

  8. pep.

    ok

  9. Zash

    The page I linked should also mention the form of corporation

  10. pep.

    Zash: https://xmpp.org/about/xsf/bylaws.html doesn't say either

  11. pep.

    (I just know the URL, don't remember where I found it)

  12. Zash

    https://xmpp.org/about/xmpp-standards-foundation.html#council > as augmented by [various policies and procedures]. That links to https://xmpp.org/about/xsf/council-policies-and-procedures which links to the bylaws

  13. pep.

    https://www.isocfoundation.org/grant-programme/emergency-response-grant-programme-covid19/ > Demonstrate previous experience in managing grants of at least US$250,000 within a one-year period. Experience in managing subawards to local groups is desirable as well. > [..]

  14. pep.

    I think we fail at this at least

  15. Guus

    I agree.

  16. pep.

    We can still give it a try, but we'll have to come up with an "innovative solution" in the next 4 days

  17. pep.

    Maybe it's our time to propose bitcoin, blockchain etc.

  18. Guus

    I'm not in favor of embracing that just for the purpose of obtaining that grant.

  19. Guus

    I am also not available to work on this in the next 4 weeks.

  20. pep.

    Sorry I should work in making my sarcasm skills more obvious :)

  21. Daniel

    What project do you want to pitch? Just the xsf in general?

  22. Guus

    If we want to pursue this, we need to move fast - I will personally not be able to do that. To many obligations/responsibilities that I cannot postpone, this month.

  23. Guus

    From what I read, I'm thinking that any proposal should have a covid-specific nature.

  24. pep.

    I don't know. It's not like XMPP wasn't already present during this covid situation, /me eyes Jitsi-Meet

  25. pep.

    So I'm also curious as to what to pitch yes

  26. dwd

    We could make an offer of support though. XMPP is already used in a number of places within COVID-19 response, after all.

  27. pep.

    As "the XSF" make an offer of support?

  28. dwd

    Yes. I'm not sure how that would work in practise, though.

  29. Guus

    dwd Your employer is in a specific position to would have had the need for such support, if anyone, I guess. No learnings from that?

  30. Guus

    specific XEP development? Implementation effort?

  31. Guus

    Would be nice if we could combat Covid19 with MIX and get funding for that. 😃

  32. Guus

    and have MIX sorted overnight 😃

  33. dwd

    We haven't needed such support (much - I've asked for help from a handful of people for specific cases). I was more thinking in terms of complete newcomers to XMPP wanting to do things in that space.

  34. Maranda

    MIX?

  35. Maranda

    huhuhu

  36. moparisthebest

    hey it's only been over 4.5 years I'm sure it'll be widely implemented any second now

  37. Ge0rG

    quick poll: are CSI and Push notifications part of what needs to be addressed by message routing / IM-NG?

  38. Zash

    Yes

  39. moparisthebest

    here I slapped together a thing so we can keep track of MIX progress, but I suck at CSS so patches welcome https://www.moparisthebest.com/mix/

  40. Zash

    moparisthebest, I can't believe you didn't register "arewemixyet.?"

  41. Maranda

    Ge0rG, Uncertain

  42. moparisthebest

    that would be a good idea :)

  43. Link Mauve

    moparisthebest, there are quite a bunch of implementations nowadays.

  44. pep.

    Incomplete impls for sure

  45. pep.

    Or not really adopted

  46. Link Mauve

    Or hidden behind flags.

  47. pep.

    that also

  48. Zash

    Or in someones WIP stash

  49. winfried

    @guus @dwd the usecase for XMPP in coordinating humanitarian response and distance learning is of course very strong. A grant proposal could be aimed at easing up deploying of XMPP in the right way, a kind of creating a streamlined develop journey. I only have no time to write a grant proposal for that: am already bouncing from my second into my third proposal to write this week...

  50. moparisthebest

    Link Mauve, I'm aware of a bunch of incompatible and incomplete implementations, don't think they count towards adoption though

  51. moparisthebest

    just seems like in the XSF if a standard is good, it's adopted rather quickly

  52. moparisthebest

    so if something can go 5 years without any adoption, you have to wonder, is it actually good

  53. Link Mauve

    moparisthebest, we just got a presentation of Kaidan’s MIX implementation, it works.

  54. Link Mauve

    I’m not aware of any incompatibility from the XEP.

  55. Link Mauve

    If you find any such missing bit, I’m sure they’ll be happy to fix it. :)

  56. moparisthebest

    with what server? what version of the XEP

  57. pep.

    let's all use kaidan then so we can all communicate via MIX :)

  58. moparisthebest

    all have to use that specific server too right?

  59. Link Mauve

    pep., Conversations also exists.

  60. Link Mauve

    moparisthebest, Tigase AIUI.

  61. moparisthebest

    ok so everyone running anything else can just throw it away, and set up Tigase, when is the flag day scheduled for?

  62. Link Mauve

    moparisthebest, why would you want a flag day?

  63. moparisthebest

    oh, I don't, flag days seem destined to fail, but doesn't MIX by design require a flag day?

  64. Link Mauve

    I don’t believe so.

  65. moparisthebest

    because you need support in *your* server too, in addition to the remote one?

  66. pep.

    There's supposed to be a MUC compat layer

  67. moparisthebest

    where's that defined?

  68. pep.

    There supposed to be a MUC compat layer

  69. Link Mauve

    moparisthebest, in XEP-0408.

  70. Link Mauve

    And PAM in XEP-0405.

  71. Andrzej

    that layer is optional, not required for MUC core

  72. pep.

    MIX core*

  73. Andrzej

    right

  74. moparisthebest

    does anyone implement it?

  75. moparisthebest

    rather, does tigase, since apparantly there are no more server implementations

  76. Andrzej

    as an optional feature, but we've already added it

  77. Link Mauve

    Andrzej, btw, could you give me a JID on some Tigase server with MIX support?

  78. Andrzej

    sure

  79. Link Mauve

    moparisthebest, Ejabberd and OpenFire both also have an implementation, I don’t know their status.

  80. Link Mauve

    I also started an implementation, which definitely isn’t ready yet.

  81. moparisthebest

    last I heard it was like "we implemented a super old version of the XEP, so we are now incompatible, also we never did any interop tests anyway"

  82. moparisthebest

    that could have changed since

  83. Guus

    (in case of Openfire, it did not)

  84. flow

    How do I, as PEP subscriber, know that my publisher knows that I want to be notified about something?

  85. Guus

    flow and me are having fun with PEP and CAPS. subscriber adds a new disco#info feature of something+notify, for which a presence update with a CAPS ver element is sent out. Before the server performs a service discovery query to decode the 'ver', the publisher publishing something. Server has not yet decoded the 'ver', and thus does not send a notification to the subscriber, that by now expects one.

  86. Guus

    subscriber is not guaranteed to get a disco#info query, as the 'ver' might already be known - unless you add something that's guaranteed unique, but that kind of defeats the purpose of 'ver'.

  87. MattJ

    Doesn't PEP send the last item on subscribe?

  88. Guus

    subscribe is implicit, and already in place

  89. Zash

    Could you rephrase that as a Scansion script? :)

  90. Guus

    https://pastebin.com/hZ3WZkEK

  91. Guus

    on line 10, the intended recipient of the notification sends out a new presence update, with a new caps 'ver'. on line 17, the publisher publishes the item for which the intended recipient should receive a notification. on line 29, the intended recipient receives a request from the server for disco#info (which the server will use to decode the 'ver' hash). That does get responded to, and that response does include the mood+notify feature. However, before that response makes it back to the server (potentially even before the server made the disco#info request) the server already evaluated CAPS, and determined that the intended recipient did not (yet) have mood+notify. Thus, it does not get sent the notification.

  92. Zash

    What if you broadcast the last item on filtered -> unfiltered state transitions?

  93. Guus

    can PEP services disable filtering?

  94. Zash

    Not that I know of.

  95. Zash

    I'm sure if you look through XEP-0060 you'll find an option for it.

  96. Guus

    Filtering seems hard-coded unconditionally in Openfir ecode.

  97. Zash

    Prosody until recently implemented PEP filtering by adding and removing subscriptions dynamically, but we changed it to generate the subscriber list from cached caps on publish instead. And when receiving a new presence it does a diff of what +notify are advertised and resends the last item for new ones.

  98. Zash

    Internal implementation detail, but the end result is that you get the last item of everything you want, when you start advertising interest in it.

  99. Zash

    I /think/ it should be relatively safe from the kind of race condition you're describing.

  100. Guus

    Yeah, that seems fine.

  101. flow

    so we add "send last item on new +notify" to the pep xep?

  102. flow

    I wonder what ejabberd does, since I usually run sinttest against ejabberd and never had the issue

  103. Holger

    > Prosody until recently implemented PEP filtering by adding and removing subscriptions dynamically, but we changed it to generate the subscriber list from cached caps on publish instead. Funny my plan was to change ejabberd the other way round.

  104. Guus

    Zash Prosody does send an advertisement of something potentially published a long time ago though, with that strategy, doesn't it?

  105. Guus

    (unsure if that's bad though)

  106. Guus

    Holger why?

  107. Zash

    Guus: Yes. That behavior goes way back.

  108. Andrzej

    Tigase behaves the same as prosody

  109. Andrzej

    if node has "send last published item on subscribe" I think that this is a correct behaviour

  110. Zash

    I'm not certain it's entirely correct according to the specs.

  111. Zash

    It is however useful, otherwise clients would have to manually fetch everything, wouldn't they?

  112. Guus

    https://xmpp.org/extensions/xep-0163.html#notify-last

  113. Holger

    Guus: I feared that question. I'm tired and won't get the details of the corner cases I ran into right, right now. Sorry. "Dynamic subscription" seems the more straightforward way to me as it just re-uses all logic for explicit subscriptions as good as possible.

  114. Guus

    no worries

  115. Zash

    Holger: As in treating a bag of +notify as a series of pubsub (un)subscribe requests. We changed it because it caused a lot of IO since we added persistence support.

  116. flow

    Holger, the important question is: do I get the last item on +notify presence with ejabberd now, and will I get the last item after you change it in ejabberd?

  117. Holger

    flow: I would expect you get it already but only God really knows how ejabberd's PEP behaves.

  118. Holger

    flow: And yes certainly afterwards.

  119. Holger

    (Assuming the node is configured to do that.)

  120. Holger

    Zash: Yes my one difference to the handling of explicit subscriptions would be to throw +notify subscriptions into some RAM table.

  121. Zash

    We filtered those out, but it still went on to save the now mostly empty node settings.

  122. Zash

    Also, do you implement https://xmpp.org/extensions/xep-0060.html#entity-subscriptions or https://xmpp.org/extensions/xep-0060.html#owner-subscriptions on PEP?

  123. Zash

    Or, did it, like for us, carry over from a generic pubsub implementation?

  124. flow

    Guus, can I configure PEP nodes on Openfire so that they send the last published item on new +notify?

  125. Zash

    Is it possible to configure a PEP service to *not* do that?

  126. Zash

    Also s/is it/should it be/

  127. Guus

    flow: it's not configurable in Openfire, and, given that the test fails, Openfire doesn't appear to send the last published item on a presence update. I'm not even sure if the last item is sent when the subscriber comes online.

  128. Guus

    If it does, it does not wait for any CAPS ver value to be resolved. That in itself is not very promising.

  129. flow

    Zash, dunno, Holger threw in a "assuming the nocde is configured to do that" ;) guess configurability is usually a nice thing to have, then question is the default

  130. flow

    Zash, dunno, Holger threw in a "assuming the node is configured to do that" ;) guess configurability is usually a nice thing to have, the question is the default