We're sorry but this page doesn't work properly without JavaScript enabled. Please enable it to continue.
Feedback

The next generation of contributors is not on IRC

00:00

Formal Metadata

Title
The next generation of contributors is not on IRC
Subtitle
Discussing communication channels for inclusive open source communities
Title of Series
Number of Parts
490
Author
License
CC Attribution 2.0 Belgium:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal purpose as long as the work is attributed to the author in the manner specified by the author or licensor.
Identifiers
Publisher
Release Date
Language

Content Metadata

Subject Area
Genre
Abstract
There is some combination of a turf war and a diaspora happening in the open source communities I participate in. There are synchronous and async channels galore. Every one of them has fans and haters with firmly held opinions on how it's the best or worst thing in the world. Let's take a step back and take a look at the landscape together. What are our communities searching for when they hop into communication channels? How do we meet new members where they are comfortable in order to be more welcoming? As a self-defined GitHub generation of open source enthusiast, I'd like to start a conversation from my personal experience and then jump into research on the options available to us today. I hope we can leave with a view of the world spanning across channels with a focus on our contributors. Topics to be discussed: -Defining new contributors - where are they coming from and why -Empathize with an inexperienced contributor trying to jump right in -Introduce the concept of "a third place" -The challenges of synchronous communication (IRC, Slack, Gitter, others) -Options to focus on asynchronous channels (Email, Discourse, others) -Understanding when you need which -A pitch for why IRC could be great with Matrix.org (Riot.im) -Bringing it back to the new contributor with specific examples -An optimistic conclusion of our collective efforts to improve
TelecommunicationGoodness of fitElectric generatorTablet computerLocal ringSlide ruleComa BerenicesAuthorizationText editorMultiplication signContent (media)Shared memoryOpen sourceComputer animation
Open sourceText editorOpen setStudent's t-testOpen sourceContent (media)CollaborationismLevel (video gaming)Universe (mathematics)Computer animation
Client (computing)Streaming mediaDegree (graph theory)Default (computer science)Basis <Mathematik>Open sourceMultiplication signExistenceLevel (video gaming)System administratorElectric generatorServer (computing)Right angleBitNeuroinformatikWeb pageFormal languageComputer scienceDisk read-and-write headMetropolitan area networkPoint (geometry)Computer animation
Open sourceMultiplication signData managementPoint (geometry)Game theoryNP-hardFocus (optics)Online helpAbsolute valueComputer animation
Open setFocus (optics)Open sourceTwitterCore dumpData conversionComputing platformWebsiteCodeMultiplication signComa BerenicesUltraviolet photoelectron spectroscopyOpen setComputer animation
Client (computing)Game theoryDefault (computer science)Set (mathematics)Open setSign (mathematics)MathematicsInclusion mapOrder (biology)SpacetimeComputer animation
Inclusion mapNumberPerspective (visual)Execution unitMathematicsOrder (biology)SpacetimeInclusion mapMereologyComputer animation
Hydraulic jumpOpen sourceComputer animation
CurveNumberSound effectForm (programming)Right angleLatent heatWindowWebsiteStandard deviationContext awarenessSpacetimeComputer animation
SpacetimeOnline chatGoogolMatrix (mathematics)SpacetimeOpen sourceSynchronizationStatisticsAxiom of choiceComputer animationDiagram
Figurate numberNoise (electronics)Moment (mathematics)Transport Layer SecurityDefault (computer science)QuicksortOpen sourceTwitterComputer animationDiagram
VideoconferencingOpen sourceMetropolitan area networkCopyright infringementArithmetic meanComputer animationDiagram
Computer configurationDefault (computer science)Mobile WebEmailSet (mathematics)Expected valueDependent and independent variablesDivisorTime zoneAnalytic continuationType theoryTelecommunicationWhiteboardShift operatorComputer configurationSign (mathematics)Analytic continuationComputing platformMoment (mathematics)Expected valueInclusion mapSingle-precision floating-point formatPrice indexMobile appMereologyDefault (computer science)Arithmetic meanSynchronizationComputer animation
Endliche ModelltheoriePivot elementOperator (mathematics)TheoryIdentity managementMoment (mathematics)2 (number)Goodness of fitArithmetic meanComputer animation
Regular graphGradientOperator (mathematics)TheoryOpen sourceBuildingRight angleControl flowComputer animation
SynchronizationGroup actionBuffer overflowProcess (computing)Connected spaceForm (programming)Computer programmingWave packetOpen sourceSynchronizationNewsletterComputing platformGroup actionMultiplication signStack (abstract data type)Power (physics)EmailInformationCircleBlogFluid staticsMereologyDefault (computer science)QuicksortTwitterAsynchronous communicationContext awarenessWeb pageNumberRow (database)InfinityOpen setCollaborationismCartesian coordinate systemRight angleBasis <Mathematik>Control flowInternetworkingData conversionLocal ringRoundness (object)Formal languageSpacetimePhysical lawMathematicsMusical ensembleService (economics)Axiom of choiceUltraviolet photoelectron spectroscopyProgramming languageDigital mediaBitBranch (computer science)Lattice (order)Instance (computer science)DataflowComputer animation
Point cloudLattice (order)BlogBlogBuildingElectronic mailing listOnline chatDefault (computer science)VideoconferencingDistribution (mathematics)BitYouTubeNewsletterSoftware frameworkDigital mediaElement (mathematics)DampingComputer animation
Event horizonSoftware frameworkSynchronizationNumberWeb syndicationSoftware bugNewsletterBuildingBitScaling (geometry)TwitterAsynchronous communicationTime zoneData structureCentralizer and normalizerLevel (video gaming)BlogUltraviolet photoelectron spectroscopyTelecommunicationData conversionSide channel attackComputer animation
Vector potentialInformation and communications technologyBuildingData conversionGame theoryLevel (video gaming)SoftwareSoftware maintenanceSelf-organizationProgramming languageDirection (geometry)Vector potentialField (computer science)Expected valueGoodness of fitWebsiteTelecommunicationShift operatorComputer animation
Information and communications technologyExpected valueOpen sourceTelecommunicationStandard deviationRight angleSynchronizationBitComputer animation
Event horizonBitRight angleSynchronizationAxiom of choiceOpen sourceMultiplication signComputer animation
Thread (computing)Category of beingSynchronizationAxiom of choiceMultiplication signExpected valueAbsolute valueBuffer overflowThermal conductivityData structureDefault (computer science)Web applicationReal-time operating systemStack (abstract data type)Form (programming)MereologyData conversionCodeLatent heatDisk read-and-write headElectronic mailing listEmailService (economics)Uniqueness quantificationMobile appDifferent (Kate Ryan album)TelecommunicationScheduling (computing)NumberLink (knot theory)Level (video gaming)Ocean currentStrategy gameUniform resource locatorModal logicCASE <Informatik>GoogolSpectrum (functional analysis)Directed graphWeightCommutatorAreaMathematical singularityData managementXML
Point cloudOpen sourceComputer animation
Transcript: English(auto-generated)
Good morning, good morning. I'm excited to talk to you about the next generation of contribution. It's a little tongue-in-cheek title, hopefully to get your attention and wake you up this morning on a bright Sunday after some lovely lambic beers all weekend. For those of you who would prefer to follow along if it's easier for you to read on a local tablet
or device, I've uploaded these slides on speaker deck slash MB Broberg. I also tweeted it out, so I'll give you a second to find that if you need to. But yeah, while I give that introduction, hi, I'm Matt. I'm a full-time technical editor for open source dot com. We're a really small team that produce a lot of content. I'd love
for all of you to consider being authors. If you are at this event, you absolutely have an open source story to share. I can tell you more about that. I also want to give a plug to Brandeis University in collaboration with the Open Source Institute, who is running a really interesting master's course on the business of open source. I'm
assuming you are a seasoned open source participant, while I am of the GitHub generation of open source. I'll tell you more of what that means. You could possibly, maybe not, recite the SFF for
freedoms off the top of your head. Anyone willing to do that right now? Okay, never mind. While I recently learned that OSI and FSF are different, I kind of definitely conflated them more than I'd like to admit. You think you've had a contribute before Git. I think that Git is basically Latin in technology. It's the only thing. It's the Langua Franca. So, anything before
that didn't exist. We're all just oral tradition. You're probably active on IRC. I'm active everywhere but IRC. And lastly, you care about your community, as do I. I think if we can all create communities where we care about each other and people feel welcome, we'll be on the same page. But I just figured I'd level set with you all. You knew where I was coming from.
Because I'm going to just jump right in and say, I don't get IRC. Every time I try to log into it, I end up getting into a bit of a tit for tat with name serve. I'm not quite sure who I'm talking to. I'm not logged into the right place. I feel a little like a wizard, which is kind of cool, because I'm a little behind on my sysadmin skills these days. But ultimately, I end
up seeing a stream of offensive spam and I'm confused as to what channel I'm in and what's going on. And that has led in the communities I participated in where IRC is a default channel, I'm always told to go check the manual, the friendly manual that will explain in great
detail how to use the tooling more appropriately. But I'm always left with the sense that I don't get it and I feel kind of ashamed about it. I mean, I've got a degree in computer science. Been in the tech industry for ten years after four years of IT work beforehand. And I don't say that to brag. It's actually out of embarrassment that like, oh, how can this
technology continue to elude me on a day-to-day basis when I have this foundation behind me? But I think it comes from what my point of origin was, that for me, open source started the day I made a GitHub user, a user account, and logged in to do something. And I wanted to participate for the first time. I was very excited,
pretty nervous about it. And I was using Homebrew on Mac, for those that know the package manager. And I opened my very first issue only eight years ago with a bunch of junk about why the package wasn't working for me and me being confused about it. And to my absolute surprise and delight, immediately I hear from these people who are really big names in that community,
in my stance. And they actually told me I didn't install Git correctly on Mac. It was a totally trivial issue. No one made me feel stupid at all, though. They immediately pointed me towards helpful documentation. And I felt like I had done something. Like somebody else has definitely
felt that silly going into the Homebrew community. And when they look through issues, they will find that path, ideally get to the same positive conclusion, and see the welcoming people along the way. And I love that experience. And it really set me up for the success towards as I slowly iterated towards an open source community and an open source career focus.
Because my pathway is all through proprietary. I started with a proprietary hardware vendor. I found communities that are surrounding proprietary technology that live on a proprietary platform of Twitter. And I eventually joined a proprietary code sharing site and found that to be really open source and fun to me. And I got into open core startups. That is
a different conversation. We can talk about whether that works or doesn't and the many ways in which it doesn't. And so on and so forth. Now I'm very much centered around open source communities as a focus of my career. I've got the joy of working at opensource.com to get those stories out further and to coach people through that experience. And I continue to learn about
why we obsess about licenses by coming to FOSM and by taking courses like I am. But my pathway is not the same as I know many others have gone through. That started with IRC just being a logical, simple thing. But for me, it's still this. Even though I understand where it comes from and I understand it had its place in time, I feel as if it's not as
inviting as that incredible GitHub issue that didn't shame me or make me feel stupid. Ultimately, whether that's a sign of my posture syndrome or not is between me and my therapist. But as somebody who's, as I like to say, on the easy setting of contribution in this world,
a concept taken from straight white male, the lowest difficulty setting there is, by John here. I understand I have already a bunch of easy ways in which I can be involved and not feel too ashamed of things when they don't go well. That said, if I can feel that awkward, I can definitely imagine other people who have a more difficult path towards open source,
who don't want to be as out there, will have more of a challenge. And also, I want to talk about this because I'm doing, as I continue to read a lot more about the inclusivity and diversity challenges in the technology space and try to inform myself.
While I don't feel ever informed enough to give a full lecture on it, I do know I need to start making changes in my own behavior in order to improve this for those that are going to be coming forward now that are in their teens and their 20s and their 30s or are people that are pivoting from other parts and other industries and want to participate. I do a lot of mentoring
on the side for people who are confused as to how they can get involved in technology. And I'm consistently asked the same question of where do I get involved? What do I do? How do I do this open source thing that all these companies are looking to hire for? And I can't, in good conscience, say jump on IRC and see how to get involved. It's confusing. And it
ultimately could make some people feel like they shouldn't be pivoting into technology, that they shouldn't be there. And quite honestly, it's not where their community is, the one that they're going to pursue, that they're going to feel welcome in. So, I think about how we can start to change that. And one of the talks that really influenced me recently is by KK, creator of Jenkins. He had an incredible talk at Monktoberfest
about that underrepresented people are underestimated. But he also brought up this amazing concept, thank you for Margaret for tweeting it so I could quote it, about the curb cutting principle. That if you think about cutting the curb so that people in
wheelchairs can go up it, it actually helps a number of other people along the way. It helps people with strollers or with heavy luggage bags or anyone with any form of walking disability, people who have sight difficulties. By creating an easier onramp for a specific target people, you have a halo effect. You end up positively impacting all these other people.
And I think about what we're doing as community leaders to do that for our early onboarding, for people who maybe don't, can't just quite get up that ledge right away. How do we make it easy from the beginning? We may have a greater impact than we even realize. So, to put it in some context, I understand when IRC came out and became the de facto
standard, it's because there's a lot of empty space around. It was IRC or nothing to communicate. I guess telnetting and reading each other's things is something I've read about as well. I'll just put that aside. I don't know it very well. If we fast forward to today, the stats I've been able to find is that IRC is hovering around 400,000 active users
in the last year or so. We look at some of the other synchronous communication channels that people are talking about. We've got Microsoft teams as much as people have to use that for work and don't necessarily love it. There's 13 million people on that. Slack, people love it. Open source communities hate it. 12 million users. Riot.im,
very impressive that they've grown to well over 11 million users. Google Chat, it's like slowly waning in the background, but at 4 million. And that's just synchronous communication channels and that's just recently. If we zoom out even further and think about the ways in which we interact with communities in the technology space, that's an interesting noise.
I'm going to keep talking while somebody figures that out. So, if we think about where communities are talking across the industry, you've got Twitter, which is my default place to conversate with community members at 126 million users. Telegram is way more massive than I ever realized at 200 million and a lot more open source communities are talking there.
Discord is humongous. Reddit is a complete beast when we think about it. Is that getting pretty distracting? True. All right. Jazz hands for a moment and I'll just leave this for your curiosity. Not that one. I touched the cables.
That's exciting. Electricity is strange, everybody. It's probably some sort of noise from the audio channel of the HDMI. Yeah. Yeah, I know. I definitely...
At Fosham, that does feel appropriate. Very gently. Yeah, yeah, yeah. Thank you. It's a video guy. That was amazing. Cool. Okay. So, there is a lot more competition.
There's a lot more places people are conversing about open source than ever before. And that starts to make that little dot of IRC in the middle look maybe less to be centric, even though it's center of the picture. It's definitely not the dominant place people
are talking now. Oh, man. I'm gonna stay open. So, just a quick side by side, by no means inclusive of everything that's important to setting up a healthy community, a healthy place for people to converse. We think about just the signup experience, the mobile access, the
inboard on the in app onboarding of users, accessibility options. Just comparing IRC to, yes, the hated, but often used Slack, it starts to look like, okay, I can understand why people aren't jumping on the platform that's existed for the longest. There are other options that are definitely maturing, but the default option is shifting, and I'd like us all to shift
with it. And quite honestly, one of the more important parts is why are we using synchronous communication? I am not always on, and I doubt you want to be, too. It's rarely the right place to start. So, I want to take a moment and talk about why, I mean, just to list five, I think we can go through a hundred. Each one of us has at least one. It requires always
on participation. There's this expectation that it sets a default of immediacy. There's no continuity of knowledge when you use synchronous communication. If I answer a question today, three days later, yes, the same one, you get the same question. It's often not a place that is building the type of community that we're trying to foster. Or maybe it is, but it's
not alone. There are other pieces to the puzzle. So, I'm going to pivot to talking about community channels and my theory of operation. It's a model that's worked for me. All models are wrong. Some are more helpful than others. This one is mine. Well, this one actually isn't to start. This is somebody else's. So, in the great good place, there's this
wonderful concept of your third place, where like traditionally your first place being home, where you have a certain sense of identity and purpose and meaning. Your second place being your work, which is in our culture is just as dominant, if not the dominant place that you live in.
And there is this magical third place that we're all searching for. It's a place where we feel comfortable and feel connected. It's where you relax in public, encounter familiar faces, and make new acquaintances. Take a moment. Think of some community you participate in. And doesn't it check all those boxes right away? That sense of feeling comfortable and
connected to other people? There are a bunch of other reasons that it's interesting. It's a great theory of operation. And I think we're all building third places as we build open source communities and places where our communities interact. So, to take that in mind, I kind of break it into this quadrant that works for me, where I think about the synchronous communication,
which I don't think is the greatest default, but it is fantastic for casual and high throughput conversations. It's the place of banter where you start to build some sort of connection. While asynchronous is really the definitive record of what is the right answer and what is the wrong answer, we all end up making these static web pages for things like this.
There are a bunch of other tools that are useful. There's also the power and importance of face-to-face connection. Many of us flew, drive, took a train to be here to make face-to-face connections with each other. No matter how much we work fully remotely, no matter how much we connect with each other, as much as I love that over the Internet experience, we still need this. There's something special about this space. Lastly, I think it's important to think
intentionally about your news channel. How are you feeding information and distributing that context to people that care about what you're doing? It's cathedral in the bazaar, like that you need some place where I'm being regularly updated with information so that I know I'm making an impact on what I'm doing. So, what are some default ones? Synchronous,
we've talked about. Asynchronous, you know, Google Groups, that's the logo for it that no one knows about. There's, GitHub is actually pretty decent at asynchronous communication. People kind of bend the way you use issues to be more about collaboration. Discourse is absolutely fantastic. Whether you like the creator or not, it's a really powerful
conversation and threading platform that's open source, and you can deploy yourself or use their service. Stack Overflow is another form of it, and they have their ability to branch off and use your own. Face-to-face, we all go to them. We're at a conference right now, user groups and local meetups are important. News, for better or worse, Twitter is where a lot of us hang out. It's certainly been my choice, and it's where I know a lot of you
from. But then there are an infinite number of newsletters and other places where we get our news. So, to see this in practice, I just want to give a couple examples. So, Mozilla recently did a huge renovation of how they communicate internally and externally with their community. They landed on Riot, which I think is really telling that it's a maturing technology.
There's great research, if you look up Mozilla's synchronous communication conversation, why they chose Riot. They also went to discourse for their asynchronous. So, if you join the Mozilla community, they have a whole platform you can jump on. They have incredible MozFest. And then their Mozilla blog is really, really detailed. They are always
pushing information out. And I think it's so interesting, they do a great job of having syndicated channels. So, they push it out to Twitter, they push it out to their newsletter subscribers. It's like a really tight way of staying connected to this broad and diverse open source community. If we look at Go, the Go programming language, for instance,
they defaulted to Slack. There are many, many thousands of people talking about Go on Slack on a regular basis. They use Google groups quite a bit, as well as GitHub. GitHub issues to communicate with each other for asynchronous. There's GopherCon, which is the unofficial official place to be. It's where people go year round. And Go meetups are all over the world.
And then they have the Go blog. But what's interesting about them, they have more of an unofficial presence on Twitter and email and newsletters. They have great podcasts and newsletters to distribute it out. Go times one from changelog, that's not an official part of the Go language, but it is an unofficial place that the community circles.
Last but not least, let's talk about Kubernetes, because everybody else is. They are also on Slack. And it's really interesting. Default channel is more GitHub. It's a lot GitHub centric, while the newsletter, excuse me, the discussion lists are a little bit of a back channel. While the face to face is really interesting, they do so many videos
online. So, they're using Zoom and they're using YouTube to extend that face to face. It doesn't quite substitute the in person, but because that community is getting so big, they've added this virtual element as well. I think video chats can be really powerful in that way in these distributed communities. And their news is just as deep, just as
distributed. People filling in the gaps that they don't. But the official channel is always their blog. So, if you're looking for some sane defaults, if you're building a community and you find this framework kind of useful, I'd say if you're starting from scratch, I'd really recommend not going with synchronous from the start and trying to build a place where
you answer questions for people. And you can create some dialogue amongst the frequent visitors. Start to get that sense of belonging building. And then once people really start to know each other and you need that side channel, you need that conversation, you can do that through synchronous. But wait until the time zones aren't a factor and that you have a sense
of culture already. Discourse is a great asynchronous communication channel. I'm really enjoying using it. It's highly customizable. It's relatively easy to run on your own. They have a very reasonable cost structure if you want to pay for it. If you're looking to do face to face from the start, look at Kubernetes way in which they do the community meetups.
They're really interesting ways to get people connected. I was on one recently with 40 people from around the world. We were all talking about the bugs that they had squashed that week and ways in which they made contributor experience a little easier. I can't talk about many communities that have that level of scale and that number of people that during the day are jumping in and talking to each other. And not all of them were paid to do it. There's a lot of
volunteers, a lot of people who are trying to grow their career. And then news, whether you love it or not, the centralization of Twitter is really effective. I look forward to understanding Mastodon a little bit more to see if that is a collaborative place. But I think it's going to be an and, not an or. And then newsletters are really powerful. It's a
great place to be if you're interested in running your own website, having a blog that then syndicates to those is really effective. So, that all matters because contribution matters. So, just to pivot back into the conversation of what are we all trying to do, we're trying to build communications of practice because the actual footage of people trying to recruit contributors is like a Hungry Hungry Hippos game. No idea if that reference works
internationally, but I love it anyway. It's a great game. Just to look at one of the hundreds of sites that try to say good first contributors, firstcontributors.github.io, these are just some of the amazing organizations who are desperate for new contribution. To give a shout out, Exorcism is one of the best places to learn a programming language and
it's run by brilliant people. All of these others are great too. But everyone is very interested in getting new contributions. So, clearly, there's a lot of demand, which means we need to meet people where their expectations are, not ask them to meet us where we already are. Because if we think about the contributor experience early on,
in the IRC only days, almost everyone who was contributing or who was talking about what they were doing was also contributing to something because it was one and the same. You had to have that level of skill. But now it's kind of shifted. The contributors is a very small peak in the potential contributor field. And if we think about it, there's like a little dot
that's ready to roll off in either direction of the actual maintainers of the software. Thank you. So, I just want to reinforce that communication channels are exceptionally important and they set an expectation. And we want that expectation to be something where people feel incredibly welcome and don't feel like they're being told to try harder and maybe one day they'll
be worthy of being an open source contributor. It's going to be multichannel. That's the new standard that everybody is using multiple channels. If you try to break it into this grid, I think it gets a little bit more sane. So, you don't have a half a dozen synchronous communication channels and no place for the right and wrong answers like a discourse. But lastly, I just want to
make a shout out to the idea that any place that is contributing to open source is an open source community. So, whether they're using Slack or otherwise, you may not like that choice, but it is not necessarily the wrong choice. We can try to grow people towards an all open source community and understand the nuances of it. But it's taken me eight years to get there and
I'm finally starting to get it and I'd like to grow that way. But I don't want to shame or make anyone else feel unwelcome because they're not where I am today. So, I hope we can all meet people where they are today and help them grow into being open source advocates and understand the nuance of it. I really thank you for your time and look forward to hearing more of your talks as well. Thanks.
That was super easy. So, distinction between async and synchronized. What I have experienced is that most time when
a community have an asynchronous community is that they demand that people install the app on the phone and use push notification. We then become a synchronized communication method anyway. And if you don't want to install the app, you more or less get frozen out. Okay. So, I'm hearing that the question is like is notifications in that sense that asynchronous
converts into synchronous in most cases? I completely understand what you're saying there. I think there is a level that all technology these days is trying to steal our attention all the time and trying to get us to turn notifications on and be as real time as possible. I think it's not a requirement. I'm part of about a dozen different discourse services right
now and I just kind of schedule out time. Well, I turned off notifications and I log into the web apps and go in there on my own time. So, I think it does take more mental effort than it should. I don't think it's a necessity to think of it that way.
And if you think about the experience, like let's say the same strategy where like I just logged in three days later and looked for updates. If I do that in a synchronous communication channel, I've got to scroll back infinitely and try to thread in my head the conversations that happened while in like a discourse or Stack Overflow experience, they're all spread out with Q&As in their own separate categories. So, more advocating for that structure as opposed to the
unstructured. If your goal is to get to a simple like yes no definitive answer, if your goal is to get people to banter with each other, like choose a synchronous channel, that is definitely the place to do it. Leslie, how am I doing on time? Oh, cool. You didn't mention mailing lists. I did not mention mailing lists. I would
highly recommend. So, I did mention Google lists, but I didn't give Mailman the respect it deserves. I'm on an infinite number. I prefer not to be, quite honestly, with all due respect. Discourse has a great built-in feature where you can use it like a multi-threaded mailing list.
So, I think it's a one-to-one replacement with a better user experience for those less familiar with it while also providing a Mailman-like experience mailing list. So, I'd love for a disagreement where we could learn a lot from it, but yeah, that's my current stance on it, especially for the expectations that there are today of just a full-fledged
friendly experience. I'd say discourse is a better choice to start. I've seen the hand up there. I don't really want to throw this. Hi. It's just in regards to dealing with actually setting up all these channels and
form of communication. As a community manager, for example, how would you install, perhaps, unique code of conduct for each of these channels, or would it be a blanket, all channels, how you interact with each other? So, for example, if it was this synchronous,
you would have to perhaps say no spamming, no doing X, Y, and Z, that kind of aspect. Yeah, absolutely. So, I'm hearing the question is that, like, do you have a per-channel code of conduct and per-channel documentation, or is it centralized? Firm believer, you have to have one URL to rule them all. That's kind of a different conversation, but by default,
your documentation should lead to one place and give as brief an overview as possible and then link to other things. So, I think a default code of conduct for across the spectrum, because you're all still participating in one community across the channels, is really important. And then, yes, there may be some specific nuance, like what's our
reticut versus how we use discourse, and those instructions can be in those different channels.