XSF Discussion - 2021-01-13


  1. edhelas

    would it be interesting to start to share statistics about our XMPP servers ?

  2. edhelas

    like return the number of registered users, created chatrooms… this kind of things, it could help to have a bit more visibility and "map" the XMPP network

  3. MattJ

    Welcome to https://the-federation.info/

  4. wurstsalat

    edhelas, I recently added this post for the next newsletter issue: https://blabber.im/en/das-jahr-2020-im-rueckblick/ would be interesting to see more :)

  5. MattJ

    Specifically https://the-federation.info/protocol/xmpp

  6. mathieui

    MattJ, I fear our (jabberfr) humongous number of inactive users is preventing a fine analysis :(

  7. Zash

    Which hosts there aren't jabber.fr anyways? 🙂

  8. MattJ

    Total users is total users, not total active users :)

  9. mathieui

    yes, but it may make sense to purge users after like 10 years of inactiviy

  10. mathieui

    yes, but it may make sense to purge users after like 10 years of inactivity

  11. mathieui

    (though I had an user last week who asked me for a password reset, who hadn’t connected in more than 5 years)

  12. deuill

    I've got a feeling that 53 nodes is wildly incorrect, as that doesn't count servers with closed registration/self-hosted stuff. The implementation is very interesting, though.

  13. Zash

    deuill, the whole thing is opt-in, so yeah, there are more than ~50 xmpp servers 🙂

  14. Zash

    😉 https://blog.prosody.im/2020-retrospective/#more-users-than-ever-before

  15. Zash

    Most of them probably never heard of the-federation.info, enabled the module and registered themselves

  16. deuill

    Yeah, those stats are incredible, and I agree with edhelas that sharing them is both interesting and helps drive optimism.

  17. mdosch

    > Most of them probably never heard of the-federation.info, enabled the module and registered themselves Especially as it involves webserver fiddlery if your xmpp server doesn't serve http on 443.

  18. Zash

    Interestingly, I added my own single-user server there, but it seems to have dropped off. Maybe because the static hack I did, or bugs. Not sure.

  19. Paganini

    > would it be interesting to start to share statistics about our XMPP servers ? That would be great, in my opinion.

  20. Zash

    Go forth, and bikeshed the format to use!

  21. moparisthebest

    we should get a die with formats on each side

  22. Link Mauve

    I’ve already implemented three of them, only https://modules.prosody.im/mod_nodeinfo2.html is still in use AIUI.

  23. moparisthebest

    json, xml, toml, hl7, csv, x86 asm

  24. Zash

    asm is the best data storage format, change my mind!

  25. moparisthebest

    one fair roll and no more bikeshedding

  26. Zash

    inb4 "00: roll twice and combine"

  27. Link Mauve

    I just rolled XML in CSV.

  28. benharri

    what format does the-federation use?

  29. Link Mauve

    benharri, the one from https://modules.prosody.im/mod_nodeinfo2.html

  30. Link Mauve

    Some JSON one.

  31. benharri

    and how can ejabberd export that?

  32. benharri

    ahh

  33. edhelas

    Zash is your Prosody Atom blog available on Pubsub ?

  34. edhelas

    "eat your own food"

  35. Zash

    edhelas, it's my microblog node

  36. Zash

    Oh

  37. Zash

    no

  38. Zash

    Prosody blog

  39. Zash

    I wanna say pubsub.prosody.im but I'm not sure

  40. edhelas

    nope nothing there

  41. edhelas

    Zash https://github.com/edhelas/atomtopubsub :)

  42. Zash

    I raise you https://modules.prosody.im/mod_pubsub_feeds.html

  43. Zash

    edhelas, noted. supposed to work but it don't for whatever reason. might look another day

  44. edhelas

    :)

  45. edhelas

    You can put a XMPP subscribe uri somewhere

  46. edhelas

    Movim support those

  47. Zash

    I can do a lot of things

  48. Zash

    Like write a script that turns csv into doap

  49. moparisthebest

    > I just rolled XML in CSV. still better than HL7

  50. Ge0rG

    What if you want to participate in the federation, but don't want local authorities to know the user numbers? Asking for a friend.

  51. edhelas

    return random();

  52. Link Mauve

    Ge0rG, as you can see on https://modules.prosody.im/mod_nodeinfo2.html you can disable the user count.

  53. Arne

    ah thanks Link Mauve . Maybe a good thing

  54. edhelas

    Small question, should I add nodeinfo2 support to Movim itself, as it is more a client for XMPP ?

  55. Link Mauve

    dwd, where did the compliance badge project go? IIRC you were keeping track of it at some point.

  56. Zash

    Link Mauve, my browser history only seems to recall Ge0rGs https://op-co.de/tmp/xmpp-compliance-badges-2020/

  57. Link Mauve

    IIRC dwd asked some designer people to do some too.

  58. Ge0rG

    There was one on bitbucket by the Tedd. I think I have a local copy, can provide tomorrow

  59. Ge0rG

    Link Mauve: Board asked, but it didn't manifest

  60. benharri

    is there a way to get nodeinfo2 for the-federation in ejabberd?

  61. Link Mauve

    Zash, that page looks nice, but what about a Core IM, Advanced Core client, for instance?

  62. Link Mauve

    Or “Core IM, Core Mobile, Core Core”. :D

  63. Link Mauve

    benharri, maybe ask in the Ejabberd room?

  64. benharri

    +1

  65. Zash

    Link Mauve, I also wondered how that's supposed to work

  66. Zash

    That's where I got stuck with the compliancer

  67. Ge0rG

    Link Mauve: needs two badges

  68. Zash

    That's ... weird tho?

  69. Ge0rG

    I've given up after all the bike shedding

  70. Ge0rG

    Feel free to suggest better badge formats

  71. Link Mauve

    Ideally we’d have a single badge per client.

  72. Ge0rG &

  73. Zash

    https://crschmidt.net/semweb/doapamatic/ TIL

  74. lskdjf

    > Ideally we’d have a single badge per client. Not sure. I could see clients going for the IM and the A/V compliance, for example. Or for a web client, those two and additionally web. And each would be relevant information. But on the other hand the badges that zash linked are kind of large and you wouldn't want to overload the whole page with them. Maybe instead of the badges just display "IM" "A/V" below the client, and put the string into a grey/green box for core/advanced compliance. That way one could display all badges, while still not overloading the list

  75. lskdjf

    > Ideally we’d have a single badge per client. Not sure. I could see clients going for the IM and the A/V compliance, for example. Or for a web client, those two and additionally web. And each would be relevant information. But on the other hand the badges that zash linked are kind of large and you wouldn't want to overload the whole page with them. Maybe instead of the badges just display "IM" "A/V" below the client, and put the string into a grey/green box for core/advanced compliance. That way one could display all information, while still not overloading the list

  76. lskdjf

    > Ideally we’d have a single badge per client. Not sure. I could see clients going for the IM and the A/V compliance, for example. Or for a web client, those two and additionally web. And each would be relevant information. But on the other hand the badges that zash linked are kind of large and you wouldn't want to overload the whole page with them. Maybe instead of the badges just display "IM" "A/V" in a single line below the client, and put the string into a grey/green box for core/advanced compliance. That way one could display all information, while still not overloading the list

  77. SamWhited

    Zash: is it just me or is does that doap generator not even spit out valid XML? It sticks some random floating namespace prefixes with no definition in for me. Not to mention that it doesn't have the RDF wrapper that I guess is needed since the examples in the protoXEP have it?

  78. SamWhited

    Also if it's correct about how licenses work even the protoxep doesn't have those right. This is absolutely an insane way to document anything, it's just not possible to actually get it right.

  79. moparisthebest

    seems like all the other clients managed to get it right without problems

  80. moparisthebest

    seems like all the other projects managed to get it right without problems

  81. SamWhited

    Apparently not if this generator is to be believed. Our spec is so convoluted that they all just get it wrong in the same way.

  82. SamWhited

    Or they all just copied the same handful of things without understanding them and without knowing how to actually get any reasonable documentation on them.

  83. Zash

    SamWhited: I felt the same way at first, but it's not so bad when you get used to it.

  84. SamWhited

    That attitude is why we can't have nice things.

  85. moparisthebest

    > Or they all just copied the same handful of things without understanding them and without knowing how to actually get any reasonable documentation on them. and the problem with this is????

  86. Link Mauve

    SamWhited, Firefox doesn’t display xmlns declarations in its default XML view, try view source.

  87. Zash

    Copypaste from an existing project and tweak a bit.

  88. SamWhited

    That's what everyone says about JavaScript.

  89. SamWhited

    Link Mauve: I actually did try that, still no declaration

  90. Link Mauve

    SamWhited, also for license information, what did I do wrong?

  91. SamWhited

    Link Mauve: if this generator is correct it's a namespace that refers to a license, not a link to the license file.

  92. SamWhited

    But I have no idea, and no idea how I'd find that out because this format is undocumented overengineered nonsense that we shouldn't be using.

  93. SamWhited

    It's infuriating to watch the XML community make the same stupid mistakes over and over again, this is exactly why no one actually uses XMPP anymore.

  94. Link Mauve

    poezio’s license requires the copyright notice to be kept as is, so it will be different from other projects.

  95. SamWhited

    Great, so it's maybe a namespace maybe a link, but I still don't know how or where I'd actually figure out what the valid thing for me to put there is.

  96. Zash

    SamWhited: Nobody adopted the simple format I made up. This is your punishment! :P

  97. Link Mauve

    I could have picked a project with a standardised license like GPL, but I used the one I’m most familiar with.

  98. Link Mauve

    SamWhited, the DOAP specification says “The URI of an RDF description of the license the software is distributed under. E.g. a SPDX reference”.

  99. Link Mauve

    This doesn’t seem undocumented to me.

  100. SamWhited

    I haven't found that, maybe link it from the protoXEP? But still, great, yet another thing I have to learn. Now I have to figure out what URI of an RDF description is and how SPDX works instead of it just being <license>https://myproject.example.com/license</license> or whatever thing we came up with that didn't involve four technologies just to figure out what the license was.

  101. Link Mauve

    SamWhited, it is at http://usefulinc.com/ns/doap#license

  102. SamWhited

    That links me to an unhelpful blob of XML, not to documentation

  103. SamWhited

    Also maybe it's just broken? That doesn't link me to anything to do with the license as far as I can tell

  104. SamWhited

    It also has no character encoding defined, I'm guessing it's UTF-8 but the detection is wrong so there's a bunch of random garbled text on there.

  105. Link Mauve

    SamWhited, RDF is a specification description format, pretty similar to our XEP format except machine-readable.

  106. Link Mauve

    That’s not just “an unhelpful blob of XML”, that is the specification of the format.

  107. lskdjf

    SamWhited, I'm somewhat suprised at your rand on DOAP. So I just wanted to mention: In my impression, this format is used kind of widely in the open source community. Projects seem to do fine with it. There were also XMPP projects that had DOAP files independent of and before Link Mauve started using it for XEPs. Saying that noone uses this stuff because it's too complicated doesn't work if it's actually somewhat widely used.

  108. SamWhited

    Great, so now I have to learn RDF in order to know what fields are in RDF.

  109. SamWhited

    It's really not that widely used, as far as I can tell from searching around. A tiny handful of projects use it.

  110. moparisthebest

    seems a bit like "I can't write a hello world without first understanding electrical engineering", copy+paste one from another project, tweak it, forget about it for life

  111. mathieui

    yeah, like util-linux, gstreamer, gtk, gnupg-tools…

  112. SamWhited

    Or we could just pick something sane that doesn't require copy/pasting and hoping it's right.

  113. Link Mauve

    SamWhited, do you have a counter-proposal?

  114. moparisthebest

    I don't like IP I think we should go with something encrypted by default, can we stop using IP ?

  115. SamWhited

    Sure, here's two and my attempt at copy/pasting that I'm not sure is right because I can't figure out what fields need to come from foaf or schema or doap or rdf or spdx or where some of that is documented: https://gist.github.com/SamWhited/5fb6e302fde5bbf1803ca33d8923aaad

  116. moparisthebest

    or is it too late?

  117. SamWhited

    That's clearly a false equivalence. If the entire internet was based on DOAP, I would resign myself to using it even though it's garbage, but there's no reason we have to use this. No major thing we need to be compatible with. It's just not that widely used.

  118. SamWhited

    ehh, might have screwed up during the copy/paste and trying to make it sane XML where we could define all the fields in the XEP, still, you get the idea.

  119. Link Mauve

    SamWhited, it seems pretty easy to go from one to the other, tbh.

  120. SamWhited

    It's not because one would be documented in the XEP, the other is documented in multiple places and I'm not even sure how you'd figure out what to use. Eg. one project was using foaf. How am I supposed to discover that or learn that I can use it? Should I use it? Is it recommended?

  121. Link Mauve

    SamWhited, properties like http://usefulinc.com/ns/doap#maintainer mention <rdfs:range rdf:resource="http://xmlns.com/foaf/0.1/Person" />

  122. Link Mauve

    This is how you’re supposed to discover which range of available values are possible.

  123. SamWhited

    Again, that's not helpful, that's a blob of XML not documentation.

  124. wurstsalat

    What I really like about doap is automagic rendering of doap files in web browsers, just by adding some style xslt, et voilà

  125. theTedd

    Link Mauve, re badges: I started a shiny new version with a multi-stage form, fewer hacks, and doap - which I'll try to finish off soon; I can put the old version back up tomorrow if needed

  126. Link Mauve

    Nice!

  127. Link Mauve

    I already have the generation-from-DOAP used here, but without the images: https://linkmauve.fr/software/clients.html

  128. Link Mauve

    I’m not particularly in a hurry, this would be nice to have before it reaches xmpp.org.

  129. theTedd

    consider me motivated 😉

  130. Link Mauve

    Cool!