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

[associated vote ended on 2023-03-27] Community Plans part 2 - Discourse Forum for project-wide discussion #202

Closed
Tracked by #159
GregSutcliffe opened this issue Feb 24, 2023 · 49 comments

Comments

@GregSutcliffe
Copy link
Contributor

GregSutcliffe commented Feb 24, 2023

Summary

This is the second discussion space for the community strategy for the year ahead. It's a larger topic than easily fits into a GitHub issue, so rather than summarise it badly here, I'd ask that you read the two posts we've created - State of the Community 2023 and Community Strategy 2023 - before discussing/voting.


As promised in the post conclusion, this is the second of two proposals, namely that the community should:

If approved, the next step would be for the Red Hat Ansible Community Team to investigate hosting options, and to engage with early-adopters on what their needs are.

Additional Information

No response

@mariolenz
Copy link
Contributor

I can't say if Discourse would be the best choice because I lack the knowledge and experience in this area. But I agree that Discourse or a tool like it might be helpful. Mailing (lists) are a bit out of fashion, a new generation of users might be easier to address with something else. On the other hand, online chat like Matrix isn't a really good place to have a longer discussion. A forum sounds like a better approach.

@GregSutcliffe
Copy link
Contributor Author

Thanks for the positive feedback so far folks. The second recording from Contributor Summit is now up, so I've added to the top of the second post, but for those that have already read them (and are interested) you can find that here(YouTube)

@cybette cybette added the next_meeting Topics that needs to be discussed in the next Community Meeting label Mar 2, 2023
@maxamillion
Copy link

Giant +1 on this!

We're currently super fragmented all over the place and I would love a canonical location of engagement and collaboration for the ansible communities. Discourse seems like the most logical choice I can think of given the current landscape of options available to us today so +1 to that as well.

@ssbarnea
Copy link
Member

ssbarnea commented Mar 2, 2023

From the DevTools point of view, I would argue that we are happy with Github Discussions and the way is used by our ~10 projects. That does not create any fragmentation and also allows us to easily convert unfortunate issues into discussions.

So more of a -1 because it avoids adding one extra service/website to run, maintain and update, even if discourse is probably the best DIY forum solution at this time.

@maxamillion
Copy link

From the DevTools point of view, I would argue that we are happy with Github Discussions and the way is used by our ~10 projects. That does not create any fragmentation and also allows us to easily convert unfortunate issues into discussions.

@ssbarnea the existence of DevTools as it's own sub-community within the greater Ansible Community is 100% an example of fragmentation.

@pidreher
Copy link

pidreher commented Mar 3, 2023

I noticed this fragmentation issue very recently myself. As somebody who would like to be more involved with the project as a whole - one thing I can fairly easily do is answer questions, while staying on the lookout for beginner friendly code contribution opportunities.

While a certain understanding of the Ansible ecosystem is required in order to even find the "right" place to ask a question about a certain component (which of course is an issue of itself) - those people active in that repo are not necessarily the only ones able to answer the question. And at the same time it is very tricky for potential helpers to even find those questions to answer across all those repos, chats, Google groups and whatever. And when something is answered somewhere, there is no moderation possibility for people like me in all those different places.

So making helping easier by having it take place in (mostly) one location for sure makes it less frustrating for everybody involved.
I expect this to take some issue-load off all the repo maintainers.

@jillr
Copy link

jillr commented Mar 3, 2023

+1 Assuming the other proposal is accepted and we have a clear landing page for the community that can surface a new forum (to prevent even more fragmentation). Better notification filtering/topic subscription in particular is extremely exciting to me.

Also enthusiastic +1 to move our architecture proposals upstream (and async!)

@gotmax23
Copy link
Contributor

gotmax23 commented Mar 4, 2023

I think issue trackers and mailing lists are often better places for development discussions, but I'd very much appreciate a central place to direct users for support and more general discussion. In any case, we'd need dedicated moderators and proper organization to make sure the forums are useful and safe for everyone.

If approved, the next step would be for the Red Hat Ansible Community Team to investigate hosting options, and to engage with early-adopters on what their needs are.

Fedora/RH has an existing relationship with CDCK to host our Discourse Forums.

@GregSutcliffe
Copy link
Contributor Author

Thanks for the feedback so far folks, good discussions - a few replies inline:

(@gotmax23) I think issue trackers and mailing lists are often better places for development discussions

I would argue that at a core level, a forum and a mailing list perform the same function - async discussion. In that sense, this is about better tooling around that core usecase, as well as meeting new users/contributors in ways they expect. I don't disagree about using Issues for detailing work internal to a specific sub-project, though, it would be lovely to reclaim the trackers for that.

It's worth noting you will be able to interact with this proposal entirely by mail if that is your preferred workflow (caveat one single login to claim your staged account from the mailing list archive 😛)

(@jillr) Assuming the other proposal is accepted

100% this is dependent on that, partly because we'll need a DNS subzone to host it on, but also to have good user pathways. I don't want to prejudge that debate, but it's looking good ;)

(@ssbarnea) From the DevTools point of view, I would argue that we are happy with Github Discussions

@maxamillion already said the key point (possibly slightly more strongly than I might have 😛), but let me just point something out.... in your comment, you said "we are happy", "our ~10 projects", and "does not create any fragmentation" (emphasis mine). It feels like that's exactly the point I'm trying to make - that if we all keep acting at the individual sub-project level, this is going to get worse, not better. I never said DevTools/AWX/etc has fragmentation, I said Ansible does.

You're not wrong about resourcing though, so let me address that...

(@gotmax23) we'd need dedicated moderators and proper organization

Yes, absolutely. Assuming we vote it through, I'll be working on this as my core focus, and I'm keenly aware that it has to be done right. We've obviously got a pile of communities out there already to use for inspiration, and I've been making copious notes about how we can structure it. Detail on this is probably quite a long post in it's own right - I'm happy to do so if people want to see it before voting, but it felt like an implementation detail rather than a core principle, so I haven't added it yet. It will be published in good time, but do say if it's something you'd like to see now.

(@ssbarnea) one extra service/website to run, maintain and update
(@gotmax23) Fedora/RH has an existing relationship with CDCK to host our Discourse Forums.

Indeed we do, and I'll be finding out how much of that Ansible can (re)use. I believe the Ansible Community Team have the budget for paying CDCK, so assuming the vote passes, my next steps will be speaking to Fedora and CDCK to work out what we can do.

@felixfontein
Copy link
Contributor

I thought I already wrote a 👍 here, but apparently I didn't yet. So here it is :)
(Also 👍 for an open source forum software!)

@Andersson007
Copy link
Contributor

👍

1 similar comment
@oraNod
Copy link

oraNod commented Mar 9, 2023

👍

@GregSutcliffe
Copy link
Contributor Author

I can see the community meeting had some discussion, but sadly I can't make that time slot, so I'm going to reply here :)

Going through the logs and replying in order:

@samccann: ponders if a future forum could support voting

Absolutely. Polls on Discourse can have a variety of options, including restriction to specific groups, auto-closing at a certain time, how/when to display the results, and so on. from what I know of the concerns around voting on GitHub Discussions (e.g. people adding reactions after close, etc) I believe it would be a significant improvement.

@felixfontein: the most annoying thing for me is that discourse doesn't work when umatrix is active

Thanks for the link Felix. Quickly scanning the topic, it seems related to CDN XHRs and whether a site is using a CDN. I'd be interested to know if a site like community.theforeman.org breaks (as I know that's self-hosted).

I can see you've already given a 👍 above, so I think we can both agree this isn't a blocker, but it is interesting.

@felixfontein: not without loading all the stuff that discourse wants to load by default, like google fonts

We have a fair amount of theming/CSS edit support available to us, it's possible we could fix this. We would certainly want to get the look/feel consistent with what comes out of #201

The discussion seemed pretty positive though! Tomorrow we'll reach 2 weeks since I opened it, and the feedback seems largely positive - would anyone have a problem with me creating a vote tomorrow?

@felixfontein
Copy link
Contributor

@GregSutcliffe community.theforeman.org works fine for me!

@apple4ever
Copy link

This really sounds like a great solution to the fragmentation problem. I always struggled with IRC/Matrix and GitHub discussions for the reasons you mentioned. My first thought was something like Fastmail's Topicbox, but it sounds like Discourse has more features that we'd used, so a hearty 👍 from me.

@GregSutcliffe
Copy link
Contributor Author

@felixfontein ok, then yes, it seems a CDN problem. I would expect that we'll have enough traffic to need it, but I guess we'll see how it goes :)

@chriscroome
Copy link

I don't know if a domain name has already been chosen but ansible.forum is available, however it isn't cheap…

@felixfontein
Copy link
Contributor

I think that if we use new TLDs, .community is probably better than .forum. (If you suggested ansible.forum because ansible.community is already registered, that's because someone related to the community team already registered it for the community.)

@GregSutcliffe
Copy link
Contributor Author

I would agree with @felixfontein - once we've agreed part 1 (which seems likely at this point) then we'll be able to have whatever subdomains we wish. Obvious comparison is discussion.fedoraproject.org but we could also think about ask, forum, community (hmm, no, community.ansible.community would be weird 😛), and so on.

@GregSutcliffe
Copy link
Contributor Author

The discussion seemed pretty positive though! Tomorrow we'll reach 2 weeks since I opened it, and the feedback seems largely positive - would anyone have a problem with me creating a vote tomorrow?

OK, I ran out of time on Friday. Vote is now open at #211, get to it! Thanks for all the feedback so far!

@chriscroome
Copy link

It might be worth making it clear on the vote that by +1 and -1 you mean "Add the thumbs up or down emoji to the top post"?

@GregSutcliffe
Copy link
Contributor Author

I think either is fine, as I understand it - @mariolenz @Andersson007?

@samccann
Copy link

@GregSutcliffe For things that require Steering Committee approval, it has to be +1 to tell who voted. Dunno if that matters for this vote.

@mariolenz
Copy link
Contributor

Well, we will count the +1s and -1s in the vote, not the thumbs up or down here:

If someone adds a +1 to the vote but not a thumbs up here, it will be a +1; on the other hand, if someone adds a thumbs down here but no -1 to the vote, it won't count.

@Andersson007 Andersson007 changed the title [Vote ends on 2023-03-27] Community Plans part 2 - Discourse Forum for project-wide discussion [Vote ended on 2023-03-27] Community Plans part 2 - Discourse Forum for project-wide discussion Mar 27, 2023
@Andersson007
Copy link
Contributor

Andersson007 commented Mar 27, 2023

The vote ended with the following results:

The Community:

  • 13 with +1 (BigPii, apple4ever, chriscroome, cybette, chofstede, samccann, RaggedStaff, leogallego, alinabuzachis, tremble, shanemcd, schurzi, maxamillion)

The Steering Committee:

  • 8 with +1 (felixfontein, Andersson007, gundalow, cidrblock, briantist, mariolenz, gotmax23, russoz)
  • 2 with - 1 (ssbarnea, markuman)

Could anyone from the Steering committee confirm/correct my count?

@mariolenz
Copy link
Contributor

@Andersson007 I think you've overlooked a +1 from @maxamillion. Apart from this, your count looks OK to me.

So we have 50%+ approval from the SC (and a lot of people from the community voting in favor of this... thanks for voting and give your opinion on this!) and the proposal is accepted, right?

@Andersson007
Copy link
Contributor

@mariolenz yes, thanks for counting the votes and correcting me! edited my comment

Yep, the quorum is reached and the proposal is accepted.
FYI @GregSutcliffe

@GregSutcliffe
Copy link
Contributor Author

GregSutcliffe commented Mar 28, 2023

Thanks everyone - as ever I'm delighted by the respectful discussion we have in our community :)

The next steps are on us in the Community Team, so I'll start working on that. Might take a short while, but I'll let you know once we have progress. In the meantime, go make #201 a success, we need more working group members!

@felixfontein felixfontein changed the title [Vote ended on 2023-03-27] Community Plans part 2 - Discourse Forum for project-wide discussion [associated vote ended on 2023-03-27] Community Plans part 2 - Discourse Forum for project-wide discussion Mar 29, 2023
@GregSutcliffe
Copy link
Contributor Author

Update time! :)

On the funding, thanks to some solid work from @wbentley15, we have that covered - much thanks there! I've opened a discussion with CDCK about hosting, and that's progressing well, it looks like what we need is on the table.

I'd like to start thinking about the structure the various people will want from their parts of the forum - what plugins are needed, what categories, tags, groups, and so on. I'm thinking the best way to capture this is probably a survey targeted at the various working groups and sub-projects. I'll do an initial round of information gathering in the next week or two, and then update here again with the outline. It's all stuff we can iterate on, but the more we get right from day 1, the more use it will get.

Final note, as you'll see in my update on #201, the DNS will be under ansible.com - in order to work well in other languages, we're going to use forum.ansible.com (because the word forum is fairly universal, unlike ask, help, discuss, etc).

Any feedback you want to send about what you want to see in the forum is welcome directly, public or private, just get in touch!

@GregSutcliffe GregSutcliffe added being_implemented This is currently being implemented and removed discussion_topic labels Apr 21, 2023
@GregSutcliffe
Copy link
Contributor Author

GregSutcliffe commented May 10, 2023

Updates time! The discussions with CDCK and other parties are proceeding, so I have been sketching out my thoughts for the initial structure. The goal here is to give you enough to think about the flexibility of the tooling, without us getting derailed into endless discussions about all-the-things.

To that end, I have written up https://hackmd.io/@ansible-community/rJ2_VfYV2 which has already had feedback from some people but I'd like a wider set of eyes upon it. In particular, I'd be interested in the folks who regularly participate here, since it would make sense for this repo/voting system to move to the forum (let's be honest, we're fighting with GitHub to do voting here) - but I haven't added a specific section for it yet. Where would it make sense? Feel free to comment there, it should be open to comments (and let me know if it isn't) or ping me in Matrix if you want to do things privately.

cc @felixfontein @mariolenz @gotmax23 @acozine @briantist

@chriscroome
Copy link

Looks good to me, the only two thoughts I have are:

  1. Have you considered the use of flairs, for example RedHat employees could get a Shadowman logo.
  2. In terms of voting, this is a weak point of Discourse, what would be ideal would be a Discourse plugin to add options for voting something like the ones Loomio has, but as far as I'm aware nothing like this currently exists.

@GregSutcliffe
Copy link
Contributor Author

I haven't written down anything about flair, but yes, I have thought about it. Given the reliance on groups & tags for the current plan, I think it likely people will end up with multiple groups & flairs to choose from ;)

What's your concern on voting? I know the polls can be limited to a specific group, public or anonymous, and time limited - that's an improvement here, since we have to manually close a vote and reactions can still be changed after it closes. Is there more we need? I can look into it.

@chriscroome
Copy link

chriscroome commented May 10, 2023

My concern on voting was that Discourse isn't very good at it, unless I'm missing something? I'm involved with a couple projects that use Discourse for discussions and Loomio for voting but would ideally just use Discourse but Discourse doesn't appear to have decent voting functionality in either the core project or any plugins?

@GregSutcliffe
Copy link
Contributor Author

I guess it depends on what you want. Here's a screenshot from our playground which doesn't look a million miles away from the frontpage of Loomio:
2023-05-10-171408_698x273_scrot
2023-05-10-171420_692x387_scrot
(Don't worry about the topic, we were just messing about)

I'm in the "lets see if it's enough, we can always go further" camp for this one, I think.

@GregSutcliffe
Copy link
Contributor Author

So it's been quite the process to get this done (details available over a beverage 😛) but we are almost there! I have access to the new forum now, and I am just waiting on the final CNAME to be made before we can start rolling this out to our early adopters and groups. Exciting! 🎉

I think we're less than a month away from having this in active use now, so the next step here is to begin thinking about how we want to setup & migrate the voting process. I'm going to post my thoughts here, but I'm very open to input (and of course we can iterate)

Structure:

  • Tagged topics under the "Project Discussions" Category (see here for my thoughts on why we're using tags instead of sub-categories)
  • An invite-only group for the Steering Committee (so the polls can be set correctly)

Process:

  • A topic is posted and tagged "community-topic" or whatever tag we like (I like the "mindshare" tag Fedora uses)
  • Discussion proceeds as it would in an Issue like this
  • A vote can be added using the poll feature
    • To preserve the two voting streams, we would add 2 polls, one restricted to the SC group
    • (option) Polls can be set to auto-close, so you don't have to remember
    • (option) We could also tag it with "active-vote" or similar, as we do here
  • Results summarised and acted on as usual

A custom search (you can save searches to your sidebar in Discourse, handy) could be used for active votes, things in progress, things completed, etc.

As for a timeline to cut over, I would suggest that at some point (after suitable experiments have been done to your satisfaction) we stop posting new issues to this repo and start using the forum for new discussions. I can then work on importing the historical stuff so we have the complete record, but that can be done in the background.

How does that sound? Steering Committee folks, I can reach out to you soon(tm) to get set up and comfortable as soon as the DNS is done.

@mariolenz
Copy link
Contributor

@GregSutcliffe That sounds good, but I'm afraid I need to get a feeling how all this really works. Maybe we should have two or three discussions and votes in the new forum once it's there before we decide. Of course, this would mean we're working with the new forum an GH in parallel for some (hopefully a short) time. But I'm not sure if a hard cut as an alternative is the better approach.

Not sure, though. I'm open to both approaches, just wanted to share my thoughts.

@GregSutcliffe
Copy link
Contributor Author

I hear where you're coming from @mariolenz. Duplication isn't ideal, I agree, but I have the SC members down for an "early access" phase, before we go live. So you can definitely try out what the voting process might look like (although you won't get a lot of votes, of course :P) and give us some feedback.

As an alternative (if acceptable), I'd be happy to do a live session or recording walking through how I see this working, so you can see it.

@acozine
Copy link
Contributor

acozine commented Jul 31, 2023

I can't fully imagine what this will look like or how it will work. As far as I understand it, it sounds okay, but I might have more feedback once we actually start using it.

@gotmax23
Copy link
Contributor

gotmax23 commented Aug 4, 2023

@GregSutcliffe and I spent a lot of time talking about this proposal at Flock. I'm on board, and I think it'll be a huge improvement in the way the Ansible project communicates. The current approach isn't great. Discussions are fragmented over several repositories. We (ab)use Github Issues and Discussions for discussions, votes, task tracking, and way too many other things. We don't have a proper place for async support questions. It's not a good user/community member experience. The forum will address many of these problems.

I'd be happy for the Steering Committee to help pioneer the new forum. I understand that AWX is also interested. I think creating a demo discussion or a screencast or something so folks can take a look is a good idea.

@briantist
Copy link

this looks good to me, I've been traveling and such and haven't had a lot of time so I have quite a backlog of things to catch up on, this looks good to me, it'll take some time to get used to I'm sure but it seems like it'll be an improvement, I'me specially looking forward to reducing my github notifications and having things be less fragmented

@GregSutcliffe
Copy link
Contributor Author

Thanks for the positive feedback folks - I'm anticipating getting you some logins very soon!

@mariolenz @acozine As promised, I found 20mins to go record a demo of how I think that process might look. We can iterate once you're onboard, of course, but for now take a look at https://www.youtube.com/watch?v=gBZrF9Rcm8k and give me your thoughts

@mariolenz
Copy link
Contributor

Thanks @GregSutcliffe! I think this looks really promising 😃

@cybette
Copy link
Member

cybette commented Sep 11, 2023

In case you haven't seen the announcement, the new Ansible Community Forum is live, and you can sign up here! 🚀

Check out the launch blog post, or just dive right in, and kick things off with a self intro!

@GregSutcliffe
Copy link
Contributor Author

GregSutcliffe commented Sep 13, 2023

As @cybette said, this forum is live and getting busier by the day - I'm very excited about starting to tackle many of the things we've identified in the community strategy! As ever with community work, we have to "show, not tell", so I'm looking for volunteers to move their workflow to the forum - they'll be the case studies for everyone else :)

But we can do that in a new topic - for now, I'm closing this one as completed. Thanks everyone!

@github-project-automation github-project-automation bot moved this from In Progress to Resolved in Community Topics TODO Sep 13, 2023
@GregSutcliffe GregSutcliffe added implemented and removed being_implemented This is currently being implemented labels Sep 13, 2023
@Andersson007
Copy link
Contributor

Thanks everyone!
Thanks @GregSutcliffe for initiating this epic and doing all that related hard work a much larger underlying part of which is not seen! The result is looking great!

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
No open projects
Status: Resolved
Development

No branches or pull requests