ansible-community / community-topics

[Moved to Ansible Forum] Discussions for Ansible Community Meetings
https://docs.ansible.com/ansible/devel/community/steering/community_steering_committee.html#community-topics-triage
GNU General Public License v3.0
35 stars 9 forks source link

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

Closed GregSutcliffe closed 1 year ago

GregSutcliffe commented 1 year ago

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 commented 1 year ago

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 commented 1 year ago

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)

maxamillion commented 1 year ago

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 commented 1 year ago

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 commented 1 year ago

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 commented 1 year ago

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 commented 1 year ago

+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 commented 1 year ago

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 commented 1 year ago

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 :stuck_out_tongue:)

(@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 :stuck_out_tongue:), 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 commented 1 year ago

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

Andersson007 commented 1 year ago

:+1:

oraNod commented 1 year ago

:+1:

GregSutcliffe commented 1 year ago

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 :+1: 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 commented 1 year ago

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

apple4ever commented 1 year ago

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 commented 1 year ago

@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 commented 1 year ago

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

felixfontein commented 1 year ago

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 commented 1 year ago

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 :stuck_out_tongue:), and so on.

GregSutcliffe commented 1 year ago

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 commented 1 year ago

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 commented 1 year ago

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

samccann commented 1 year ago

@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 commented 1 year ago

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.

GregSutcliffe commented 1 year ago

With #201 / #208 accepted, we now have the obvious place to host such an project-wide discussion site - so if that's what you were waiting for to vote on #211 then please go do so :)

GregSutcliffe commented 1 year ago

It occurs to me that folks may not have seen some good examples of Discourse in action. To that end, let me present the Fedora Strategy 2028 topic and the accompanying #strategy2028 tag that contains all the deep dives into the various areas of the strategy.

I'll also mention that I've being playing with the webhook support in Discourse - very powerful, very fine-grained. I've tested dropping specific topic/post updates into specific Matrix rooms, and the docs show posting things to GitHub, I'm sure other systems are equally do-able. So it should be easy to get people's attention wherever we need to.

webknjaz commented 1 year ago

I posted some suggestions regarding the news-for-maintainers repo at https://github.com/ansible-collections/news-for-maintainers/issues/39 and was forwarded here. Below, I include a bare copy of what I posted there, for history. This issue seems to be wider, though, as I was talking about the collections org. I won't be commenting much on the topic of Discourse vs. GitHub Discussions but I must say that we've had a Discourse instance in another community and most of the maintainers (myself included) stopped opening that separate site at some point. As was gone later, nobody even noticed. That said, I'm almost sure I wouldn't be joining another platform without a strong/compelling reason myself.


Observations

This repository's README calls out the possibility to use both Issues and Discussions but does not give any guidance as to when to use each. I feel like this contributes to the confusion in the decision making. Moreover, when one tries to create an issue, they are presented with a selection of issue templates that are derived from the org config and have nothing to do with the purpose of this repository — every one of them is asking for Ansible/collection versions/OS/STR/etc. I've clicked through a few of the old issues and haven't found any, following said templates. This means that every single issue creator was forced to clean up the template or notice that tiny Open a blank issue. link at the bottom. FWIW, it doesn't seem like the posts here do need any templates at all.

Issues represent problems/bugs/something to be worked on in the project. But this repository seems to exist for having discussions and announcements. Also, https://github.com/ansible-collections/news-for-maintainers/discussions/4#discussion-3845807 mentions that earlier expectation of using discussions over issues.

Problems

I think, the current setup causes more cognitive load, than it should.

Proposal

GregSutcliffe commented 1 year ago

Thanks @webknjaz. This is gonna be a long comment, but I think there's two things there worth discussing.

Firstly, you're right about the community confusion (I have been calling it fragmentation in my writing, but the effect is the same), and I see that writ large across the whole community. Even org-level GitHub Discussions cannot solve that (we have at least 4 GH orgs, plus a weatlh of people/content in other people's orgs, plus a user community who may not be on GitHub). Just the use of GitHub alone is fragmented enough - that's why I think we need to step away from it for anything project-wide.

I also completely agree with not having multiple ways to do the same thing - I don't shy away from that in my longer post, this will have to impact things like the mailing lists eventually. The repo you original posted to is another example - for news specifically, a forum category is (I would argue) a better way, and remains a single place to visit.

Secondly, you touch on the risk of what is sometimes called the "ghost town problem" - once a space of any kind dies out, it is near-impossible to resurrect. That's a risk with anything, and it's why I'm so keen to make sure we have a critical adoption mass to begin with. There's no reason why I couldn't have just built this 2 months ago on my own, and then started to persuade people to use it - but that drastically increases the risk of ghost-town-ness. I'd rather build consensus first, and get a large percentage of the community on-board as soon as possible after deployment.

However, this point worries me:

That said, I'm almost sure I wouldn't be joining another platform without a strong/compelling reason myself

I'll take that challenge to find you a compelling reason :)

More seriously - you are not alone, I know this is a controversial topic, and you are of course free to make your own decisions (and it's worth remembering that you can interact with Discourse entirely by e-mail, should you wish). But just like I did in the Matrix debate, I would ask anyone finding themselves in that position to think about this from the view of the whole community - users, devs, organisers, writers, evangelists - you can't fix structural issues at the personal level.

That's why I spend all this time building the case and getting the consensus - because once the debate is done, I hope we can accept that we (the community, as an ensemble) want this, and we find a way to make it work in the long term. I believe that is possible, and desirable, even if it takes a while.

Andersson007 commented 1 year ago

The vote ended with the following results:

The Community:

The Steering Committee:

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

mariolenz commented 1 year ago

@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 commented 1 year ago

@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 commented 1 year ago

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!

GregSutcliffe commented 1 year ago

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 commented 1 year ago

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 commented 1 year ago

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 commented 1 year ago

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 commented 1 year ago

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 commented 1 year ago

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 commented 1 year ago

So it's been quite the process to get this done (details available over a beverage :stuck_out_tongue:) 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! :tada:

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:

Process:

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 commented 1 year ago

@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 commented 1 year ago

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 commented 1 year ago

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 commented 1 year ago

@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 commented 1 year ago

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 commented 1 year ago

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 commented 1 year ago

Thanks @GregSutcliffe! I think this looks really promising 😃

cybette commented 1 year ago

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 commented 1 year ago

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!

Andersson007 commented 1 year ago

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!