I guess as KDE's "IRC guy" (I maintain Konversation) I should chime
in here.

I like IRC. I regard IRC as important. I think without IRC none of
the past 20 years of KDE would have happened, and the reasons for
IRC being a successful technology for us and many others start
with "chatting is nice" and "it's free, duh" but go far beyond.

I'm not particularly emotional about abandoning IRC. It's a pretty
bad protocol. It doesn't have intact governance to really make it
better at a decent clip, despite earnest attempts. It doesn't
address problems modern networking brings with it adequately, and
the workarounds are clumsy.

I'm not even particularly emotional about the code in Konversation.
Some of it is pretty good, but what makes it good can be applied
elsewhere. Some of the UI is really clever for a chat app, but
again, I can (perhaps with a sigh) replicate that work elswhere.

But what I don't want us to do is abandon IRC without retaining
what made IRC successful and good. Some of these things areed
technical points that form our most basic requirements:

- Free
- Protocol spec
- Self-hostable
- Federated
- Multi-identity
- Anonymous
- Encryptable

But again, these are basics.

The more interesting lessons from IRC are social dynamics.

As an example, the currently second most used chat system by
the KDE community is probably Telegram. Telegram doesn't meet
the above technical requirements and so isn't a good choice for
us. The reason we use it is because someone started using it for
one of two reasons at some point (IRC sucks on mobile - yes,
even with ZNC - and/or a better workflow for dealing with image
content), and now we continue because of momentum, without much
planning or thought.

I think the way we currently use Telegram is horrific for
community-building and community cohesion and hurting us. As
a mobile-dominated messenger not designed with our use cases
in mind, Telegram's group chat workflow suggests creating
groups easily ad-hoc. It's designed for "let me quickly
invite the four people we're planning to go to the Italian
place with to coordinate the arrival time".

This workflow has some use for "breakout" topic chats in the
KDE context, but because Telegram doesn't have any concept of
community namespacing, we now have probably dozens of those
there that aren't enumerated anywhere. You have to know they
exist and who to ask to be invited. Or someone has to know you
exist and invite you.

IRC on the other hand (via network services and etiquette)
disincentivizes creating channels ad-hoc, it's more about
setting up channels as institutions with some permanance,
so they can be documented and discovered. A good IRC channel
allows for random walk-ins instead of being a sequestered
little clique/club.

That means sometimes you have to contend with the noise of
lots of people that don't work on what you and three other
people are currently trying to work on. But that means you're
open to new people, you have an environment for getting to
know each other, you inform each other about what everyone
is working on without trying, you have space to "hang out"
in together and see what this new day brings along, you
can place notifications there, you get feedback from out-
side of your self-imposed bubbles, you generate excitement
for onlookers ... the information flow across the -
extensible! - community is just vastly better.

There are some chat systems that allow for both, e.g.
Discord. Discord heavily fails all of our technical base-
line reqs, but its three-level namespacing (global name-
space for user identities, "servers", and channels on them
which you see in an easy list) means you can easily have
your permanent channels along with potentially task force
ones that can't hide.

This is the discussion we should be having. It's about what
we actually want to get out of a chat system socially, and
not looking what we got out of IRC and why would be a big
mistake. And only then is it about looking at which systems
satisfy all of our technical and social requirements alike.


Reply via email to