Skip to content
This repository has been archived by the owner on May 14, 2024. It is now read-only.

Move from Freenode to Libera.chat (was: somewhere else?) #19

Closed
felixfontein opened this issue May 19, 2021 · 45 comments
Closed

Move from Freenode to Libera.chat (was: somewhere else?) #19

felixfontein opened this issue May 19, 2021 · 45 comments
Assignees

Comments

@felixfontein
Copy link
Contributor

felixfontein commented May 19, 2021

TLDR: we voted that we will move to Libera.chat (see #19 (comment) for more details).

(original post below:)

Summary

Since the current Freenode drama seems to be intensifying (like multiple global messages warning about user data being given into other hands), we should discuss whether we want to continue to meet on Freenode, or move somewhere else.

Edit: in case you missed the drama, here are some links:

@felixfontein felixfontein added discussion_topic next_meeting Topics that needs to be discussed in the next Community Meeting labels May 19, 2021
@cybette
Copy link
Member

cybette commented May 19, 2021

Options:

  1. https://libera.chat/ - new network founded by Fuchs and some other former freenode staff (no bridge with Matrix yet, although people are discussing it in #irc:matrix.org)
  2. https://www.oftc.net/ - Ceph is using this network, and Openstack/RDO are considering to move here (this is also bridged with Matrix)
  3. migrate to Matrix and keep bridges to freenode for the time being
  4. stay on freenode

@gundalow
Copy link
Contributor

https://github.com/matrix-org/matrix-appservice-irc/wiki/Bridged-IRC-networks contains a list of where Matrix bridges with, which includes OFTC & Freenode.

@schmots1
Copy link

I vote for cutting ties with Freenode.. option 2 feels like it will follow other OpenSource projects so I would vote there. Option 1 would be more secure for user data, but would more more work to convince people to use the new network.

@eqrx
Copy link

eqrx commented May 19, 2021

I assume that hosting our own instance of some chat server (whatever the protocol might be) is out of the questions because of the obvious "needs time and money", right?

@ssbarnea
Copy link
Member

My take: lets not be the early adopters and see what kind of success do other players have with their move (like OpenStack). Over the years I seen moves like this destroying the fragile contributors communities, ending up with a deserted channel on each platform posible (cookiecutter, pytest examples).

I would be totally against setting our own instance of... anything. Why? Maintenance costs.

@dmsimard
Copy link

dmsimard commented May 19, 2021

For the record, here are the Ansible channels we currently have on freenode (/msg alis list #ansible*):

10:55:16 -alis- Returning maximum of 60 channel names matching '#ansible*'
10:55:16 -alis- #ansible                                           877 :https://docs.ansible.com * latest releases: ansible 4.0.0, 2.9.21; ansible-base 2.10.9; ansible-core 2.11.0 is out now 🎉; ansible 2.8 is EOL 💀
10:55:16 -alis- #ansible-aws                                        60 :Ansible + AWS https://github.com/ansible/community/wiki/aws
10:55:16 -alis- #ansible-awx                                       190 :AWX - an open source project providing UI + REST API + other magic to Ansible users. Github: https://github.com/ansible/awx — mailing list: https://groups.google.com/forum/#!forum/awx-project -- We <3 potatoes.
10:55:16 -alis- #ansible-azure                                      24 :Ansible + Azure SIG. https://github.com/ansible/community/wiki/azure
10:55:16 -alis- #ansible-benelux                                     1
10:55:16 -alis- #ansible-cloud                                      22 :General place for user and development questions about Ansible and Cloud providers
10:55:16 -alis- #ansible-community                                 142 :Ansible Community Working Group | Meetings on Wednesdays at 18:00UTC, Agenda: https://github.com/ansible/community/labels/community
10:55:16 -alis- #ansible-container                                  22 : Build/run/deploy your containers using Ansible
10:55:16 -alis- #ansible-devel                                     130 :Channel for discussing pull-requests and contributions only. For support questions or bugs, please head over to #ansible *** Meetings & Working Groups: https://github.com/ansible/community
10:55:16 -alis- #ansible-digitalocean                               11 :Ansible DigitalOcean Working Group | https://github.com/ansible-collections/community.digitalocean/
10:55:16 -alis- #ansible-diversity                                  29 :Ansible Diversity Working Group | Meetings every other Thursdays at 19:00UTC, Agenda: https://github.com/ansible/community/issues/577
10:55:16 -alis- #ansible-docs                                       59 : https://github.com/ansible/community/wiki/docs
10:55:16 -alis- #ansible-es                                          5
10:55:16 -alis- #ansible-eu                                         11 :Ansible Europe: Meetup and other interesting events
10:55:16 -alis- #ansible-fr                                         27 :Ansible en français!
10:55:16 -alis- #ansible-galaxy                                     60 : Ansible Galaxy, GalaxyNG
10:55:16 -alis- #ansible-jboss                                       5 : Ansible + JBoss SIG. || https://github.com/ansible/community/wiki/jboss
10:55:16 -alis- #ansible-kubernetes                                 21
10:55:16 -alis- #ansible-lightbulb                                   3
10:55:16 -alis- #ansible-Linode                                      2
10:55:16 -alis- #ansible-lint                                       17 :For ansible-lint Q&A, please use https://github.com/ansible/ansible-lint/discussions
10:55:16 -alis- #ansible-lockdown                                   16 :Wiki - https://github.com/ansible/community/wiki/Lockdown Channel Logs - https://freenode.logbot.info/ansible-lockdown Weekly Meetings - Thursdays at 1500 EDT, 1900 UTC
10:55:16 -alis- #ansible-meeting                                    82 :Scheduled Ansible community meetings - check https://github.com/ansible/community for schedule and to add items to the agenda
10:55:16 -alis- #ansible-meeting-2                                   4 :Etherpad: https://etherpad.openstack.org/p/ansible-summit-atlanta-2019-partner / Bluejeans:  https://bluejeans.com/7480904391/
10:55:16 -alis- #ansible-meeting-3                                   2
10:55:16 -alis- #ansible-molecule                                   91 :Q&A https://github.com/ansible-community/molecule/discussions
10:55:16 -alis- #ansible-network                                    85 :Ansible Network: https://docs.ansible.com/ansible/latest/network/ || https://github.com/ansible/community/labels/network
10:55:16 -alis- #ansible-news                                       10 :See #ansible-community instead
10:55:16 -alis- #ansible-notices                                    14 :Automated messages from various services related to Ansible used to go here
10:55:16 -alis- #ansible-podman                                      8 :Ansible Podman collections https://github.com/containers/ansible-podman-collections
10:55:16 -alis- #ansible-readme                                      2
10:55:16 -alis- #ansible-runner                                     19 :Release notes and latest release: https://github.com/ansible/ansible-runner/blob/master/CHANGES.rst
10:55:16 -alis- #ansible-security                                   27 :Wiki: https://github.com/ansible/community/wiki/Security-Automation
10:55:16 -alis- #ansible-tower                                       4 :See #ansible-awx or Red Hat support
10:55:16 -alis- #ansible-vmware                                     42 :Our new home: https://github.com/ansible-collections/community.vmware --  Ansible + VMware SIG. Please use https://paste.fedoraproject.org/ for pasting any long outputs. Community wiki - https://github.com/ansible/community/wiki/VMware Docs - https://docs.ansible.com/ansible/latest/vmware/index.html
10:55:16 -alis- #ansible-windows                                    32 :Discussion of Ansible on Windows , home of Windows Working Group
10:55:16 -alis- #ansible-zuul                                       23 :Discussion and support for Ansible Zuul things! Status: https://dashboard.zuul.ansible.com/t/ansible/status | Config: https://github.com/ansible/project-config | Shared jobs: https://github.com/ansible/ansible-zuul-jobs
10:55:16 -alis- #ansibleu                                            3 :Please join #ansible-eu
10:55:16 -alis- #ansiblezh                                           2
10:55:16 -alis- End of output

Out of an abundance of caution, I have gone ahead and pre-emptively registered the following #ansible namespace channels on irc.oftc.net:

#ansible
#ansible-aws
#ansible-awx
#ansible-azure
#ansible-cloud
#ansible-community
#ansible-devel
#ansible-digitalocean
#ansible-diversity
#ansible-docs
#ansible-es
#ansible-eu
#ansible-fr
#ansible-galaxy
#ansible-kubernetes
#ansible-lint
#ansible-lockdown
#ansible-meeting
#ansible-molecule
#ansible-network
#ansible-podman
#ansible-runner
#ansible-security
#ansible-vmware
#ansible-windows
#ansible-zuul
#ara

Edit: In regards to irc.oftc.net, I must point out that it does not support SASL while freenode and libera.chat do. SASL provides the ability to authenticate against nickserv at the time of the connection to the IRC network so you don't need to /msg nickserv. OFTC uses something else called CertFP: https://oftc.net/NickServ/CertFP/

@dmsimard
Copy link

dmsimard commented May 19, 2021

I will use this comment to aggregate decisions or discussions from other projects on this topic:

Some projects, such as Debian, Ceph, Libvirt/qemu/kvm have already been on irc.oftc.net.

@bcoca
Copy link

bcoca commented May 19, 2021

option 3 seems like 'best of all worlds' (hopefully with future libera.chat bridge) so we could 'officially' move to matrix, but still support the same channels across irc services.

But only if we can use existing infra, I don't think anyone has time/effort/resources to get into managing our own instance.

@bcoca
Copy link

bcoca commented May 19, 2021

Seeing this spam on libera .THIS CHANNEL HAS MOVED TO IRC.FREENODE.NET .. staying in freenode is not an option for me at this point.

@GregSutcliffe
Copy link
Contributor

As a long time Matrix user, I'm for option 3 as well. I believe the Matrix folk are already talking about a Libera bridge (although I don't have a link just now, sorry).

I think Matrix gives us some protections around this for the future - it's got a proper governance to give us confidence over it's future, and it's federated so we don't have to decide which server to be on.

I'm OK with staying on IRC (and we'll likely need a presence via bridges anyway, people may not move easily).

I'm against proprietary solutions for open source projects, so while things like Slack et al haven't been listed as options, should it come up, I would be -1 for that. I don't see anything Slack offers that Matrix does not, functionality-wise.

@dmsimard
Copy link

Seeing this spam on libera .THIS CHANNEL HAS MOVED TO IRC.FREENODE.NET .. staying in freenode is not an option for me at this point.

Spam has historically been a semi-regular occurrence on freenode too. For what it's worth, libera.chat ops have sent out this notice about it:
Screenshot from 2021-05-19 11-43-20

@apatard
Copy link
Member

apatard commented May 19, 2021

fwiw, Debian has been using oftc for ages and it seems to be working fine.
Does someone know what's exactly happening btw ?

@daviddavis
Copy link

Does someone know what's exactly happening btw ?

There's a good summary here: https://www.kline.sh/

@gundalow
Copy link
Contributor

gundalow commented May 19, 2021

Some other thoughts

  1. There has been talk in the past to move to Slack before, though this isn't an option for us now
  2. I'm (as manager of Ansible Community Engineering), happy to pay/donate to a service, rather than have an operations team.
  3. I don't expect (or want) a decision to be made today, though I welcome options.
  4. We should be mindful of where other projects move to, there is a network effect.

Community Feedback wanted

  1. Do we only want to use a FOSS service?
  2. Must we continue to have an IRC presence?
  3. Technical details
  • We use Fedoras zodbot for meetings
  • GitHub link expander
  • Notifications on some GitHub events (`#ansible-digitalocean')
  • Are there any other technical details?
  1. What are our neighbor projects? (CentOS, OpenStack, Zuul, Python, Fedora)
  2. If we were to move, what are the other nice to haves, how can it be improved. If we are moving, let's moved to a better service.
  • Video calls, to use the same platform for day-to-day and Contributors Summit
  • What else?

Other proejcts

Previous decision IRC - Is it still right (September 2018)

@eqrx
Copy link

eqrx commented May 19, 2021

what I also would find imporant would be: How will we avoid that in the feature, what happens if the hosting were we move to is also compromised.
afaik chat rooms are server independent in matrix, so matrix as a whole would need to fail. and that seems less likely.

So I totally agree with @bcoca, switching to matrix and providing bridges seems to be a good choice

EDIT:
After testing around with matrix servers, delegation and HA fun .... I change my opinion: Lets keep IRC, bridging to whatever is cool though

@jpmahowald
Copy link

Do we only want to use a FOSS service?

It should be possible for a user using only open source software, such as Fedora without proprietary repos, to get help with their automation.

I will not join Slack to continue volunteering support.

Perhaps non-free services could be bridged, but could get complicated.

Must we continue to have an IRC presence?

Yes. IRC is available on every platform, and more than just Windows/macOS/Linux/mobile.

There will be a long tail of users not following this who will look for Ansible on IRC. Ideally, any new community is established and documented long before the last #ansible op leaves freenode.

@sivel
Copy link

sivel commented May 19, 2021

Any move to something other than IRC will result in my services no longer being available to the community outside of GitHub and occasionally on Google Groups.

I also wont click on any matrix.org links for people who cannot write within the IRC limits.

libera is my vote.

@Kogelvis
Copy link

I would also vote to keep on IRC and with that a move to oftc or libera. Maybe follow the FOSS-herd :)
In my opinion the user-experience is better than with platforms like matrix/slack/discord/...
Those platforms tend to use a resource hungry electron app whereas an irc client can run on some tiny vm / raspi / router / ... and can be easily reached with an ssh client from whatever client device.
That irc is text-only and maybe "dated" is a pro in my opinion, less clutter that way (e.g. animated gifs, etc.)

@abadger
Copy link

abadger commented May 19, 2021

For people not familiar with matrix's bridging to irc, sivel's matrix.org reference is that when a matrix server receives a longer line than can be sent to irc, it will place the line into a web service (like pastebin) and then post the link to the irc server. With the elements client (haven't checked any others), this is done without prompting and does not appear to have a client-side config (to split the lines before the matrix server sees it). Since the links don't have explanatory text, they're not very friendly to people who are viewing on irc.

Another UX wart in matrix => irc bridging is that matrix allows allows corrections to lines but those show up in irc as * [followed by the full text of the edited line]. A user who is unfamiliar with the limitations of irc can end up spamming the irc channel with duplicates of the same message as they fix minor typos in their message and then saving a few characters at a time.

@jillr
Copy link

jillr commented May 19, 2021

Criteria discussed for a new irc network:

  1. Must have zodbot
  2. Network must be stable
  3. (eventually) Matrix bridging support
  4. Network effect (where are more people/communities moving)
  5. oftc.net doesn't support SASL and instead uses CertFP https://oftc.net/NickServ/CertFP/ Is this an issue for anyone/anything?

@felixfontein
Copy link
Contributor Author

Results of the votes from today's meeting:

  • We would like to keep a FOSS-friendly solution (which excludes slack for example)
  • We do not want to stay on Freenode (long-term)
  • Ansible should maintain an official presence on an IRC network
  • We want IRC + Matrix
  • We want to decide a few days (2-7) before deciding where to move

We will vote on the new destination at the meeting next week. If someone prefers to no longer be on Freenode, please voice your opinions here. In case Freenode goes down before then, also discuss here. Once decided, the result will be posted here (#19) and the issue will be locked (so you can find the result at the bottom without having to search), and you will be able to find it on the regular places where we announce things (mailing lists, Bullhorn, Twitter, Reddit, ...).

(ansible/community#539 (comment))

@AndreasDavour
Copy link

AndreasDavour commented May 20, 2021

Strong vote against Freenode.

Libera looks to me like the best alternative. It will be a bit unstable now as many, many projects move there, but I think it looks like the best option, partly because the team I used to trust to run things are now at Libera.

@sshnaidm
Copy link

libera.chat is made "against" Freenode, I don't know if it's going to be removed in case of agreement for example. I'd vote for OFTC as being stable and solid for a long time, proven for many projects like Debian and Ovirt, and mostly because it's aside of all conflicts around Freenode.

@gundalow gundalow self-assigned this May 20, 2021
@dmsimard
Copy link

There is a new communication from the part of the new freenode ownership: https://freenode.net/news/freenode-is-foss

@tadeboro
Copy link

I also left Freenode for good. I do mind where exactly are we moving, but I would prefer to stick with IRC as a primary communication channel (matrix also being acceptable).

@aminvakil
Copy link
Contributor

FWIW I have also left Freenode #ansible-* channels and joined ansible channels on libera irc server for now to see what will happen next.

@relrod
Copy link
Member

relrod commented May 24, 2021

+1 for option 1 (libera), I'm planning to disconnect from freenode soon.

@Ompragash
Copy link
Member

Ompragash commented May 24, 2021

Joined Matrix and got error Reason: IRC error on #ansible-devel: err_needreggednick when trying to join Ansible channels (bridged to the IRC network 'chat.freenode.net'). Following below steps resolved the error:

  • Click on the + icon next to People and search for @freenode_NickServ:matrix.org
  • Enter IDENTIFY <registered_nick_name_on_freenode> <your_password>
  • Now, to join a Freenode channel from Matrix, click on the + icon next to Rooms and type #freenode_#<FREENODE_CHANNEL_NAME>:matrix.org (eg: #freenode_#ansible-community:matrix.org) and finally enter to join.

@tadeboro
Copy link

Maybe a bit less relevant, but Gentoo Council decided yesterday that Gentoo will be moving to Libera Chat: https://www.gentoo.org/news/2021/05/23/Moving-to-Libera.html

@felixfontein
Copy link
Contributor Author

Freenode is updating their channel ownership rules (currently labelled as a "draft" after some criticism), which allows people to take over channels after they have been abandoned, for example because they moved to another network: https://freenode.net/policies#channel-ownership (change history: freenode/web-7.0@1194a3e freenode/web-7.0@63b147b freenode/web-7.0@4210b31), and it appears that this new policy was already used before it was added (https://www.devever.net/~hl/freenode_abuse).

@GregSutcliffe
Copy link
Contributor

GregSutcliffe commented May 24, 2021

Joined Matrix and got error Reason: IRC error on #ansible-devel: err_needreggednick when trying to join Ansible channels (bridged to the IRC network 'chat.freenode.net')

For clarity to those who don't know, this isn't a problem with Matrix, but rather how we have the rooms flagged on Freenode. We're using +r (I assume) which is "Prevents users who are not identified to services from joining the channel", hence the error.

There is a better way, which I'm hoping we will set up on Libera. If we instead use "+q" (which means users can join and view the channel, but can't speak unless registered), combined with a regex exception that matches Matrix users (because by definition they are already authed to something, they aren't anonymous), then you can remove the anonymous spam without Matrix users seeing the errors.

I've used this approach on other channels I'm an op for in the past, and had no issues (Matrix works without error, no increase in spam). See this for Freenode channel modes (which I assume will work on Libera) and this for various spam reduction strategies.

Edit: This is a useful thing to do regardless of where we decide the "source of truth" is - Matrix isn't going away, and we should make it easy for folks to join from either side.

@felixfontein
Copy link
Contributor Author

Since I won't be there for the next meeting (unrelated to the Freenode discussion ;) ), I vote to move to Libera, and my second preference is OFTC. I also vote for making the move quick, i.e. start using the new network already for next week's meetings.

@GregSutcliffe
Copy link
Contributor

GregSutcliffe commented May 24, 2021

For people not familiar with matrix's bridging to irc, sivel's matrix.org reference is that when a matrix server receives a longer line than can be sent to irc, it will place the line into a web service (like pastebin) and then post the link to the irc server. With the elements client (haven't checked any others), this is done without prompting and does not appear to have a client-side config (to split the lines before the matrix server sees it). Since the links don't have explanatory text, they're not very friendly to people who are viewing on irc.

Another UX wart in matrix => irc bridging is that matrix allows allows corrections to lines but those show up in irc as * [followed by the full text of the edited line]. A user who is unfamiliar with the limitations of irc can end up spamming the irc channel with duplicates of the same message as they fix minor typos in their message and then saving a few characters at a time.

There's some action on this concern - Matrix devs are adding support for per-room configuration of this behaviour, although it's not deployed yet I believe. You can learn more here but as a preview, this was the comment on HN from Arathorn:

"fwiw we've just added stuff to the IRC bridge to let the pastebin, edit & reply behaviour be configurable on a per-room basis so that if folks have strong opinions they can enforce them."

@resmo
Copy link

resmo commented May 24, 2021

At this point, the herd is moving from freenode to libera, my first preference is follow the herd: libera.

@aminvakil
Copy link
Contributor

@dmsimard
Copy link

The mediator between freenode and Andrew Lee came out with his perspective of the story and the (now ex) freenode staff doesn't exactly come out spotless: https://gist.github.com/prawnsalad/4ca20da6c2295ddb06c1646791c61953

@dmsimard
Copy link

Andrew Lee also came out with his side of the story: http://techrights.org/wp-content/uploads/2021/05/lee-side.pdf (via https://news.ycombinator.com/item?id=27234542 where he also replied under rasengan)

@jamescassell
Copy link

If we are to move, my preference would be to move to OFTC, especially with the extra perspective provided by prawnsalad and the generally persistent re-connect issues I've had since joining the libera.chat network. I'd be very reticent to move a project a brand-new IRC network that hasn't stood any test of time. The only downside I've seen for OFTC is the lack of SASL, but I don't see anything that specifically breaks as they have CertFP that can do some of the same effect. Thanks @dmsimard for linking the extra perspectives.

@felixfontein
Copy link
Contributor Author

Please also note ansible/community#613 (comment), it looks like the new policy on Freenode is that if you mention Libera in the channel topic, your channel is taken over automatically. So please make sure you don't accidentally trigger this during the discussion by using #topic.

@sshnaidm
Copy link

FWIW Openstack community is moving to OFTC.

@dmsimard

This comment has been minimized.

@dmsimard
Copy link

We discussed this at the #ansible-community meeting today and:

  • We've agreed to move to libera.chat: 20 votes for libera (in addition to ~300 users already in #ansible), 2 votes for oftc
  • We will do a blog post once the matrix bridge is setup. This will include some of the pros and cons of libera & oftc. As well as more. Importantly a promotion of the various communication channels.
  • We have a TO-DO list for the different steps involved in migration: Moving to libera.chat ansible/community#613
  • The next #ansible-community meeting (june 2nd 2021) will be on libera.chat

@felixfontein
Copy link
Contributor Author

(Locking this issue so that the result - moving to Libera.chat, with a matrix bridge that will hopefully soon be there - is easy to find. If you think this needs further discussion, please create a new issue and reference this one. Thanks for your understanding.)

@ansible-community ansible-community locked as resolved and limited conversation to collaborators May 26, 2021
@felixfontein felixfontein removed the next_meeting Topics that needs to be discussed in the next Community Meeting label May 26, 2021
@felixfontein felixfontein changed the title Move from Freenode to somewhere else? Move from Freenode to Libera.chat (was: somewhere else?) May 26, 2021
@felixfontein felixfontein pinned this issue Jun 11, 2021
@gundalow gundalow unpinned this issue Aug 16, 2021
@gundalow gundalow moved this to Done in Community Plan v2 Nov 26, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests