 All right, and welcome to Jenkins documentation officer office hours. This is the March 30th edition 2023 thank you all for coming today. We have myself Bruno of rock and and Mark wait joining us in the in the meeting And for our agenda, we have a couple new blog posts to mention and highlight The Jenkins award voting period is now closed a couple some changes to the Jenkins manage Jenkins UI that recently were implemented and what we're looking to do to help with that updates to the Jenkins book pages page and finally This is something that we were going to discuss last week, but I wanted to hold off make sure that we had a full house to discuss and We'll talk about chat GBT and documentation and where things are at a little bit There are good and bad things to it and benefits and takeaways that we can really use but We'll get there Anything else on the that we need to put on the agenda today or talk about? No, alrighty then So first things first on the blog posts here So something that just was published the other day the new Linux repository signing keys. This is hugely important This is something that has been implemented now as of 2.397 and will be part of 2.387.2 so these this blog post from Mark covers the ways to go about making sure that the updated signing key is implemented and Yeah, I think it expired on today if I'm not mistaken the 30th or was it a different day mark that the old one had expired Nope it today is that today is the day Okay So yeah, so super important to take a look and update things as necessary since this is an effect Yeah, and most of my mission sorry for interrupting most of my machines are using Jenkins through Docker But I have almost forgotten I have free machines x86 arm 32 and r64 which are using Docker through the package manager So I followed the tutorial and it did work. Thanks a lot mark all went fine Fantastic, thanks for letting us know Bruno and thanks to Basil for helping make sure that the instructions are accurate for for right now Next up on the blog post so Bruno actually was has in the process of writing some Posts about Android and Jenkins. This is the first one and From what I've read Bruno goes into a description and a brief history of What Android and Jenkins relationship is looked like or lack thereof how they work together and how to make Android? builds on Jenkins or use or sorry Here's a way to build Jenkins That's because I read two different articles one of them is not yet published But so yes I'm trying to run Jenkins to build something on Android and I'm using Jenkins to build some Android apps also So all of this is intermix and that's why it's difficult to explain and Yeah, we'll talk later on about chat GPT and some but first of all the image You see there is a work by an AI tool called Mijone I had a few credits. So I just has something could you do something about the bug-draid mascot and the Jenkins Butler and boom I got this image. Why not? They are again school And I don't have any more credits for Mijone So you won't see any other of my assisted creations and another thing about chat GPT with Colleague of mine just read the few first paragraph and told me Mmm, that sounds fishy. Did you use chat GPT on this one? I said, no I'm afraid of it was just a lack of inspiration. So maybe one of these days I will be able to fail the Turing test if I'm sounding like chat GPT Yeah, we'll get to that I think there's a lot of benefits to chat GPT. It's a matter of how you go about using those benefits and help that it gives you But we'll get there This is fantastic though, Bruno. It's a really lovely backstory and insight to the things that might not get talked about or discussed on the inherent Jenkins documentation So this is really nice to have and I think opens the door and I mean you said it yourself in this Does it sound strange enough or appealing enough to you to get involved? Like let's go That's that's the kind of attitude we want to have and You know bring people in give them a reason to come join us and check out Jenkins So this is this sort of stuff that does that really well. Thank you so much. Yeah, of course Great, so next up on the list agenda again the Jenkins awards voting period ended on March 28th So that has closed a massive thank you to all the participants and nominees This wouldn't be possible without anyone. So that's crucial And the award the award winners will be announced and presented with their awards at cd con this coming May 8th to 9th so Look out for that and yeah more to come on that The managed Jenkins UI changes these are changes that came about in the weekly release 2.395 and this change essentially simplifies a lot of the settings names to be one or two words instead of manage plugins this plugins instead of configure tools and security it's you know tools or just credentials stuff like that. So the idea is that in Simplifying the settings names. It just makes it a lot easier for people to navigate and users to work within Really nice really clean big. Thanks to Jan for doing all that And so we've had some updates for the text of itself, of course And then the other thing that we need to update our screenshots within the documentation And we do actually have some contributors working on that as we speak I've been working with them on making sure that these screenshots are really well done and clear and high quality and Making sure that things are aligned with the existing documentation and only changing what we need to change And it's been really great. I've had a lot of good conversations and Collaboration with new contributors that are getting started with Jenkins It's really fun. And it's a really nice way to contribute participate be a part of it Like we always talk about without needing to have expertise in any area. So And on top of that Along with the screenshot updates, I'm looking I'm looking into guidelines and best practices for screenshots and image images Which I'm going to collect put together and compile and submit it as a pull request to add to the contributing guide There are other considerations that need to be taken into account here like SEO and Copyright and everything like that, you know, these are going to be on a public site. So we need to do some I need to do some work to make sure that everything is Okay there and that we're setting everyone up for success when it comes to adding these Um, and that will be like I said, I'll submit that as a pull request And I will post in the community dot Jenkins dot io discourse site to make sure that that conversation is being held with the rest of the community We've had some discussion in Gitter But I think for how fleshed out and extensive this could become community is a much better place for it Next up on the gentle. So there was an update to the books pages recently We've had folks submitting a lot of new books to the Jenkins.io site So we have a new updated books page. We have a disclaimer to explain that You know, the books are sorted from newest to oldest and we have removed the numbered ordering so that there's no mistake of ranking This is really important since We don't want to appear to be recommending one author over another or saying, you know, this book is the best We want everyone to have the opportunity to make those decisions on their own We're here to bring that information to the user base And there's uh, definitely going to be some Guidelines on book submissions as well in the contributing guide. That's another thing that I'm working on and adding Again, it will be part of a separate pull request that I will also submit and share with community and On a small note on that documentation submissions a little bit of formatting and a couple other items that shouldn't inherently change how anyone's adding content but Just to make life easier for everyone when it comes to reviewing those pull requests Being able to provide really clear and consistent feedback and constructive feedback and overall just making sure that that collaboration is smooth and I I feel like one of the things that I'm trying to work on now is More responsive communication and engagement with the community. So that's another way that We can release to that and help and engage While also making things a little bit more clear Okay, and and there was a recent pr to Fix the footer and make sure that it stays on the bottom of the page as it is here Some large screens. It displays a little wonky, but It was something that we I emerged need to be reverted now. We're back to where we were prior So the bottom footer here Is actually a web component that was created by gabin mogan So the original pull request was a little off base in the sense of where the change should have happened But we resolved it reverted back and everything was okay and If anything too, thank you to jibneck too for working with the user Um Mom who's one of the google summer of code? participants He's being very ambitious and looking to make that change That's amazing. We want to see that sort of stuff and the community engagement is really where we all live. So Thank you to both of you for your work And then the last item on the agenda that I had today And I wanted to leave some room because I feel like this could be a longer conversation is Chat gpt and where that stands and what we can what we Want to do with that in terms of documentation? um All that being said, uh, I am personally bias against it But only because i'm a writer and I this is my well, this is what I do. So it's a little different However, uh being a writer I also recognize how difficult writing can be and how it's really not the easiest thing in the world for folks if it's not You know something that's constantly being done or reinforced or just in general documentation can be really finicky or specific and Yeah, it's it's tough. Um saying things in the right way can always be a bit of a challenge even for someone who's a native speaker of the language Uh, I struggle with english constantly and no surprise here But there's a lot of benefits there and I think it's important to really Be aware of the benefits and the help and and and the good things that chat gpt can provide while also recognizing its limitations and their fact that there is A user element chat gpt and it can only go as far as the person putting in information Um, it is ai is capable of a lot of autonomous things, but at the end of the day It's not all on itself Is on the user If they are creating this content to test and verify and make sure that what chat chat gpt is putting out is factually correct One of the things that we've been we've noted is that with stack overflow They've actually just gone ahead and say outright that chat gpt is banned due to the fact that it's overwhelming them for moderation And from a response point of view where the responses themselves are worded really well come across as really confident and unassuming but there might be something wrong with that and and it's That's on the onus of the user and the reviewer to check and make sure that everything is correct But we should make sure that we're submitting things that are Factually accurate before we get to that point All that being said I want to make sure that this is Open and Explored appropriately And I don't want to shut anyone down or say we shouldn't use it. Like I said, there's a lot of benefits So Mark Bruno, what are your feelings and thoughts towards chat gpt? Bruno you first Okay So I shot myself in the foot Um, well, I've been experimenting with chat gpt these last weeks At first I was really reluctant to even have a look at it. I didn't have an account anything I don't want to you know Everybody was talking about chat gpt and before that everybody was talking about weight free And before that everybody was talking about nfts or blockchain crypto No, I won't go into that train. But I saw more and more example of people saying Oh, wow It was so helpful and I you know, it took me only two hours to solve a problem that would have taken me maybe two days or something. So I said, oh Really? And then I saw also some people saying, uh, this thing is way Too confident and it says Bad things as if this was a definite truth So I was intrigued and I thought to myself. Well, let's give it a try So I've tried it for several things um, one of the things I've used it is for starting A new subject for example When I don't know much I just have the very beginning of of an idea Then I ask it how to to reformulate to change it and To give me some other ideas and then I have something like a pitch, you know, which is More interesting than my first idea other things are also A help for writing tutorials because most of the time I tend to forget some of the commands I entered despite using the history on linux, for example And this thing has been able to help me in some cases when I was You know, um, for example, I start on the linux machine where I already have lots of packages installed And I think that everybody should have those packages, but no In the real world people don't have these packages installed and chat dpt is able to tell me Maybe you should add these commands. And so I guess this makes for slightly better tutorials And the last thing I have another last thing to before the last thing, um Lately on community discourse Jenkins Jenkins. Oh, you know the forum for Jenkins There are lots of questions and I didn't feel Okay with some questions never having any answer and unfortunately my Knowledge of Jenkins is not that big. So sometimes I wanted to help and Get some answers to people without knowing the subject. So I ask chat gpt for some help And yes, sometimes it gave me some very convincing answers that were Plenty wrong. Some of them I was able to spot The wrongness of it, you know, because I usually test But sometimes the question is so complicating or so far away from my knowledge bay that I'm not equipped with what I need to test. So I may have answered a few times with um, how is Could would you know conditional? Maybe that's a lead you should explore but one time I totally failed and I Didn't change the message. I didn't say this was helped by chat gpt This was generated by chat gpt and I gave an answer that was 100 person wrong And sounding Overconfident and somebody spotted it. Thank you as well for that And yes, that's the limit of the thing I get that if you want to use chat gpt, fine, you will learn some things But please take the time to test review and even discuss with chat gpt because sometimes You spot something fishy and you tell chat gpt I think you're wrong and then it will We think we formulate make other Proposals and sometimes it will guide you through the correct answer But sometimes no, it doesn't know everything about Jenkins and Yeah, so I'd say maybe not Ignore chat gpt. You could give it a try but with a grain of salt if that makes sense, you know Yeah, that was a long analog Thanks, Bruno. I like I said, I I agree completely I think there's a lot to take away from it and things to Maybe hold back on or be more critical of but there's there's good with it And it's helped you you gave examples of how it's helped you like that's invaluable that matters But obviously with good and bad everything, you know, sometimes I have some bad hair day And you know, I'm all sometimes an old grumpy man And when I want to answer Somebody most of the time what I would write is not as benevolent as I'd like it to be So yes, I've also used it Once or twice when I wanted to answer Jenkins Community user and it was not kind enough It's not what I feel really inside But sometimes you you'll not yeah, there are days where you're not able to be as kind and benevolent as you'd like. So yes Once or twice, uh, chat gpt also helped me reformulate so that it was more aligned with Jenkins community rules Thank you very much, Bruno. I appreciate you sharing all of that Mark, how about yourself? So I liked I liked the argument from Gavin Mogan and spinnack in the chat Session where they noted it may be undetectable Right the the use of the use of chat gpt may in fact be undetectable because if someone's using it as a coach Or as a help and then they validate the steps themselves and they and they refine the steps refine whatever it created It fundamentally Looks like human writing and we just don't have the tools to say you were assisted by a bot Because we can't tell the difference right to Bruno's point of the Turing test right if if Alan Turing's assertion was if you can't tell the difference between the computer and a human being You you you can't tell the difference And and so this case it's that's real now I'm still worried so okay if it's undetectable to those of us who are reviewers There's probably no real way of preventing it Because if we can't detect it There's no way we're going to create machinery detected either I am worried on the flip side Stack overflow has an awful lot more reviewers on it than we do And when they said in their in their rationale for why they were banning chat gpt answers, it's because it overwhelmed their human reviewers And and I can understand that right if If the machine is if machines are submitting answers And you're relying on the skills of a subject matter matter expert like stack overflow does and like we do it's very easy to see that Humans validating those steps are going to take much take much longer than the machine that created the steps that that imbalance will overwhelm So so I think I think it's fair for us to have a I think it would be fair for us to have a policy That allows us to do what they say Which was Kevin if you go back to that one where they at the bottom of the stack overflow page They say moderators are allowed to to suspend for up to 30 days if someone is Copying and pasting gpt content onto the site It may be that we say We we broaden it instead of saying gpt content we say Content of questionable validity validity Our content which has because it's it's not so much The problem with for stack overflow. I think is not so much that they that it was generated by machine It's that it damages the credibility of the site By its mere existence, right? And and if we Look at something and say we had a chat gpt-generated Documentation pull request to Jenkins that I owe not long ago We looked at it Reviewed it it it was phrased marvelously. Oh my sakes. It was well phrased Confident well stated And good content except for the parts that were completely wrong And and that was the dismaying thing it's like oh my sakes all of the hints that I would usually use To detect this might be wrong lack of confidence in the phrasing or or incorrect tenses on verbs or whatever Whatever hints might have been there for me were not there And the only check I had as a subject matter expert was to be sure I validated every single Item that was written there now now that that document had it been right would have been exactly the right thing to merge But if it had it was given that it was wrong It would have been incorrect to merge it because now we've got something published as authoritative. That's just wrong so Now I've I've said an awful lot the idea is I think It's healthy to have a policy that says We expect Content to be good quality and we reserve the right to ban people Who submit poor quality content? And we've seen poor quality content coming from chat gpt-generated answers Yeah Go ahead. Sorry. No, no, please. Oh, okay. I see all the problems with chat gpt and ai tools for jenkins The first one is that if people get their answers from chat gpt They may never tell Write it down everywhere on you know on the web. So on on jenkins or whatever So the answer if it's not already somewhere in the documentation will be lost forever And that's a pity for the jenkins project. The other thing is if we don't manage to Spot the chat gpt-generated And it makes its way into the documentation then as you said mark This will be a new source of truth with his Wrong, which is completely wrong And then the next generation of chat gpt will be trained on that wrong data And so it will degrade over time and it will worsen worse and worse That's a problem for me Good point on the the training source because so I asked google bard A chat gpt competitor to describe how to adopt a jenkins plugin And I was thoroughly impressed because it did a good job of quoting from the jenkins adopt a plugin page Except for the pieces that it got wrong Yeah, and the second or third it offered three variants and the second and third variant were better than the first variant But I had to as a subject matter expert evaluate that content And and decide okay, which of these actually is stating things because they all looked very good So yeah, okay now now in terms of a I like bruno your observation that Given that we can expect machine learning to use Our our content our documentation as a reference as a training source, right? We hope it does Then that gives us even more incentive to want for the material to be accurate To be well stated to be to be all those things and an iron objective chat gpt gpt helps us do that better Great, but the the goal the ultimate goal really is accurate Understandable documentation Yeah, so okay I've I've thus argued both sides of the argument and that's shameful because I don't have a I don't have an easy answer on On I I'm not I know I think I understand why stack overflow bandit. I think it's a it's an unhealthy thing for them to And potentially for us if we became overwhelmed by chat gpt Answers or jet chat gpt based Based poll requests, we would have to say outright banned I think it's Go ahead Sorry guys. I'm just gonna say I think it's it's also something to keep in mind Looking at a poll request versus a community response or forum post or something like that because The poll request we at least have the opportunity to to review and check that stuff before it gets posted whereas the community response it's like it's instantaneous and um it's Yeah, that we can verify and the information if we have the opportunity to Not so much if that opportunity never arises. So there's there's definitely use for it I think but it's it has to be With the understanding that it's not perfect and 100 accurate every single time and that You do need to as a user really make sure that what what is happening is correct. So Yeah, Gavin's one of Gavin's Gavin's points in the chat channels was that As a poll request submitter I am responsible for the accuracy of my content No matter what source generated it's ultimately going in my name and therefore I'm responsible for accuracy of that content That didn't that still doesn't resolve my worry that yeah, but a big organization like stack overflow Was found that their their moderators are being overwhelmed by this and and it's I I don't have a solution for that But I I think it may just be we put into a policy statement that we are allowed to ban people if they're if they are generating non useful or or or poor quality content and That's that's a that's a policy that could live independent of any AI Because if we get junk junk poll requests from hacktoberfest, we ban them If we get junk poll requests from google summer of code Contributors whether they're generated by our bot or not we ban them, right? We we are not shy about banning people who waste our time with junk right And yeah, I and especially where chat gpt has a lot more moderators available to do that moderation It's it's it's telling that they're just outright saying don't even think about it so Yep. Yeah Yeah So I just realized we're at time. So I do want to wrap things up But that was a really great conversation and I think this is something that will be discussed going forward Even if we put that policy in place, it's still something that can be discussed at a later point in time But more to come on that and we'll we'll come back to it Thank you very very much for joining today. Appreciate it. The video will be available 24 to 48 hours And we'll see you next week. Thank you again. Have a great rest of your day. Thank you. Bye. Bye