Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Vote ended on 2022-05-20] History visibility in chat #43

Closed
GregSutcliffe opened this issue Sep 16, 2021 · 44 comments
Closed

[Vote ended on 2022-05-20] History visibility in chat #43

GregSutcliffe opened this issue Sep 16, 2021 · 44 comments
Assignees

Comments

@GregSutcliffe
Copy link
Contributor

Summary

I'd like to change the settings on our rooms regarding chat history.

Previously we did not officially log the IRC channels, although many users keep their own log, and zodbot logs meetings. Right now, Matrix respects this - the rooms have Who can read history? set to Members only (since they joined) which also means if they leave and rejoin, they don't get the intervening messages.

This is not so bad for Matrix users because they are persistently connected to rooms anyway. However, there are several usecases for being able to read back up the history - it helps to understand if this is the right room for a question, to see the etiquette/norms of the room, and also to catch up on rooms you might only visit infrequently. It's also helpful because messages on Matrix have URLs, so you can direct people to previous answers, etc.

I'd like to change this setting to at least Members only (since the point in time of selecting this option) which essentially means a private log of the room - new people joining would get the history up until the time we set that option. However, we could opt to set it to Anyone which means a public log of the room - this means URLs work in an anonymous browser, and it also enables "peeking" where a new Matrix user can view the channel without joining - quite nice if you're not sure which room is the right one.

I don't think the former (Members only) is too controversial, as there already are many unofficial private logs of the channel happening. The latter (anyone) setting would be like having zodbot on all the time, you can view the history in your browser, and while I don't mind, I can see how it would not be to everyone's taste. In either case we'd need to put a logging notice in the room topics

So, to be discussed:

  1. Are we ok with members only from now logging?
  2. Do we go all the way to anyone logging?
@GregSutcliffe GregSutcliffe self-assigned this Sep 16, 2021
@GregSutcliffe GregSutcliffe added discussion_topic next_meeting Topics that needs to be discussed in the next Community Meeting labels Sep 16, 2021
@GregSutcliffe
Copy link
Contributor Author

My votes:

  1. 👍 I don't think this is intrusive
  2. +0 - I like it and think peeking is useful, but I'm ok if we don't

@GregSutcliffe
Copy link
Contributor Author

Oh, last point. Having at least (1) means that those of us with responsibilities in many channels (the community team, the steering committee etc) don't need to be in the room all the time (some, like #ansible, are quite noisy). We can join when needed and scroll up to find out why we're being asked to get involved :)

@gundalow
Copy link
Contributor

Thanks for raising this

  1. Are we ok with members only from now logging?

+1

  1. Do we go all the way to anyone logging?

+1, for the reasons in #43 (comment) (not having to be in all the channels all the time)

@GregSutcliffe
Copy link
Contributor Author

For clarity, only (1) is needed for that. But thanks for your support on (2) :)

@abadger
Copy link

abadger commented Sep 22, 2021

  1. Are we ok with members only from now logging?

+1; I think this is a minimum for a good idea.

  1. Do we go all the way to anyone logging?

+1; This is similar to mailing lists where it's generally expected that messages will be archived and made public for the edification of people not on the list. The only difference is that past practice with chat (irc mostly) is that they don't have that behaviour. I think, in the same way as mailing list archives are helpful, changing behaviour here is equally helpful. We just need to manage the expectation by telling users about the behaviour (for instance in the topic, if we have terms of service [I notice that the Fedora matrix service has terms of service, so that's why I mention that], or other introductions to chatting with us.

@tadeboro
Copy link

1. Are we ok with `members only from now` logging?

+1

2. Do we go all the way to `anyone` logging?

+1, but we should clearly document this, especially for IRC users that might assume that chat is ephemeral.

@jillr
Copy link

jillr commented Sep 22, 2021

Are we ok with members only from now logging?

+1

Do we go all the way to anyone logging?

+1 but like tadeboro said, be very clear with documenting and announcing this since it's a bit of a change

@felixfontein
Copy link
Contributor

felixfontein commented Sep 22, 2021

+1 on members only from now, +0.5 on anyone. And for anyone we definitely need an announcement and a constant reminder in the topic.

Since there is some opposition to this, which I understand (even though I still think logging would be great), I want to change my vote to -1 / -1 so that the vote reflects that opposition.

@cidrblock
Copy link

Are we ok with members only from now logging?

+1

Do we go all the way to anyone logging?

+1

@Andersson007
Copy link
Contributor

Andersson007 commented Sep 22, 2021

the difference is really "can you see the history before you join" or "after you join". A user can still join to see it

So +1 and +1

@sivel
Copy link

sivel commented Sep 22, 2021

-1 and -1

@cybette
Copy link
Member

cybette commented Sep 22, 2021

My votes:

  1. +1
  2. +1

(edited after more discussions and making sure different aspects are considered.)

@jamescassell
Copy link

  1. Are we ok with members only from now logging?

+1

  1. Do we go all the way to anyone logging?

+1

@russoz
Copy link
Contributor

russoz commented Sep 23, 2021

+1 and +1

@GregSutcliffe
Copy link
Contributor Author

Thank you to everybody who participated in a respectful debate on Wednesday (2011-09-23). Right now the action is "we'll do (1) for just the 3 Summit channels (#ansible-conf, #ansible-social, #ansible-workshop)" because we feel that's important to the success of Contributors Summit.

More generally, there's a majority here for doing this, but as Felix said, there are some things worth talking about first. This is a bit longer than I would normally post on GitHub, but I think it's important to keep the discussion in one place.

General Points

Firstly, a general point - we are not discussing personal preferences here. I get that some people do not want to be logged, and I do not aim to change their mind. Rather, I'm making the case that the logging proposed has benefit to the community as a whole, and thus should be enabled. Arguments like "some people oppose it and no one asked for it" is a strawman argument, because we weren't discussing personal preferences anyway.

Second, on the concept of IRC not being logged - I do not agree. I would state that IRC is comprehensively logged, at many levels, and not being up-front about that is a false sense of security. You have:

  • Users with chat logs
  • Bouncers with chat logs
  • Bots can log
  • Server logs at the IRCd level

Realistically, in a room of 100 people, there's probably at least 50 copies of your data, not to mention the likes of IRCCloud et al. holding your actual connection logs. If anyone starts zodbot and forgets to close it, then the channel will be silently logged until someone realises. And there's no realistic way to redact most of that (OK, IRCCloud has a GDPR policy, but the rest you've not got a chance.)

What I think we have here is a culture shock. IRC has a logging concern because you cannot go back and edit. Other platforms do not, because you can edit prior messages. Now there is no guarantee that someone did not screenshot your original, but it's far less likely than the known bouncer logging happening on IRC. Why? Because the culture of Matrix is to rely on the room history, so when you redact a message, it is highly likely that no-one has a copy of the original anymore. (You cannot guarantee this, as I said, but the screenshot risk exists on any platform, this is why Twitter tweets get screenshotted).

Prior example

Here is probably a good place to mention Fedora. I spoke to mattdm (Fedora Project Leader) and bcotton (Fedora Program Manager) to discuss how Fedora has set things up. The short version is that they went with option (2) on every room - the considered view is that IRC was already being logged anyway, so there wasn't even anything to discuss. I have an offer from mattdm to come say that publicly, if it helps :)

So in my view, the situation is "we are already logged all the time, so how can we turn that to the community's advantage?" - and for the reasons in my OP about culture, expectation, and being welcoming, I still advocate for (2) - even more strongly now I know that communities like Fedora (and Mozilla, as it happens) are using it.

Specific points from the meeting

Finally, let me do some short responses to specific things in the log - apologies for not tagging GitHub usernames, I just copied this from zodbot and it's nearly midnight :)

acozine: what if I say something stupid?

Firstly, as above, you can edit your posts on Matrix. However, I think the culture point plays here - if you can read up in a room, see how frequently people post, and how they approach asking, then you are more likely to be confident in your own question. How many of us have joined an IRC channel and then lurked a while to get a feel for the place first? How much time have we wasted doing that? Let's fix it.

sivel: Hrm, the matrix bridge is now making me question whether I am ok with participating in IRC

I'm including this because I want to make sure this point is heard - I appreciate the honesty. As I said above, this is not about individual preferences, but about what's right for the community at large. We'll take a group decision (which right now is leaning towards making the change, I think) and then it's up to inviduals as to what happens next.

I still argue you're being logged anyway, regardless of which network you're on.

sivel: A limitation of something like IRC is that it's too late once the user joins for them to see that the channel is being logged. Due to the limitation of there not being a great way to gate entry on whether a user agrees to logging is another reason I've never allowed it in the channels I've been part of running

Discussions about whether IRC is logged aside (see above), this is actually an argument for using Matrix, because with option (2) we enable "peeking", which looks like this:

image

This means you can view both the history (to get an idea of whether the room is right for you) and the topic before you join - a significant improvement on the limitations of IRC, as you point out.

sivel: (also said by others) and should we enable logging, it needs to be clearly indicated to users, so they know whether or not they are comfortable with joining

100%. As acozine said, in some ways, we are being more transparent with this, because the logging was likely happening anyway. We have enabled a ChanServ entry message on social, conf, and workshops, and the topics have a statement too. I would see that as the model for all the rooms that do this. This goes above Libera.chat's policy which askes for ChanServ entry message OR channel topic.

felix: I don't mind which way around, but there clearly need to be non-logged channels/rooms

I think the official rooms should be set to (2) for all the points above. However, should folks wish to have an off-the-record discussion, nothing prevents creation of a private chat - and that's true for both IRC and Matrix (and the bridge is easy to add should both need to be in one place). Note that private chats on Matrix are end-to-end-encrypted by default, do remember to disable that if you plan to add an IRC bridge.

several people: GDPR / legal stuff

Fedora have been through a lot of this with Legal on the use of Matrix, and have option (2) enabled. I have no concerns that we would get a different result. We've also been through the Libera terms (https://libera.chat/policies/#public-logging) and made sure we can comply with their requirements; we are going further than they require.

Conclusion

Given all of the above, I will propose we move for (2)... but after Fest - we have enough on our plates this week :)

@tadeboro tadeboro removed the next_meeting Topics that needs to be discussed in the next Community Meeting label Dec 1, 2021
@GregSutcliffe
Copy link
Contributor Author

GregSutcliffe commented Apr 29, 2022

Hi folks,

This topic has been quiet for a fair while. Mainly that has been to resolve the issue that was raised around checking with our legal team (they have quite the backlog), but also to spend time speaking to all those who had concerns in order understand their position better.

I'm happy to say that both of these things are now done. Legal agree that this is a community matter, and they suggest we continue the practice of giving notices to the IRC joiners, since this is unexpected behaviour on that platform (which we were going to do anyway), and that we consider giving a notice period before flipping the switch (which seems fair). Beyond that, they don't forsee any issues.

We've also reached out to all the folks who raised concerns (and thank you for doing so, you hold us to account well!). Mostly these concerns were about either clarifying what is being proposed, or holding back approval to make sure everyone is listened to. The feedback we've received from those people since is that they are now satisfied.

With the prior concerns largely addressed, I believe we have the support for this now - however we need to decide which option to pick from the original topic (because the support is similar for both). Accordingly, I'm going to move this to a vote, on the following proposal:

The vote will include answering the following question:

Question 1:
Are you OK if we do the following (vote with +1/-1):

  • That we enable prior room history on all the official Ansible Matrix rooms (defined as any room with the moderation bot in it)
  • That ChanServ notices be enabled for all the rooms that this is set on
  • That a room be given 2 days notice before changing the setting
  • That we perform a staged rollout, 4 rooms per week max, starting with the smallest rooms, to see if there is wider pushback from folks not looking here
  • Add a line to https://docs.ansible.com/ansible/devel/community/communication.html#ansible-community-on-irc saying "Room history is stored on Matrix for all Ansible channels" as an extra notify

Question 2:
Please choose one of the following options:

  • Option 1: only logged-in people can see prior chat history
  • Option 2: everyone (logged-in and NOT logged-in) people can see prior chat history (i.e., chat history is publically available without logging-in)

Because this topic has been dormant for some time, I will not do that immediately - however, unless there are further concerns, I will set the vote flag after the next Community Meeting (Wed 4th May), for 2 weeks as usual. Thanks everyone for the feedback so far (both public and private), and for keeping the discussion civil on what can be a touchy topic.

@Andersson007
Copy link
Contributor

The vote has been just opened, please answer the following questions:

Question 1: Are you OK if we do the following (vote with +1/-1):

  • That we enable prior room history on all the official Ansible Matrix rooms (defined as any room with the moderation bot in it)
  • That ChanServ notices be enabled for all the rooms that this is set on
  • That a room be given 2 days notice before changing the setting
  • That we perform a staged rollout, 4 rooms per week max, starting with the smallest rooms, to see if there is wider pushback from folks not looking here
  • Add a line to https://docs.ansible.com/ansible/devel/community/communication.html#ansible-community-on-irc saying "Room history is stored on Matrix for all Ansible channels" as an extra notify

Question 2: (provided that you're OK with Question 1) Please choose one of the following options:

  • Option A: only logged-in people can see prior chat history
  • Option B: everyone (logged-in and NOT logged-in) people can see prior chat history (i.e., chat history is publicly available without logging-in)

The vote will end on May 20, 2022

@Andersson007 Andersson007 changed the title History visibility in chat [Vote will end on 2022-05-20] History visibility in chat May 12, 2022
@Andersson007
Copy link
Contributor

Question 1: +1
Question 2: B

@Andersson007 Andersson007 added active-vote These are currently active votes and removed discussion_topic labels May 12, 2022
@mariolenz
Copy link
Contributor

Question 1: +1
Question 2: B

3 similar comments
@GregSutcliffe
Copy link
Contributor Author

Question 1: +1
Question 2: B

@gundalow
Copy link
Contributor

Question 1: +1
Question 2: B

@briantist
Copy link

Question 1: +1
Question 2: B

@felixfontein
Copy link
Contributor

Question 1: -1 (I would be OK if prior history would be limited to a shorter amount of time, say at most the previous few hours or the previous day)
Question 2: A

@jillr
Copy link

jillr commented May 16, 2022

Question 1: +1
Question 2: A

@markuman
Copy link
Contributor

markuman commented May 16, 2022

Option 1: -1
Option 2: N/A

@sivel
Copy link

sivel commented May 16, 2022

Q1: -1
Q2: N/A

@hunleyd
Copy link

hunleyd commented May 18, 2022

Question 1: +1
Question 2: B

@jchancojr
Copy link

Question1: +1
Question2: A

@russoz
Copy link
Contributor

russoz commented May 19, 2022

Question 1: +1
Question 2: B

@Andersson007
Copy link
Contributor

Vote ended last Friday:
Steering Committee:

  • Question 1: 5 +1; 2 -1
  • Question 2: 5 B; 1 A

Community:

  • Question 1: 4 +1; 1 -1
  • Question 2: 1 B; 2 A

We reached the quorum with 7 SC voted and Question 1 +1 and Question 2 B are winners.

Could anyone else from the Steering Committee count the votes please?

@Andersson007 Andersson007 changed the title [Vote will end on 2022-05-20] History visibility in chat [Vote ended on 2022-05-20] History visibility in chat May 23, 2022
@markuman
Copy link
Contributor

Could anyone else from the Steering Committee count the votes please?

results:
  Steering:
      "1.":
        yes: 4
        no: 2
      "2.":
        A: 1
        B: 4
  Community:
      "1.":
        yes: 4
        no: 1
      "2.": 
        A: 2
        B: 3

When I count Jill as a community member.

@mariolenz
Copy link
Contributor

@markuman Could you please count again? I agree with @Andersson007:

results:
  Steering:
      "1.":
        yes: 5
        no: 2
      "2.":
        A: 1
        B: 5
  Community:
      "1.":
        yes: 4
        no: 1
      "2.": 
        A: 2
        B: 1

I count a total of 9 votes for yes, while you have a total of 8. Also, you have a total of 7 for B while I only count 6.

I'm not sure if this is really important, your numbers still say that Question 1 +1 and Question 2 B are winners.

@markuman
Copy link
Contributor

I count a total of 9 votes for yes, while you have a total of 8. Also, you have a total of 7 for B while I only count 6.

Ah yeah, now I count 9 and 7 too.

I'm not sure if this is really important, your numbers still say that Question 1 +1 and Question 2 B are winners.

Yes, it doesn't matter.

@mariolenz
Copy link
Contributor

@Andersson007 Looks like we're agreed now, aren't we?

@felixfontein felixfontein removed the active-vote These are currently active votes label May 24, 2022
@felixfontein
Copy link
Contributor

I also quickly counted the SC votes and concur.

@felixfontein felixfontein added the being_implemented This is currently being implemented label May 24, 2022
@Andersson007
Copy link
Contributor

Thank you folks!
Result: Question 1: +1, Question 2: B

CC @GregSutcliffe

@GregSutcliffe
Copy link
Contributor Author

Thanks for the confirmation folks!

As per the discussion, it's important we inform the community ahead of time. I will work with @Andersson007 to write a news item for the Bullhorn, as well as create the docs PR. Once those are done, we can draw up a list of rooms and what order to do them in.

@jpmahowald
Copy link

In addition to knowing I am being logged, I would like to see the logs myself. To reference, and to know what is public. As an IRC only user, how do I do that?

Once the links to the channel logs are documented, I would expect a direct link to them in IRC channel notice or topic.

@GregSutcliffe
Copy link
Contributor Author

@jpmahowald good point. That's doable via a view.matrix.org link, which we can add to the channel entry messages. I'll commit to sorting that out - thanks for the catch.

@GregSutcliffe
Copy link
Contributor Author

After some digging, we have found that you can browse to https://app.element.io/#/room/#{channel_name}:libera.chat and that will also give you the logs. We will document that as well as doing the entrymsg, since it can be written generically for all channels

@sivel
Copy link

sivel commented Sep 13, 2022

If we are moving forward with this, can we set an explicit date when it is going to happen? I've seen various comments in channels that "this is coming", "this is happening later this week". On September 7, 2022 it was announced in the #ansible IRC channel that "this room will be updated later this week". However, there hasn't been a subsequent announcement that it was done, or a change to the IRC topic, or the IRC entry message, so I have to assume it didn't actually happen.

@GregSutcliffe
Copy link
Contributor Author

GregSutcliffe commented Sep 13, 2022 via email

@GregSutcliffe
Copy link
Contributor Author

As promised, I put out another announcement to #ansible on Tuesday, targeting today. That work is now complete, which ends the rollout process which began in June.

I realise we did not publish details of the rollout plan itself - it was discussed within our team, but I forgot to come share it. My apologies for that; for transparency, I will share it now:

  • We did the initial announcement in Bullhorn Issue 63
  • We made a list of all the rooms and the number of people in them, sorted in size-ascending order
  • Given the number of rooms, ~4/week seemed about the right pace, starting with the smallest
  • Announcements were made in-room at the start of each week
  • The updates (history change & entrymsg setting) were made at the end of the week, giving people 3-4 days to raise issues
  • We decided not to update room topics as they can already be quite full with room-specific useful information, and we don't want to stomp all over the topics already set by room owners.

Thanks all for the input & patience; it's been a long process (and rollout). Feedback in-room was pretty quiet, and mostly consisted of 👍 reactions to the announcements in various rooms (and thanks to those folks for the support), but I'm once again grateful for the detailed feedback we got both during the debate and during the rollout, which has made this a more robust and considered piece of work.

@GregSutcliffe GregSutcliffe added implemented and removed being_implemented This is currently being implemented labels Sep 23, 2022
@Andersson007
Copy link
Contributor

closed as this marked as implemented. thanks everyone! feel free to reopen if needed

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests