diff --git a/posts/2021/07/08/ansible-and-matrix.md b/blog-archive/ansible-and-matrix.md similarity index 97% rename from posts/2021/07/08/ansible-and-matrix.md rename to blog-archive/ansible-and-matrix.md index d8eb931c..1706a27c 100644 --- a/posts/2021/07/08/ansible-and-matrix.md +++ b/blog-archive/ansible-and-matrix.md @@ -8,7 +8,7 @@ tags: matrix, irc, strategy, community type: text --- -# Building bridges - where the Ansible community needs to go next with chat +**Building bridges - where the Ansible community needs to go next with chat** This post is long, because I have a lot to cover. But I'm going to lead with the big picture, and if you want details, you can keep reading. Please note @@ -30,7 +30,7 @@ so (a) please keep the discussion civil, and (b) I *want* to hear those concerns so that we get this right. That said, "right" has to be for the *whole* community. -# Future Vision - where I'd like to get to in the next 6 months +## Future Vision - where I'd like to get to in the next 6 months I'm going to go into the specifics of Matrix & IRC later on, but let me start with [this quote from Thibault Martin over at @@ -114,7 +114,7 @@ In particular I'd like to experiment with the GitHub Matrix bot that already exists, but there's also Etherpads, Calendars, room conferencing, RSS, Travis bots, and we can always write our own. -# Justifying Matrix as the choice +## Justifying Matrix as the choice Before we talk about Matrix in more detail, I think it's helpful to review the issues I see with IRC. I want to stress again that IRC is *not* going away. It @@ -122,7 +122,7 @@ works for many, and I don't dispute that. But I'll refer back to that [survivor bias](https://en.wikipedia.org/wiki/Survivorship_bias#/media/File:Survivorship-bias.svg) - I no longer believe it works for *new* contributors joining us today. -## What's wrong with IRC? +### What's wrong with IRC? If you ask Mozilla that question, ["everything" is the answer](http://exple.tive.org/blarg/2019/04/26/synchronous-text/), but I don't @@ -140,7 +140,7 @@ registration. However, the rest of his points stand: However, whether that adds up to "IRC is bad" depends on your use case: -### I already use IRC, why should I stop? +#### I already use IRC, why should I stop? As I said, I think for existing IRC users it's fine. You don't need to stop if you're happy. You've already got your spam protection in place, you've already @@ -148,7 +148,7 @@ cast the Nickserv spells, and your organisations clearly permit IRC traffic. Carry on! But take a second, and read over that list of things again. How easy is it for someone unfamiliar with the world of IRC to do that? -### I'm new, should I use IRC? +#### I'm new, should I use IRC? No. It's not what people expect of a modern chat system - Nickserv is ... unintuitive (to be polite) compared to signup systems people encounter today, @@ -160,7 +160,7 @@ That's an *enormous* ask for people who aren't deeply embedded in the project. I find it unsurprising that IRC growth in general has been outpaced by other platforms, and we are no exception. -### I'm an organisation, should I set up on IRC? +#### I'm an organisation, should I set up on IRC? If I was setting up a new project *today*, no, I would not use IRC. For an organisation, three things come up. Firstly, access & recruitment - as we've @@ -179,7 +179,7 @@ but I do think it's time to start our journey into something more modern and welcoming to the newest of the community. That platform is Matrix - and I as said in the section header, we need to justify that... -# What does Matrix bring us? +## What does Matrix bring us? First we need to define what [Matrix](https://matrix.org) *is*, because I see this getting conflated all the time. Matrix is a *protocol* for real-time @@ -191,7 +191,7 @@ not in scope here. Those interested may want to look at [the clients page](https://matrix.org/clients), there are *many* options, from full web UI to a plugin for WeeChat. -## Matrix for the old IRC user +### Matrix for the old IRC user I'm assuming here that this user *wants* to try a Matrix account - those who wish to remain on IRC can do so. If so, well, little changes really. Matrix can @@ -202,7 +202,7 @@ on some IRC networks (Libera and OFTC to name two). You'll get persistence for free (no need to run a bouncer), and you can continue largely as normal (this has been my workflow for the last 4 years). -## Matrix for the new user +### Matrix for the new user I've already spoken about new-user expectations, so you'd expect that Matrix is similar compared to the likes of Slack etc. All the features you'd expect @@ -218,14 +218,14 @@ In either case, it's worth reading this comparison of [Matrix vs Email](https://blog.ergaster.org/post/20210602-matrix-for-im/) as many of the concepts of email carry over. -## Matrix for the organisation +### Matrix for the organisation OK, this is the big one - what does Matrix mean for *the Ansible community* as a whole? I'm going to spend a bit more time on this one, because we're all familiar with chatting, but perhaps these organisational points are a bit more nuanced. -### Access and recruitment +#### Access and recruitment As we've said, Matrix supports the feature set that users have come to expect from modern chat. It's no surprise that Ansible would like to grow its @@ -250,7 +250,7 @@ this is indeed the right channel to join and ask their question - it's hard to make the barrier lower than that. I have enabled this in [a small working group room](https://matrix.to/#/#jboss-wg:ansible.im) if anyone wishes to try it. -### Safety and conduct +#### Safety and conduct Matrix has good tooling for moderation and conduct. Unlike IRC, there's no such thing as an unauthenticated Matrix user (there are guest users but that's not @@ -277,7 +277,7 @@ deeper, but I don't want to go on forever. I'll link to [this piece](http://exple.tive.org/blarg/2019/12/19/over-the-line/) for some thoughts from Mozilla on Matrix's tooling around CoC enforcement. -### Ownership +#### Ownership What does the name of a project mean? When a person emails from a work account, what values do they represent? When you join the chat room of a group, who are @@ -312,14 +312,14 @@ should have the same gravitas as a project email address. There are some decisions to be made about how to hand these accounts out (and how we take them back, if need be) but I'll cover that later. -# How do we get there? a.k.a THE PLAN +## How do we get there? a.k.a THE PLAN OK, you have the vision, the concerns, the ways in which Matrix should improve our situation. How do we get there though? There's a few things to do, some of which are already in motion (because they're non-binding) and others need us to collectively agree to implement them. -## Homeservers +### Homeservers My notes on sovereignty and domain ownership rest on having our own homeserver. We could self-host this, however we aren't well set up for doing our own ops, @@ -345,7 +345,7 @@ for user accounts (`ansible.im`). These are both live as of 2021-06-24, although the ansible.com instance is not yet federating while we work out things with the DNS. -## User experience +### User experience I'm looking to https://chat.mozilla.org for inspiration here - clearly displayed expectations of the user, links to the coduct pages, and so on. If @@ -371,7 +371,7 @@ right now) and I'm meeting with Element in the coming weeks to give feedback on Spaces in general, so let me know how you find that if you are in the Spaces beta. -## Accounts +### Accounts This is one area where we need to decide what to do. As we've discussed, a Matrix account is akin to an email, and we don't just give out Ansible email @@ -426,7 +426,7 @@ One day, I'd love to have open registration for our community - but until we have something to tie it to (such as Fedora and Mozilla do) then I think the concerns above outweigh the benefits. We'll get there :) -## Interaction with IRC +### Interaction with IRC Again I will reinforce that we have no plans to stop using IRC. Inevitably though, some of the richness of a more modern system will be lost on IRC, and @@ -438,7 +438,7 @@ we're open to tuning the behaviour of the bridge in our rooms regarding edits and long lines if that becomes a significant issue, and so on. In short, I do not want IRC users feeling ignored - we should discuss issues as they arise. -# Let's roll +## Let's roll This is a step change for us, but a needed one (in my opinion). As a community, I think we need to ratify two things: diff --git a/posts/2023/02/24/2023-02-24-ansible_community_strategy_2023.md b/blog-archive/ansible-community-strategy-2023.md similarity index 99% rename from posts/2023/02/24/2023-02-24-ansible_community_strategy_2023.md rename to blog-archive/ansible-community-strategy-2023.md index 5a37211b..981a7c1b 100644 --- a/posts/2023/02/24/2023-02-24-ansible_community_strategy_2023.md +++ b/blog-archive/ansible-community-strategy-2023.md @@ -2,13 +2,13 @@ title: Ansible Community Strategy 2023 author: Greg Sutcliffe date: 2023-02-24 14:00:00 -slug: ansible_community_strategy_2023 +slug: ansible-community-strategy-2023 category: community-team tags: forum, website, strategy, community, discourse, dns type: text --- -In the [last article](/2023/02/24/ansible-state-of-the-community-2023) +In the [last article](/blog/ansible-state-of-the-community-2023) we covered metrics describing the community today, as well as some reasoning into why that might be. In this article, I'll lay out my view of how to go about fixing it. @@ -166,7 +166,7 @@ the de-facto standard for async discusion. Rather than try to list features, I'll outline **some** (this is not exhaustive) of the things Discourse could help with, and then I'll tackle some -of the criticisms I think will come up. +of the criticisms I think will come up. ### A new generation of users, but existing users too @@ -340,7 +340,7 @@ languages better (a category each perhaps? as discussed above, they're easy to make), we can write modify the CSS/themes, and we'll be providing a single place to access things that works - while a ML might work with a screen reader, does GitHub? Does ansible.com? Does *trying* to find the right place to join -in? +in? Since I *don't need accessiblity* I'm not sure what else is needed, but I'm happy to learn, please let me know. diff --git a/posts/2021/07/20/matrix-and-irc-size-and-stability.md b/blog-archive/matrix-and-irc-size-and-stability.md similarity index 91% rename from posts/2021/07/20/matrix-and-irc-size-and-stability.md rename to blog-archive/matrix-and-irc-size-and-stability.md index d5557fe9..66cb3d4a 100644 --- a/posts/2021/07/20/matrix-and-irc-size-and-stability.md +++ b/blog-archive/matrix-and-irc-size-and-stability.md @@ -1,5 +1,5 @@ --- -title: Matrix & IRC | Size & Stability +title: Matrix & IRC | Size & Stability author: Greg Sutcliffe date: 2021-07-20 13:00:00 UTC slug: matrix-irc-size-stability @@ -8,14 +8,10 @@ tags: matrix, irc, strategy, community type: text --- -# Matrix & IRC | Size & Stability - -Over the last few days since I posted my thoughts on [Ansible & -Matrix](/2021/07/08/ansible_and_matrix), I been getting some really good +Over the last few days since I posted my thoughts on +[Ansible & Matrix](/blog/ansible-and-matrix), I been getting some really good questions and comments - thank you all! - - Two themes have come up that go well together for a data-laden blog post, and they are: @@ -35,18 +31,18 @@ OK, for this we have some decent data sources. Let's tackle IRC first. The best data source I know of is https://netsplit.de/networks/top10.php which gives us an idea of the change in users over time. Here's a sample: -![Netsplit.de 2021](/images/posts/2021-08-20-matrix-irc-size-stability/netsplitde2021.png) +![Netsplit.de 2021](/images/posts/archive/2021-08-20-matrix-irc-size-stability/netsplitde2021.png) Sadly the graphs are premade images/posts, so we dont have the raw data, but roughly I'd say that in July 2021, those ten add up to ~180k users (Libera itself is at ~50-55k). But Netsplit has historical data: -![Netsplit.de 2016](/images/posts/2021-08-20-matrix-irc-size-stability/netsplitde2016.png) +![Netsplit.de 2016](/images/posts/archive/2021-08-20-matrix-irc-size-stability/netsplitde2016.png) That's 2016, and here it adds up to ~250k with Freenode at 90k. Let's do one more: -![Netsplit.de 2011](/images/posts/2021-08-20-matrix-irc-size-stability/netsplitde2011.png) +![Netsplit.de 2011](/images/posts/archive/2021-08-20-matrix-irc-size-stability/netsplitde2011.png) Going back another 5 years to 2011, and the numbers are even higher - 2021 is just a fraction of what 2011 was. I spent some time going through other years, @@ -58,7 +54,7 @@ rightly so, in my view). But for completeness, lets take a quick look. There's a lot of "corporations banging their own drum" in this space, but I did find this graph: -![https://slack.com/blog/news/slack-has-10-million-daily-active-users](/images/posts/2021-08-20-matrix-irc-size-stability/slack.png) +![https://slack.com/blog/news/slack-has-10-million-daily-active-users](/images/posts/archive/2021-08-20-matrix-irc-size-stability/slack.png) I'm struggling to get anything newer, but 10 million in 2019 is certainly higher now. Discord claims to be 150 million (https://discord.com/company). @@ -76,7 +72,7 @@ Broberg](https://speakerdeck.com/mbbroberg/the-next-generation-of-open-source-co puts Element at 18 million (and Slack at 44 million, phew), and while I don't know where Matt sourced the numbers, they seem pretty high to me. -![Matt Broberg](/images/posts/2021-08-20-matrix-irc-size-stability/broberg.png) +![Matt Broberg](/images/posts/archive/2021-08-20-matrix-irc-size-stability/broberg.png) Maybe we can try to get our own value. There are (to my knowledge) two "traveller bots" in Matrix, who's job is to join any public room they see @@ -157,7 +153,7 @@ time. So, how common is that? I asked my colleagues with long IRC logs to grep for netsplits, and here's what we got: -![Disconnect stats](/images/posts/2021-08-20-matrix-irc-size-stability/graphs.png) +![Disconnect stats](/images/posts/archive/2021-08-20-matrix-irc-size-stability/graphs.png) (I've added in a simple guess for total-affected-users here, picking 7% of the room membership (today) as the number of affected users and just multiplying it diff --git a/posts/2023/02/24/2023-02-24-state_of_the_community_2023.md b/blog-archive/state-of-the-community-2023.md similarity index 94% rename from posts/2023/02/24/2023-02-24-state_of_the_community_2023.md rename to blog-archive/state-of-the-community-2023.md index 876aabe3..636f07c6 100644 --- a/posts/2023/02/24/2023-02-24-state_of_the_community_2023.md +++ b/blog-archive/state-of-the-community-2023.md @@ -26,7 +26,7 @@ In *this* post I'll lay out where we are today - if you already watched [my talk on this from CfgMgmtCamp 2023](https://www.youtube.com/watch?v=B-AODeqjvss) then you can probably skip this one, as it covers the same topic. In the [second -one](/blog/2023/02/24/ansible_community_strategy_2023) +one](/blog/ansible-community-strategy-2023) I'll make the case for the website & forum. ## The state of the community today @@ -53,16 +53,20 @@ the trend is real. So, lets look at four such metrics: Visits to docs.ansible.com -![](/images/posts/2023-02-24-ansible-state-of-the-community/VaJS8bS.png) + +![graph](/images/posts/archive/2023-02-24-ansible-state-of-the-community/VaJS8bS.png) Comments on reddit.com/r/ansible -![](/images/posts/2023-02-24-ansible-state-of-the-community/nO3GDZQ.png) + +![graph](/images/posts/archive/2023-02-24-ansible-state-of-the-community/nO3GDZQ.png) Questions tagged `ansible` on StackOverflow -![](/images/posts/2023-02-24-ansible-state-of-the-community/JusWgNn.png) + +![graph](/images/posts/archive/2023-02-24-ansible-state-of-the-community/JusWgNn.png) Posts to the `ansible-project` mailing list -![](/images/posts/2023-02-24-ansible-state-of-the-community/ABIOImR.png) + +![graph](/images/posts/archive/2023-02-24-ansible-state-of-the-community/ABIOImR.png) These graphs worry me. Sure, half-a-million hits per month on the docs is great, but none of these are positive trends - Docs is flat, and the other 3 @@ -86,16 +90,19 @@ since much of my work is in other spaces at the moment. So, how many **active contributors** do we have? I index ~500 repos that are relevant to Ansible, and this is the result: -![](/images/posts/2023-02-24-ansible-state-of-the-community/h4wM7dE.png) + +![graph](/images/posts/archive/2023-02-24-ansible-state-of-the-community/h4wM7dE.png) I cannot stress enough how **huge** 850 highy-active contributors is! It blows my mind every time I look at this dataset. But again, it's lower than it was a year ago. We could also look at a few other subsets... here we just look at all the Collections repos that go into the full `ansible` package: -![](/images/posts/2023-02-24-ansible-state-of-the-community/zjamo9R.png) + +![graph](/images/posts/archive/2023-02-24-ansible-state-of-the-community/zjamo9R.png) Same story. Here's *just* `ansible/ansible`: -![](/images/posts/2023-02-24-ansible-state-of-the-community/4VJ1y1O.png) + +![graph](/images/posts/archive/2023-02-24-ansible-state-of-the-community/4VJ1y1O.png) Same again. I could show you more, but across most of the project, this pattern repeats - of all the sections I checked, only DevTools was increasing as of Jan @@ -105,7 +112,8 @@ Contribution is not all about GitHub though. What about discussion elsewhere? We've already shown a plot for the mailing list, but what about chat? **Matrix Users per Day, smoothed for weekly variation** -![](/images/posts/2023-02-24-ansible-state-of-the-community//UoMfYcq.png) + +![graph](/images/posts/archive/2023-02-24-ansible-state-of-the-community//UoMfYcq.png) This one has one piece of good news (for me anyway!) - Matrix use is growing, and has been all year (in fact 60% of our daily users in chat are coming from @@ -114,8 +122,9 @@ Matrix). That's a win for my previous big proposal. But IRC is declining, and declining. One last one - meetups. This is no surprise given the pandemic, but it shows -the same trend: -![](/images/posts/2023-02-24-ansible-state-of-the-community/t4yECHz.png) +the same trend: + +![graph](/images/posts/archive/2023-02-24-ansible-state-of-the-community/t4yECHz.png) ## Taking stock diff --git a/images/posts/2021-08-20-matrix-irc-size-stability/broberg.png b/images/posts/archive/2021-08-20-matrix-irc-size-stability/broberg.png similarity index 100% rename from images/posts/2021-08-20-matrix-irc-size-stability/broberg.png rename to images/posts/archive/2021-08-20-matrix-irc-size-stability/broberg.png diff --git a/images/posts/2021-08-20-matrix-irc-size-stability/graphs.png b/images/posts/archive/2021-08-20-matrix-irc-size-stability/graphs.png similarity index 100% rename from images/posts/2021-08-20-matrix-irc-size-stability/graphs.png rename to images/posts/archive/2021-08-20-matrix-irc-size-stability/graphs.png diff --git a/images/posts/2021-08-20-matrix-irc-size-stability/netsplitde2011.png b/images/posts/archive/2021-08-20-matrix-irc-size-stability/netsplitde2011.png similarity index 100% rename from images/posts/2021-08-20-matrix-irc-size-stability/netsplitde2011.png rename to images/posts/archive/2021-08-20-matrix-irc-size-stability/netsplitde2011.png diff --git a/images/posts/2021-08-20-matrix-irc-size-stability/netsplitde2016.png b/images/posts/archive/2021-08-20-matrix-irc-size-stability/netsplitde2016.png similarity index 100% rename from images/posts/2021-08-20-matrix-irc-size-stability/netsplitde2016.png rename to images/posts/archive/2021-08-20-matrix-irc-size-stability/netsplitde2016.png diff --git a/images/posts/2021-08-20-matrix-irc-size-stability/netsplitde2021.png b/images/posts/archive/2021-08-20-matrix-irc-size-stability/netsplitde2021.png similarity index 100% rename from images/posts/2021-08-20-matrix-irc-size-stability/netsplitde2021.png rename to images/posts/archive/2021-08-20-matrix-irc-size-stability/netsplitde2021.png diff --git a/images/posts/2021-08-20-matrix-irc-size-stability/slack.png b/images/posts/archive/2021-08-20-matrix-irc-size-stability/slack.png similarity index 100% rename from images/posts/2021-08-20-matrix-irc-size-stability/slack.png rename to images/posts/archive/2021-08-20-matrix-irc-size-stability/slack.png diff --git a/images/posts/2023-02-24-ansible-state-of-the-community/4VJ1y1O.png b/images/posts/archive/2023-02-24-ansible-state-of-the-community/4VJ1y1O.png similarity index 100% rename from images/posts/2023-02-24-ansible-state-of-the-community/4VJ1y1O.png rename to images/posts/archive/2023-02-24-ansible-state-of-the-community/4VJ1y1O.png diff --git a/images/posts/2023-02-24-ansible-state-of-the-community/ABIOImR.png b/images/posts/archive/2023-02-24-ansible-state-of-the-community/ABIOImR.png similarity index 100% rename from images/posts/2023-02-24-ansible-state-of-the-community/ABIOImR.png rename to images/posts/archive/2023-02-24-ansible-state-of-the-community/ABIOImR.png diff --git a/images/posts/2023-02-24-ansible-state-of-the-community/JusWgNn.png b/images/posts/archive/2023-02-24-ansible-state-of-the-community/JusWgNn.png similarity index 100% rename from images/posts/2023-02-24-ansible-state-of-the-community/JusWgNn.png rename to images/posts/archive/2023-02-24-ansible-state-of-the-community/JusWgNn.png diff --git a/images/posts/2023-02-24-ansible-state-of-the-community/UoMfYcq.png b/images/posts/archive/2023-02-24-ansible-state-of-the-community/UoMfYcq.png similarity index 100% rename from images/posts/2023-02-24-ansible-state-of-the-community/UoMfYcq.png rename to images/posts/archive/2023-02-24-ansible-state-of-the-community/UoMfYcq.png diff --git a/images/posts/2023-02-24-ansible-state-of-the-community/VaJS8bS.png b/images/posts/archive/2023-02-24-ansible-state-of-the-community/VaJS8bS.png similarity index 100% rename from images/posts/2023-02-24-ansible-state-of-the-community/VaJS8bS.png rename to images/posts/archive/2023-02-24-ansible-state-of-the-community/VaJS8bS.png diff --git a/images/posts/2023-02-24-ansible-state-of-the-community/h4wM7dE.png b/images/posts/archive/2023-02-24-ansible-state-of-the-community/h4wM7dE.png similarity index 100% rename from images/posts/2023-02-24-ansible-state-of-the-community/h4wM7dE.png rename to images/posts/archive/2023-02-24-ansible-state-of-the-community/h4wM7dE.png diff --git a/images/posts/2023-02-24-ansible-state-of-the-community/nO3GDZQ.png b/images/posts/archive/2023-02-24-ansible-state-of-the-community/nO3GDZQ.png similarity index 100% rename from images/posts/2023-02-24-ansible-state-of-the-community/nO3GDZQ.png rename to images/posts/archive/2023-02-24-ansible-state-of-the-community/nO3GDZQ.png diff --git a/images/posts/2023-02-24-ansible-state-of-the-community/t4yECHz.png b/images/posts/archive/2023-02-24-ansible-state-of-the-community/t4yECHz.png similarity index 100% rename from images/posts/2023-02-24-ansible-state-of-the-community/t4yECHz.png rename to images/posts/archive/2023-02-24-ansible-state-of-the-community/t4yECHz.png diff --git a/images/posts/2023-02-24-ansible-state-of-the-community/zjamo9R.png b/images/posts/archive/2023-02-24-ansible-state-of-the-community/zjamo9R.png similarity index 100% rename from images/posts/2023-02-24-ansible-state-of-the-community/zjamo9R.png rename to images/posts/archive/2023-02-24-ansible-state-of-the-community/zjamo9R.png