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

How you write matters in open source

00:00

Formal Metadata

Title
How you write matters in open source
Title of Series
Number of Parts
43
Author
License
CC Attribution 3.0 Unported:
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
Form follows function in writing: you compose a postcard to your Gran in a particular voice, attorneys draft contracts using specialized terms and grammatical structures, marketing pros formulate content with specific language to sell products, and you probably should write in a distinct way when the topic is open source. In this session, Kyle will go over some unique writing challenges presented by open source projects and how to overcome them to be inclusive and accurate in your communication. This session will dive into how seemingly innocuous terms and grammatical structures embed meaning that may be sending subtle, unintended messages. Additionally, time will be spent discussing how to select and use style guides to concretely establish a consistent voice and approach for both general writing and technical documentation. In this talk, you'll learn about: * Understanding the types of open source writing and audiences * Linguistic code switching * How writing about open source software differs from writing about other software & services * Owning your project’s “voice” * Practical grammar and writing * Problems around anthropomorphizing * Ambiguous plural pronouns and unintended dominance * Picking the grammatical person for your project * Ensuring inclusive terminology * Voice and style guide shopping (and building) * Providing good writing feedback in GitHub
Context awarenessCodeBitOpen sourceArithmetic progressionTelecommunicationPresentation of a groupMusical ensembleForm (programming)Projective planeComputer animationXMLLecture/Conference
SoftwareDigital photographyProjective planeTwitterBlogPresentation of a groupSoftware developerNeuroinformatikDistribution (mathematics)Open sourceMereologyPoint (geometry)WordIdeal (ethics)Lecture/Conference
Projective planeAnalytic continuationOpen sourceOpen setNumberLecture/Conference
Open sourceProjective planeNumberOpen setPoint (geometry)FeedbackLecture/Conference
CodeOpen setWritingLogicProjective planeBitSource codeOpen sourceTelecommunicationMultiplication signVirtual machinePerformance appraisalInformation securityGoodness of fitLecture/Conference
TelecommunicationOpen sourceProjective planeMultiplication signTelecommunicationGoodness of fitCodeOpen sourceQuicksortRight angleWebsiteWritingAbstractionDifferent (Kate Ryan album)SoftwareDirection (geometry)BlogSource codeLecture/ConferenceProgram flowchart
WritingOpen sourceSoftwareData structureService (economics)QuicksortLecture/Conference
Open setIntelligent NetworkSoftwareData structureProjective planeDifferent (Kate Ryan album)Open sourceService (economics)Control flowWeb serviceMixed realitySound effectLecture/Conference
SoftwareLatent heatTerm (mathematics)Service (economics)Open sourceType theoryDifferent (Kate Ryan album)Limit (category theory)Sound effectWritingBitLecture/Conference
View (database)Point (geometry)SoftwareMereologyMixed realityProjective planeDataflowDisk read-and-write headLecture/Conference
WritingProjective planeBitProduct (business)Figurate numberFamilyBlogAssociative propertyRight angleElectronic program guideSimilarity (geometry)PressureCollaborationismLecture/Conference
Right angleElectronic program guideDifferent (Kate Ryan album)PressureProjective planeSelf-organizationSimilarity (geometry)Lecture/Conference
Exception handlingPoint (geometry)WeightComplex (psychology)Electronic mailing listElectronic program guideBookmark (World Wide Web)Right angleBitLecture/Conference
Self-organizationElectronic program guideMatching (graph theory)WritingCodeCategory of beingElectronic mailing listThermal conductivityTerm (mathematics)WordProjective planeInclusion mapContext awarenessView (database)NumberDifferent (Kate Ryan album)Type theoryPoint (geometry)CASE <Informatik>Formal languageLecture/Conference
CodeTerm (mathematics)Inclusion mapPersonal digital assistantInteractive televisionMereologyContext awarenessTerm (mathematics)Standard deviationProjective planeLecture/Conference
FeedbackMereologyData conversionElectronic program guideInclusion mapProjective planeOpen sourceTelecommunicationMultiplication signType theoryLecture/Conference
TelecommunicationFeedbackElectronic program guideLecture/Conference
Software maintenanceFormal languageBlogFormal grammarCASE <Informatik>Sheaf (mathematics)Exterior algebraProjective planeWordStatement (computer science)Point (geometry)Context awarenessMultiplication signWebsiteEntire functionMereologyComputer animation
Set (mathematics)Statement (computer science)Projective planeSoftware maintenanceMereologyInformation securitySoftware testingLeakSemiconductor memoryDegree (graph theory)Lecture/Conference
Projective planeSlide ruleObject (grammar)Game controllerBlogRight anglePlanningLecture/Conference
GeometryProjective planePoint (geometry)Auditory maskingMultiplication signMass
WebsitePoint (geometry)Projective planeArithmetic meanLattice (order)WebsiteIdentifiabilitySound effectContext awarenessDifferent (Kate Ryan album)Information overloadDegree (graph theory)Statement (computer science)Term (mathematics)Open sourceMultiplication signFormal languageDigitizingSet (mathematics)Web pageRevision controlLecture/ConferenceXMLUML
Web pageMultiplication signDifferent (Kate Ryan album)Variety (linguistics)Context awarenessTerm (mathematics)Projective planeBitContent (media)Open sourceFitness functionFormal languageWritingWordLecture/Conference
Projective planeSoftware maintenanceWritingElectronic program guideContent (media)InterprozesskommunikationTelecommunicationLecture/Conference
Projective planeSpeech synthesisLatent heatBitDecision theoryLecture/ConferenceMeeting/Interview
Speech synthesisProjective planePerspective (visual)Presentation of a groupPosition operatorLecture/Conference
Open setMultiplication signView (database)Point (geometry)Lecture/Conference
Right angleProjective planeRevision controlOpen sourceWordLecture/Conference
Formal languageWordLine (geometry)Right angleFraction (mathematics)Lecture/Conference
Formal languageFraction (mathematics)Multiplication signContext awarenessWordLecture/Conference
Projective planeTerm (mathematics)Different (Kate Ryan album)WordArithmetic meanLink (knot theory)QuicksortContext awarenessCoefficient of determinationGodPoint (geometry)Meeting/InterviewLecture/Conference
Multiplication signWritingQuicksortFreewareEscape characterBitProjective planeInformationMeeting/InterviewLecture/Conference
FeedbackProjective planeArithmetic meanLecture/Conference
Musical ensembleConnected spaceLecture/Conference
Transcript: English(auto-generated)
Hi, I'm Kyle. I work for the Bottle Rocket project at AWS, and I'm going to talk to you a little about writing in open source, not necessarily writing code, but human communication in the written form.
So, basically, what I'm going to go over is the background and context of this presentation, some overarching ideas, and then we'll do kind of the practical lessons learned, and that'll be kind of interactive, so I'll probably be asking you to kind of raise your hands or say something towards the end of the presentation. So, just before we begin, I will tell you a little bit that writing and people are always
works in progress. I say that because you might look at some of the things that I've done or some of the words that I say, and you say, well, that's not exactly what you are expousing here in this presentation, and that's okay. We're all developing and trying to trend towards that ideal that you want to get to, and I think that is especially pertinent in writing,
especially when we're doing things in open source where we can always make changes, so I do want to get that out of the way, but my personal history in this, I've been writing software as long as I can remember. There's photos of me as a tiny kid like in front of a computer, and then I started writing software at some point as a kid,
and I've been doing it ever since. How I got involved in kind of this part of technology is interesting. About 15 years ago, I started writing blog posts because, when I didn't understand something, and I couldn't find anybody else who had written about it, I wrote something about it. Eventually, I started writing everything that I figured out, and a particular
piece of software said that's really great. We would like to give you money for this, and I said that's a thing? Really? Someone will pay you to write about stuff? So that kind of put me on this road to getting me to be a developer advocate. So, with that, I now work for the bottle rocket project which is a container optimised Linux
distribution, so if you want to run something for Kubernetes, you can use that in your worker nodes. I won't get into it but you can see our nice logo on the side here. Where this project and this narrative starts is on the previous project that I worked on. I've worked at US for a number of years, and I worked on the open search project. Their booth is out there. You should go out and talk to them. They're great people.
I was there when it started, and open search was kind of interesting because it was born out of a continuation, a fork of another project to keep it open source. It was really interesting because that was when it was at the centre of some tech news. So, the open search project and
what became that was something that everybody was writing about for a number of weeks. My role in that project really was to talk about what was happening because at that point, it hadn't become a fully licensed open source project. It was something that was an idea, and I got feedback about how we were writing about it. Now, we had always had the intent
to make it open source, and then I had people come to me and say, we really don't like the way you're talking about this open source project. I had to do some kind of self-evaluation and understand why. I think the intentions were great, but then on top of that, what we've done is taken what I learned in the open search project and now I work on the bottle rocket project and we've applied that in a more systematic way. I want to tell
you my experiences about that and my opinions on it. Hopefully, you can use them to help you write better in open source and write in a way that is more inclusive. So, let's talk a little bit about open source and what it means as far as writing. Now, if you were to create a magical weighing machine and took all the effort that you would have
in any given open source project, you might be surprised by what time is spent on. My intention is to say that time is actually spent more on like writing and communicating with other humans than it is actually on source code. When you think of this, you think about documentation, but that is the tip of the iceberg. You have things like
pull requests or merge requests where you're describing something. You have things like issues where a user is describing something they found or maybe a security issue. You have code comments which are in the source code but they're human communication that's written, not logic, so that's something that takes a lot of time, and good projects have
lots of code comments. Policies have to be written, and those take an inordinate amount of time to get right and a lot of communication back and forth. You have things like your project site where you're talking about things in the project. You have things like blog posts which take a lot of time to also put together where you're describing maybe uses
of things. You have things like talks where you have to write abstracts like I did for this or the talk itself. You have release notes where everybody is every time you release software, you're describing what is in that, and then you have things like design documents that take a huge amount of time to describe the technical direction of things. If you take all these, and this is not even there's much more, you're going to start realising that the
source code is that's a considerable amount of time but there's also a huge amount of time that goes into the written communication. So, with that, you have to consider what is going on with that. Functionally, writing in open source is different. Marketing copy will not
fly in open source. If you've ever looked at something and you go, wow, that doesn't look like it makes sense, a lot of times, it's something they've taken and took some marketing copy and tried to use it in an open source project and it just looks wrong. The reason is the goals are different. Marketing copy is generally there to sell you something or to get you to do something that evolves some sort of exchange.
Open source doesn't have that. The goals in open source might be to get a contributor. That's not selling something to somebody. The relationship is different as well. The way you find out about open source projects you care about might be a dependency. You never even actively chose that, right? When people are talking about this, you have to describe it in
that way. Then it's not the same as writing for internal writing either, so stuff that you might find inside your company, that's a very different way of writing too because functionally there, what you're doing is writing to a known audience with a known kind of structure, and you won't be able to do a pull request on a company policy
very often. Maybe in some radically open companies you might be able to but that might not be a thing to do a pull request on some sort of company policy. So, it's very different. Even when you talk about software itself, services are a different way of writing as well. When you have software as a service, which I work for Amazon Web Services,
and that's services in the name, there's a different kind of structure that exists. There is an understood clear relationship in services between the people who are using the software and those who are providing it. That breaks down when you start bringing in open source projects into the mix. It's very different. In effect, what I'm saying is
you have to kind of look at these things in a way that are showing how different they are. Even with software as a service, the specificity of use is something that is implied. You might have terms of service that limit that. Open source software, we want people to use things
in crazy ways. There is no kind of like you have to use this for one particular use. So, when we take this all into effect, we have this different type of writing that might be foreign for a lot of different teams. You have to find the right way of doing that. Let's talk a little bit about some overarching ideas about
writing in open source software. These are ideas that have come to my front view by looking at the different pieces that I've worked with in the past. It comes down to a few different things. The first part I want to talk about is voice.
What is voice? I like this definition. It's a rhetorical mix of vocabulary, tone, point of view, and syntax that makes phrases, sentences, and paragraphs flow in a particular manner. If you've ever read something written by someone you know and you hear their voice in your head, like that is a very strong voice that they have, but it can mean other things as well. Projects can have voices. So, for example, you have a consistent way of writing
about a project that might have some descriptors to it. In the bottle rocket project, we try to write very matter-of-factly and empowering but I've worked in other projects that have a very narrative way of speaking about things, and they have almost a rebellious tone. If I was to move those around between different projects, it would sound off. It wouldn't sound right.
So, not only does a project have that, the individual has their own voice as well. This gets tricky when you're collaborating. If you have a very strong individual voice, you try to collaborate on a document, it's going to sound disjointed when other people try to bring in new paragraphs that are not in that voice. So you have to figure out the right
way to balance those pieces. So, in named writing, for example, like a blog post that said written by Kyle Davis, Kyle Davis' voice is going to come first, but the project voice still has to exist. If you're talking about documentation or release notes, it shouldn't sound like it's coming from Kyle. It shouldn't sound like it's coming from the project.
The other thing I want to talk a little bit about is style guides. Incredibly important, but don't write your own style guide. It's probably the biggest mistake that you can make. These are really time-consuming to write well, and you should find somebody that is something similar. So, Bottle Rocket uses the OpenStack style guide. We are not in any way related to
OpenStack or the OpenStack family of products or projects, but it's familiar enough to us that we can really use it. The other thing to look at is that you shouldn't really try to adopt something from an associated organisation or feel that pressure. You might
say, okay, well, this project came out of AWS, so we are going to use the AWS style guide, right? That might work but it might not because you have different goals. That's why we ended up with something totally different. You have to look at that. For example, when we were talking about Bottle Rocket using the OpenStack style guide, that works because they're kind of similar
projects. If I was to try to use the WordPress or the Blender style guide, it probably wouldn't work because we are talking about containers and infrastructure and things like that, and they wouldn't have the right kind of metaphors and tools in those style guides. You're going to have things when you adopt another style guide which are your exceptions
to those style guides, so the complexity of those style guide exceptions is something you have to consider. If you have a big long list of exceptions, we use the OpenStack style guide except for these 25 points, is it the right thing to do to have 25 exceptions on it, or should you find something that matches a little bit better? This is my favourite one for style guides is don't expect anybody to read it at first.
This is where I really put a lot of weight on it because what's going to happen is you're going to have people write something, somebody's going to review it, maybe it's you, maybe it's someone else, and then you're going to say this doesn't match our style guide and they're going to say what is that? Then the next piece they're going to have internalised
that style guide and then they will have a lot more workable first copies. So, a lot of great stuff on this. Now, where we get into another piece that I think ties into the style guide in an interesting way is naming terms and inclusion. This is
something that I've had to deal with in a couple of different ways. It is really complicated to navigate. What you should be doing on this is finding the correct concrete guide post to help you navigate this particular issue. When I say naming terms and inclusion, there are a number of terms that maybe don't work out in the public context or maybe they're
outdated or things we've decided to move on from language. One place I look to is inclusive categories. You can help find and navigate your project that way. There will be other places as well. For example, your code of conduct will have potentially words that you do or don't use
in your project that helps you be a more inclusive community. There will be other places as well. Sometimes, you know, blinters out there for this type of writing do have these names included in them. When looking at terms and inclusion, one thing you really have to do is
look at how they work with your corner cases in your community. For example, sometimes you will have a dependency that has a very different point of view on these terms, and you have to figure out beforehand where you're going to interact with those, how do you describe a term that they use regularly and you can't really use because it is something you've decided is not healthy for
your project. The other thing to remember here is that we live in a global world. I've and every different culture is going to bring its own baggage to the plate here, and they're going to have different standards for it. A lot of this is about education and being
maximally inclusive in your community, and sometimes people don't understand that, in a different context, you may be excluding people, so it's a really important part of this is to understand how to navigate the different global contexts that are here, and there are sometimes a lot of tricky conversations that have to happen around this. All right. So, feedback.
This is a really tricky part about writing because a lot of times in open-source projects, you're accepting written communication as pull requests or some type of other contribution, and if you have set up your project well, hopefully, you can make this a very neutral
way of providing feedback to those users. If you don't, it can really be looking like Kyle doesn't like your writing, and that is not a place you want to be. Where you want to have is those concrete guide posts, either from your style guide, from your naming and inclusion guides
that help you take the Kyle doesn't like this or whomever is reviewing it doesn't like it and put it into something else. The great thing we have here is that a lot of what we're doing is actually things that are like linting, right? Like, we're pretty used to getting things from
linters and getting that feedback automated ways, and that is pretty useful that a lot of people in our communities are already used to that. And be crystal clear on who is saying what. This can be something that can be tricky because, you know, if you are providing that feedback, you need to make sure that it is the feedback between what you are saying,
maybe you're providing some guidance on it, but also there are things in the style guide that may be non-negotiable. I want to do in this section some practical lessons learned, and I'm going to read to you a few different cases that we've seen in our community.
These are individual sentences, and then what I will have you do at the end of these three kind of phrases, maybe you can tell me if you know what the problem is with these sentences. Practical lessons learned. Here's an example. We are excited to announce the release of 1.0.0 in a blog post. That's the first one. The release of 1.4.0 has been delayed. We
decided to focus on something else on the project site. Thank you for your contribution. We will review it and get back to you. Does anybody know what the common maybe problem point between those three statements are? Anybody? Who is we? That's great. We is a really dangerous little word in the English
language related to us and our. It's a plural first-person collective pronoun. You're coming to a talk about grammar. You didn't know that. We is particularly problematic in English because there are six different ways you can use it.
I'm not going to go through them because they require a lot of examples. At the heart, they are ambiguous for the most part. When you have we in it, it's really hard to parse out who it means. Is it clear who you're speaking for? Are you speaking for the whole community? Maybe that can be pretty problematic. Are you speaking for
maintainers or yourself and you're using the royal we? It's not very clear very often, and you have to put yourself in the seat of the reader sometimes to understand where it's coming from. How do the alternatives work here? Speak for yourself. Sometimes that's very difficult for people to do. Saying I believe something is so much harder than saying we
believe something for whatever reason, but encourage people to speak for themselves in all contexts where they're doing that because they don't want to speak for the entire community. Then define your antecedent. If you're not careful, defining an antecedent can sound like you're doing a policy. We, the maintainers of BottleRocket believe ... but there are a lot
trickier ways of doing that where you're making it abundantly clear to the reader what it means. You should have that litmus test to read through and say have I defined what this means? Next set of three. BottleRocket believes that security comes first.
Issue 467 suggests a memory leak on an issue. BottleRocket says to Kubernetes, I'm ready in documentation. Can anybody identify the problem with those three statements? Go ahead. Is it the whole project? That's a good part of it.
There is one thing that overarches all of this, and that's anthropomorphism. This is something when I was in my master's degree that my master's advisor would say don't ever do this, but you're assigning human traits to non-human objects. If we take a look back at that, I will go back a couple of slides. BottleRocket can't believe anything. It has no brain. It
is a collective of people. Issues can't suggest anything. People and issues can suggest something. And Kubernetes, a BottleRocket says to Kubernetes, I'm ready. Is the BottleRocket
project talking to the Kubernetes project or is a BottleRocket node talking to a Kubernetes control plane? It becomes very complicated. One of the things that you can often see here is when projects and companies have the same name, it becomes super unclear when you start anthropomorphising. It's a really tricky thing. There was a blog post that came out
a few weeks ago. I'm not going to name which projects they were involved in, but it became a big deal because they were anthropomorphising the project and it became very contentious very quickly because there was that overlap. Oftentimes, this masks technical details in ways that you don't want to do. The BottleRocket says to Kubernetes,
you know, that's not being very clear to your users and then people can confuse what you're meaning with that. And then how do you fix this? Point to a person than a thing. The example with the issue. The issue isn't saying a thing. The person is saying something.
And be more precise in your details. However, that might come about, right? So it can be if you're meeting projects, you may have to say the BottleRocket project has a document that says X, Y, and Z. Okay. Another set of three and then we will wrap up.
Supported characters are digits 0 through 9 and A through Z in the documentation. The following versions are no longer supported, and the following vendors provide support. Can anybody identify what is going on in those three statements? No? Okay, go ahead. She said those are three definitions, different definitions of support.
Yes. That is what we call an overloaded term. This is incredibly common. One term has multiple meanings based on the context. This came from one document where we had support meaning seven
different things in a matter of three paragraphs, and it can be really, really hard to understand. There can be other terms too. I'm not just picking on support. That's something for our context in open-source projects you should really think about, so what does it mean for your particular context? This has an incredible effect on those who have a high
degree of fluency in the language that it is there. As people who are highly fluent in English, you might easily parse out what support means in any given context, but someone who has been speaking English for a much shorter amount of time might have a higher difficulty there, so you're really kind of excluding people inadvertently by using these terms very loosely.
This often only reveals itself in context. On one page, if you have, let's say, a project site and it says support once, you can probably quickly parse that out, but on multiple pages, it can be very complicated. How do you fix this? A great exercise to do when you start identifying these terms is to try to find replacement terms that work in a variety of
context and then sub them in. It can be really tricky. You will start to realise how hard writing can be when you're trying to write for people of varying different fluency in English or whatever language you're targeting, so actively pick those terms that might fit it
a little bit better. It was a real challenge for us to unwind what the word support meant in our project. To wrap up, there are four things I want you to take away. Style and content are not portable, so you can't just take content from one place, copy and paste it into another place, especially in open source. It's not going to work very well. You're probably going to end up confusing people along the way. You have to relentlessly pursue clarity. Every time something
is written, you need to make sure and ask yourself, is this clear from a variety of context? You have to actively disambiguate constantly in your writing, so it may seem a little unnatural to define antecedents, it may seem a little unnatural to define what you mean by
the maintainers of your project versus the overall contributors, but it is important to make sure it is accessible to everybody. And then have guidance over guiding as an individual. That will give you those concrete guideposts to help anybody contribute to your project for written communication in a meaningful
way instead of it being the Kyle show or the whatever show of movers doing this and providing the editing for these pieces of content in your project. I think we're ready for Q&A. Anybody have questions? I have a question about when you're speaking on behalf of a project.
I have chosen to do that before for not being a target specific. That's why, could you clarify a little bit more, how would you put yourself as an individual
without becoming a target and people thinking your particular decision? That's a good question. When you're trying to speak for yourself as you're in an individual project but you don't want to be the target for maybe somebody who doesn't want to have really positive outcomes out of this,
it can be tricky. From my perspective, sufficiently putting that, you know, I'm speaking for myself and this is my personal belief on something. Others may also believe something else. I think one of the earlier presentations
did a great way of doing it. I think Ruth talked about I'm 3 out of 10 on this particular opinion, giving how strongly you believe in something and leaving room for others to have other opinions. That way you're not just making it you're the person who's the mouthpiece for something and
then all the ire for that goes directly to you. You've left an opening. That's my point of view. I've come into it a few times. It's tricky though and it's more contextual than probably we'd like it to be. Other questions? Yep.
You talked about writing that is globally inclusive so that you don't exclude particular people. Can you give us an example to illustrate that? Yeah. The support example is a great person, a great example of this. We had a person in our community that read through the
document and came away with how we were using support indicating that we were providing support in an open source project when we were talking about the support of a particular version. So they thought if I was using the current version then I could contact somebody about
that even though the license said it was as is. What it really made us do is step back and say that person who came from Japan had a different understanding of what the word support meant and they went over the line for what it meant. We really had to go back and say, okay, how does this look if we were to really be more precise with our language,
right? I think it was reasonable to think if you looked at the word support in paragraph one and support paragraph four, it confused people. So with that, I think it's making sure that you're using not language that is lowest common denominator but using language
that's precise, that would have a hard time being misunderstood. I think that's where you kind of like become more globally inclusive, right? If you're just talking to a bunch of people who have spoken English for 30 years, people are going to get more out of context.
I have a quick question I hope. So when you talk about being precise with words, and support is a great example, that works for one project but our users and members are opposed to so many projects defining their own terms. So how do we deal with that?
Yeah, that's tricky. We do have a glossary in our project that says this is what we mean by various different terms in the project. One of the things that is unique about Bottle Rocket is we name things after dog breeds. So we have things called Sheltie and, you know,
there's one we're talking about right now is Pug and, you know, all sorts of different things like that. And that can be really weird when you don't know what that means, and it might have different meanings other places. And if you provide sufficient links to those pieces, it makes it a little easy to kind of unlock what that meaning is.
Sometimes it is just maybe over linking those things in the pieces that you're talking about. Because if someone's coming into it, we've all heard the example of kind of technobabble where people have these really strange words that have zero meaning outside of that context. So you've got to provide that kind of context over the top, because you've got to remember
somebody can come in at any given point and they could be confusing what Pug means in a different project. So the glossary is where I'd kind of unlock that. Sort of the easy way to react is to make things longer, to explain, to add sentences. I love parentheses. My writing is too many parentheticals. How do you do that without
exploding and expecting people to read treatises about what you're saying? Yeah, it can make things really long sometimes. Other times you can kind of provide asides to it. We actually extensively use footnotes in our documentation in some of the pieces that we write to kind of give people that I don't understand this way to kind of get the escape
hatch. It can mean linking as well. Those are kind of free from a linguistic standpoint that it can make it flow very nicely. But if you have something, even parenthetically, more information on this project, it will give people a place to go for it.
I would rather err on the side of being a little bit more descriptive. So if anybody comes in, they see it. But when you want to keep it smaller, try to provide linking and then providing feedback on that is also great too, because somebody who does the majority of writing for a project, it's easy for you to do. But when you're talking about somebody who is writing
something new, you can say, what does this mean? Can you link this? That provides a lot of places for it to be a more instantly understandable document. Alright, thanks. That was it. Thank you very much, Kyle. Connect with me.