18:00:47 <felixfontein> #startmeeting Ansible Community Meeting
18:00:47 <zodbot> Meeting started Wed Sep  2 18:00:47 2020 UTC.
18:00:47 <zodbot> This meeting is logged and archived in a public location.
18:00:47 <zodbot> The chair is felixfontein. Information about MeetBot at http://wiki.debian.org/MeetBot.
18:00:47 <zodbot> Useful Commands: #action #agreed #halp #info #idea #link #topic.
18:00:47 <zodbot> The meeting name has been set to 'ansible_community_meeting'
18:00:56 <felixfontein> who's around?
18:00:59 <felixfontein> #chair dmsimard
18:00:59 <zodbot> Current chairs: dmsimard felixfontein
18:01:02 <samccann> o/
18:01:05 <felixfontein> #chair samccann
18:01:05 <zodbot> Current chairs: dmsimard felixfontein samccann
18:01:08 <cyberpear> o/
18:01:18 * gundalow waves
18:01:20 <felixfontein> #topic agenda: https://github.com/ansible/community/issues/539#issuecomment-681006031
18:01:21 <andersson007_> o/
18:01:25 <felixfontein> #chair cyberpear gundalow andersson007_
18:01:25 <zodbot> Current chairs: andersson007_ cyberpear dmsimard felixfontein gundalow samccann
18:01:53 <felixfontein> abadger1999: gwmngilfen: acozine: geerlingguy: gregdek: are you around?
18:02:22 <abadger1999> Hello :-)
18:02:40 <felixfontein> #chair abadger1999
18:02:40 <zodbot> Current chairs: abadger1999 andersson007_ cyberpear dmsimard felixfontein gundalow samccann
18:02:43 <geerlingguy> hello there
18:02:47 <felixfontein> #chair geerlingguy
18:02:47 <zodbot> Current chairs: abadger1999 andersson007_ cyberpear dmsimard felixfontein geerlingguy gundalow samccann
18:02:53 <felixfontein> lots of people today :)
18:02:58 <gwmngilfen> Oh, is it going ahead after all? I thought anderson couldn't make it, so I'm doing kids bedtime
18:03:08 <felixfontein> #chair gwmngilfen
18:03:08 <zodbot> Current chairs: abadger1999 andersson007_ cyberpear dmsimard felixfontein geerlingguy gundalow gwmngilfen samccann
18:03:22 <andersson007_> gwmngilfen: don't worry, no rush
18:03:26 <felixfontein> gwmngilfen: we can talk about other tings first :)
18:03:33 <geerlingguy> heh, bedtime later! (just kidding)
18:03:41 <samccann> so many chairs... maybe we need some sofas
18:03:41 <gwmngilfen> Kinda need some notice for 7pm meetings :)
18:03:55 <gwmngilfen> Sofas++
18:04:00 <felixfontein> hehe :)
18:04:20 <felixfontein> is there anything that's urgent that we need to discuss first?
18:04:48 <felixfontein> #topic Updates
18:05:03 <felixfontein> #info Ansible 2.10.0b1 has been released - features are now frozen for 2.10.0
18:05:07 <gundalow> #ingo Not sure if others saw, though we have 3,000+ people that are interested in attending Contributors Summit (which is an increase from the ~150)
18:05:16 <gundalow> #info Not sure if others saw, though we have 3,000+ people that are interested in attending Contributors Summit (which is an increase from the ~150)
18:05:27 <gwmngilfen> I'll be back in 30 min or so
18:05:30 <felixfontein> that's a really astonishingly high number!
18:05:55 <geerlingguy> I'd count on 10-20% actually attending :P
18:06:05 <geerlingguy> (still a big number)
18:06:09 <gundalow> geerlingguy: even 10% is still double previous years
18:06:25 <samccann> wow... that's... a lot of contributors to wrangle!
18:07:33 <felixfontein> was it announced differently this time? or has anyone an idea why there are so many more this time?
18:07:39 <gundalow> #info We are planning for two days of Contributors Summit. Monday will mostly be pre-recorded videos with Q&A. Thursday will be possibly more interactive
18:08:01 <gundalow> felixfontein: I think partly as AnsibleFest itself has many more people registered due to it being virtual
18:08:21 <cyberpear> I guess that's the trouble with Free Virtual events? lots of people sign up and don't show?
18:08:22 <gundalow> #info Please register for AnsibleFest https://www.ansible.com/ansiblefest
18:08:27 <gundalow> cyberpear: yup, also that
18:08:35 <gundalow> I've no idea how many people will attend
18:09:01 <andersson007_> even if 10 % it will be cool
18:09:08 <samccann> i wanna say when RH did Summit virtual, they had a TON more people actually show up (combination of free and can attend from anywhere)
18:09:10 <andersson007_> ~300
18:10:07 <geerlingguy> What usually is lacking (especially if it's all pre-recorded) is any kind of engagement
18:10:17 <felixfontein> does AnsibleFest attendance cost money?
18:10:17 <gundalow> QUESTION: What type of introduction videos walkthoughts do people think maybe useful to new(ish) contributors
18:10:25 <gundalow> felixfontein: free as it's virtual
18:10:29 <geerlingguy> at least Q&A and live chat could be live, but I've really been missing that aspect in all the online conferences I've attended
18:11:14 <gundalow> geerlingguy: yup, we plan (say) 20minute video, during which people can chat and add stuff in the Q&A. Then at the end we will go through the Q&A and anything else that seems interesting from the general chat
18:11:20 <felixfontein> gundalow: cool!
18:11:42 <samccann> gundalow: I've wondered (tho have no proof) if git itself is a barrier?
18:11:49 <samccann> for new folks
18:11:50 <geerlingguy> One thing—maybe a video/session showing people how to sign up for / set up IRCcloud or something similar
18:12:12 <geerlingguy> since new folks most likely have either never used IRC or only touched it once or twice, and getting IRC to be more like Slack is a big win for them
18:12:28 <felixfontein> geerlingguy: great idea!
18:12:54 <geerlingguy> samccann: maybe also a demo of how to edit docs via GitHub's web UI then? It's a good stepping stone.
18:13:12 <geerlingguy> Would also be nice to have 'edit on github' links in the docs — those were present once long ago weren't they?
18:13:19 <samccann> heh edit docs on github - ansible's 'gateway' drug
18:13:22 <geerlingguy> (docs are often the best stepping stone)
18:13:28 <gundalow> geerlingguy: they will be returning, though not for a while
18:13:42 <gundalow> Should IRC include how to register?
18:14:00 <andersson007_> yes
18:14:01 <felixfontein> gundalow: might be better, in case we need to add +r to more channels
18:14:03 <samccann> geeerlingguy - edit on github links still there for .rst files... not for docstring content as that broke w the collection move. Might be possible to bring it back someday
18:15:10 <gundalow> #action Fest Video: 1) Brand new GitHub (no fork of collection), click `Edit on GitHub` 2) Fix typo 3) Create PR 4) Wait for CI 5 ) <merged in background> 6) Success
18:15:13 <geerlingguy> Basically "How to get involved with IRC (in a way more familiar with current slack users) if you've never been on IRC, with a guide to some of the popular #ansible- rooms
18:15:38 <geerlingguy> (I know I'd probably learn a few things from that too!)
18:16:14 <felixfontein> a tutorial on how to create a bugfix PR and/or new feature PR for a module is probably also a nice idea
18:16:17 <gundalow> #action Fest Video: Overview of IRC (maybe show via Matrix.im) 1) How to register (or does Matrix do this for you) 2) #ansible (user) #ansible-devel & #ansible-community 3) Don't `ping` Just ask the question
18:16:27 <felixfontein> including finding where the module lives, and creating a changelog fragment :)
18:16:42 <gundalow> hehe
18:16:49 <samccann> :-)
18:17:22 <samccann> #action samccann - open a docs issue for a 'getting started developing in ansible' guide
18:17:24 <gundalow> hum, would that be a good example for `git` commandline (checkout your fork), create feature branch, do work, add changelog, push PR
18:17:36 <samccann> we have tidbits for users, but nothing afaik for just getting started for developers
18:17:37 <gundalow> anything else need to go in that?
18:18:07 <felixfontein> gundalow: look at CI results and fix issues CI reports ;)
18:18:07 <gundalow> I also very quickly hacked https://www.katacoda.com/gundalow/scenarios/testing-collections together (click the command to run them)
18:18:30 <gundalow> source for the above: https://raw.githubusercontent.com/gundalow/katacoda-scenarios/master/testing-collections/step1.md
18:18:33 <andersson007_> felixfontein: +1
18:18:37 <andersson007_> :)
18:18:48 <gundalow> If that looks sensible it would be broken down into multiple steps with a lot more explanation
18:19:21 <felixfontein> samccann: having a couple of how-tos tailored to the most frequent contributions (fixing a bug, adding a new option) would be great!
18:19:27 <GHellings> I just did a video bit on training developers to clone collections and run them locally. More focused on roles and what my team does, but it was received very well
18:19:38 <felixfontein> #chair GHellings
18:19:38 <zodbot> Current chairs: GHellings abadger1999 andersson007_ cyberpear dmsimard felixfontein geerlingguy gundalow gwmngilfen samccann
18:19:50 <GHellings> Definitely vital to new contributors, even if they're familiar with Ansible itself
18:19:56 <cybette> Regarding the large number of "interested" in Contributor Summit, it's from AnsibleFest registration- there's a question:
18:19:56 <felixfontein> indeed!
18:20:01 <cybette> Are you interested in attending the Ansible Contributor Summit on October 12?*
18:20:01 <cybette> (By selecting “Yes,” you agree to be contacted by the Ansible Contributor Summit team for additional event information)
18:20:06 <abadger1999> samccann: also keeping your PR current for  newer versions of the upstream repo deserves a section/page
18:20:07 <gundalow> GHellings: Is that something that could be shared?
18:20:12 <cybette> More than half selected yes
18:20:30 <GHellings> gundalow, The video is internal to Red Hat, just because of how I presented it. But I can redo it in a public format
18:20:52 <felixfontein> abadger1999: yep! that's not trivial for beginners, and often leads to problems (people end up with merge commits, and the bot starts shouting at them)
18:21:13 <abadger1999> (git remote add ; git fetch ; git merge --ff-only to devel  ; git checkout feature-branch ; git rebase devel )
18:21:19 <GHellings> gundalow, The demo walk through already lives on Github
18:21:23 <abadger1999> That's a big set of concepts and steps :-/
18:21:55 <cybette> (darn I missed a bus trying to type those messages. I think I'll just read the logs tomorrow)
18:22:24 <felixfontein> abadger1999: yep. it would be great if GitHub's UI would have a button "update this branch from the upstream where this was forked from" if fast-forward is possible
18:22:25 <gundalow> GHellings: Got a link?
18:22:28 <gundalow> cybette: woops, sorry
18:23:10 <felixfontein> cybette: thanks for writing them, and I hope you don't have to wait long for the next one!
18:23:13 <GHellings> gundalow, https://github.com/greg-hellings/ansible_collection_demo
18:23:22 <felixfontein> b/2
18:23:41 <GHellings> Uses a Vagrant box to bring you from bare Fedora to developing new or adding to existing collections
18:25:23 <cybette> "gundalow" (https://matrix.to/#/@freenode_gundalow:matrix.org) "felixfontein" (https://matrix.to/#/@freenode_felixfontein:matrix.org) no worries, I'm on the next bus now thanks :)
18:26:31 <gwmngilfen> right, i'm back
18:26:43 * resmo waves
18:27:05 <felixfontein> should we switch to the topic of 'inactive collection maintainers' then?
18:27:08 <felixfontein> #chair resmo
18:27:08 <zodbot> Current chairs: GHellings abadger1999 andersson007_ cyberpear dmsimard felixfontein geerlingguy gundalow gwmngilfen resmo samccann
18:27:25 <felixfontein> since not much has been written in the last few minutes, I guess it's ok
18:27:32 * resmo reading +3000 contributors summt... wait what?
18:27:45 <felixfontein> #topic What to do with/about inactive (collection) maintainers? https://github.com/ansible/community/issues/539#issuecomment-669849223
18:27:58 <andersson007_> let's discuss first if should we track collections under ansible-collections that haven't been released for some time and if not, should we release them ouselves
18:28:32 * gwmngilfen loads up the GH releases api
18:28:41 <felixfontein> I guess it only makes sense to release them ourselves if there are actually things to update :)
18:28:50 <andersson007_> sure
18:29:06 <felixfontein> what does the community team think about this (i.e. gundalow abadger1999 who else?)?
18:29:11 <cyberpear> did all collections initially have maintainers?
18:29:28 <abadger1999> Something we always struggled with regarding orphaing when I worked on Fedora was having some sort of quality metric that made sense.
18:29:28 <felixfontein> cyberpear: not really
18:29:29 <gwmngilfen> does this translate to trying to identify maintained-but-stable things vs unmaintained things?
18:29:46 <andersson007_> i think initial maintainers are people who initiated moving stuff
18:29:49 <abadger1999> foo hasn't been released in three years but it Just Works(TM).
18:29:49 <felixfontein> most have I think, but for example community.network and skydive.skydive (now community.skydive) and community.azure are pretty ... unmaintained
18:29:53 <gwmngilfen> because thats come up for me before, and i have half-baked thoughts :P
18:30:09 <geerlingguy> I think yes ^ — I know there are sometimes roles or modules which might be feature complete and barely ever need to be touched. Others need feeding and care weekly.
18:30:10 <felixfontein> gwmngilfen: I think so
18:30:22 <abadger1999> bar hasn't been released in four months but it has 70 new bug reports and no one has answered them.
18:30:38 <geerlingguy> Sad thing is CI integration testing can help weed that out but most of the 'bad' unmaintained collections ain't going to have good CI anyways
18:30:44 <gwmngilfen> so i spent a bit of time thinking about this, and I think it comes down to (a) number of open issues, and (b) time-to-close on issues/PRs
18:30:49 <felixfontein> abadger1999: that's usually a good indication of that something is not good. or also lots of unmerged PRs, whose number increases
18:30:56 <gundalow> Is this a problem that exists today?
18:30:59 <gwmngilfen> for a stable, maintained piece of software, those should both be low
18:31:12 <geerlingguy> (we integrated a stale bot to close things after 90 days unless marked as frozen/important in community.kubernetes
18:31:15 <gwmngilfen> but for unmaintained things, they would increase over time
18:31:18 <geerlingguy> Following lead of K8s prow bots
18:31:41 <geerlingguy> (so that could skew results for your benchmark of maintained since bot could be doing the only maintenance :D )
18:31:47 <abadger1999> felixfontein: +1  unmerged/unreviewed PRs are a huge indicator of a problem.... that we might be able to do something about (empower the PR submitters to make needed changes and releases)
18:31:47 <gwmngilfen> mmm, thats fine though, you'd want a close time of less than 90 days for maintained things
18:32:18 <felixfontein> gundalow: speaking of which, is it possible to get ansibullbot for community.network?
18:32:23 <geerlingguy> One good benchmark is "how many issues have had zero responses in [x] days"
18:32:23 <gwmngilfen> right, so this leads into my topic on what we'd like to see on some kind of collections dashboard
18:32:40 <geerlingguy> we at least try to respond with a follow-up question for any issue or PR, or with a label comment
18:32:44 <gwmngilfen> time-to-close and time-to-first comment are already on the list
18:32:50 <gundalow> felixfontein: yes, once jillr has done her bot updates I can get it running there
18:32:58 <felixfontein> gundalow: that would be awesome!
18:33:26 <gwmngilfen> but are there other things that make sense folks would like to see? even if it's just basic collation of open/closed issues/prs, etc
18:33:35 <andersson007_> "time-to-first comment": comments from authors are counted?
18:33:43 <andersson007_> or from bots?
18:33:48 <gwmngilfen> nope to both
18:33:52 <andersson007_> ok
18:34:00 <gwmngilfen> assuming I can tell its a bot, not always obvious
18:34:08 <andersson007_> not count also comments from felixfontein and me:)
18:34:10 <felixfontein> lol
18:34:15 <gwmngilfen> lol
18:34:25 <felixfontein> depends on the comments :)
18:34:36 <andersson007_> "add changelog fragment"
18:34:46 <gwmngilfen> that implies there were changes :)
18:34:52 <gwmngilfen> and thus coding is happening
18:34:59 <abadger1999> time from last maintainer (for some repos == committers.  For c.g, would have to find out from the bot) comment is a good metric.
18:35:32 <felixfontein> abadger1999: indeed. for c.g/c.n it's a bit harder to do as you said, but for most other repos it should be pretty easy
18:35:36 <gwmngilfen> yeah, but as you say, could be tricky. happy to put that on phase two :)
18:35:57 <andersson007_> should we count tags as release indicators? if possible
18:36:03 <gwmngilfen> yeah, for other repos, GH reports the Author_Association status, which can be "maintainer"
18:36:11 <resmo> andersson007_, I would say so
18:36:20 <felixfontein> andersson007_: I'd count galaxy releases
18:36:25 <gwmngilfen> (thats a field on the api response for any comment)
18:36:33 <abadger1999> It seems like we also have two things we're looking for:  maintainer activeness, and collection "well-maintainedness".
18:36:37 <andersson007_> felixfontein: if it's possible, would be good
18:37:02 <abadger1999> You hope that the first leads to the second but it might not be true.
18:37:07 <gwmngilfen> abadger1999:  seems right. the former seems doable, measuring the latter seems harder
18:37:16 <abadger1999> Would we only orphan depending on the first one?
18:37:22 <gwmngilfen> so when we talk about releases, are we talking about GH or Galaxy?
18:37:39 <resmo> galaxy because gh is not set
18:37:43 <resmo> could be anythign right?
18:37:47 <GHellings> Time since last CI passed?
18:38:03 <GHellings> If the CI can be determined
18:38:13 <andersson007_> would be great to count releases on Galaxy, if not possible (no api, etc.), count tags
18:38:22 <gwmngilfen> galaxy does have an api
18:38:23 <abadger1999> as in.... I'm really active on commenting on new issues and PRs to my collection but horrid at getting any work done on it.  do we orphan that collection?
18:38:33 <andersson007_> gwmngilfen: great
18:38:46 <gwmngilfen> how usable it is for this remains to be seen :)
18:38:58 <geerlingguy> To be honest, how many modules in ansible/ansible were never deprecated even after 4-5 years of nobody touching them at all :D
18:39:01 * resmo afk for 5, kids bed
18:39:07 <gwmngilfen> it's been like a year since I last looked at it, but I can always poke the galaxy team a bit
18:39:12 <geerlingguy> Question is do we want our status quo to be better than that with collections
18:39:16 <abadger1999> galaxy can tell you when all lof the releases on galaxy were uplloaded.
18:39:30 <felixfontein> geerlingguy: quite a lot. the question is whether they still actually work fine, or whether they really need to get deprecated
18:39:30 <gwmngilfen> geerlingguy: i'm sure we *want* it, its a question of doing it
18:39:30 <andersson007_> abadger1999: gregdek 's topic about orphaned modules should definitely be expanded for collections as well
18:39:47 <abadger1999> andersson007_: <nod> yeah.
18:39:53 <felixfontein> andersson007_: +1
18:40:20 * gwmngilfen pokes about in galaxy a bit
18:40:54 <abadger1999> also... policy wise, orphan can be independent of in-the-ansible-package-not-in-the-ansible-package.
18:42:50 <acozine> for docs, it would be good to have a logo or something calling out orphaned collections or modules
18:42:58 <gwmngilfen> https://galaxy.ansible.com/api/v2/collections/community/grafana/ seems ok, I see a "latest version" field
18:42:58 <felixfontein> #cair acozine
18:43:02 <felixfontein> #chair acozine
18:43:02 <zodbot> Current chairs: GHellings abadger1999 acozine andersson007_ cyberpear dmsimard felixfontein geerlingguy gundalow gwmngilfen resmo samccann
18:43:09 * geerlingguy has to run, lunch time
18:43:15 <abadger1999> gwmngilfen: oooh, another thought for your time to close metrics.... a collection which has a single coherent project behind it will be different from c.g..... the single coherent projects, we'd be thinking of "should this collection be in the ansible package?  should this collection be orphaned?"  For c.g we'd be thinking of "should this module be in community.general?  Should this moudle be orphaned?"
18:43:15 <acozine> so people can see "oh, this isn't actively maintained" and make decisions accordingly
18:43:34 <felixfontein> gwmngilfen: https://galaxy.ansible.com/api/v2/collections/community/grafana/versions/
18:43:36 <gwmngilfen> oh nuts, that api has no dates on it
18:43:41 <samccann> would be better perhaps to have an 'active' logo  - something for collection maintainers to strive for
18:43:43 <gwmngilfen> you cant see when they were uploaded
18:44:08 <felixfontein> gwmngilfen: I don't see a timestamp though
18:44:08 <andersson007_> acozine: gregdek suggested a new bool field called `orphaned`
18:44:15 <gwmngilfen> abadger1999: detecting when things should move to their own collection is absolutely something I keep discussing with gundalow :)
18:44:17 <andersson007_> acozine: for modules
18:44:33 <geerlingguy> would also be nice to be able to link to "here's how you can take over this orphaned [thing]"
18:44:47 <geerlingguy> with steps like "create your own collection, copy the module code over to your collection, etc."
18:44:53 <abadger1999> gwmngilfen: Doh!  I was tricked by this: https://galaxy.ansible.com/api/v2/collections/community/grafana/
18:45:15 <geerlingguy> I know in Drupal community, there's a process for actually transferring ownership of a given project... but with collections it's more complicated (especially if talking like community.general)
18:45:17 <abadger1999> gwmngilfen: they're keeping the info (it's on the web ui) so I guess we have to ask them to provide it via the api.
18:45:42 <gwmngilfen> yeah, that would be nice. which of us should get a poking stick?
18:46:01 <gundalow> One of the reasons community collections are under github.com/ansible-collections/ is so we can add other maintainers if the existing ones leave
18:46:11 <abadger1999> gundalow: is that a thing you and I should bring up with chouse at the internal ansible project meeting?
18:46:24 <andersson007_> https://gist.github.com/gregdek/52e6669421d3f65cded51862e16ad0e9
18:46:44 <andersson007_> there's a section about orphaned stuff
18:46:47 <felixfontein> gwmngilfen: https://galaxy.ansible.com/api/internal/ui/repo-or-collection-detail/?namespace=community&name=general seems to contain everything - though it's an internal API
18:46:57 <andersson007_> we discussed the topic a little bit there
18:47:11 <acozine> andersson007_: a boolean field sounds great; it would be even better if the docs build used that to change the look/feel of those pages
18:47:17 <resmo> re
18:47:18 <gwmngilfen> felixfontein: good find! but yes, if we can get it in the offical api that'd be better
18:47:28 <andersson007_> acozine: sounds good
18:47:34 <felixfontein> gwmngilfen: I looked in the Network tab in the dev tools to see where it gets the info from ;)
18:47:40 <gwmngilfen> ahaha
18:47:45 <gwmngilfen> consle tools are the best
18:47:48 <felixfontein> yeah
18:48:06 <felixfontein> especially for such webapps which do all the work client-side
18:48:27 <gwmngilfen> so anyway, we have release data. so, we can look at releases - but that still leaves us with the problem of telling apart stable vs dead things
18:48:32 <gundalow> abadger1999: can just be raised in #ansible-galaxy
18:48:32 <abadger1999> acozine: and an "I'd like to take maintenance" button?  (maybe.... link to a github issue template to request that or something)
18:48:58 <abadger1999> Cool, then gwmngilfen Maybe you want to take the action item?
18:49:04 <gwmngilfen> we have time-to-close, time-to-comment, and time-to-release - i guess it'll be a combination of all three
18:49:07 <gundalow> gwmngilfen: if there are things you'd like just raise an issue and then mention it in ask in #ansible-galaxy
18:49:08 <andersson007_> abadger1999: sounds also good
18:49:14 <acozine> abadger1999: oh, that would be awesome
18:49:20 <gwmngilfen> gundalow: raise where?
18:49:26 <samccann> acozine - ah reading that doc (above) - makes more sense now to have orphaned vs retired etc visible on the docsite so users know (and some kind of warning if it shows up in a playbook execution etc?)
18:49:34 <gundalow> gwmngilfen: gh/ansible/galaxy
18:49:44 <gwmngilfen> k
18:50:10 <gwmngilfen> putting it on my todo - but with the url from felix I could build something right away and then switch to whatever official things comes along later :)
18:50:18 <samccann> abadger1999 maybe a link to a docs page on 'what is orphaned/retired' that includes how to take this over in your own collection etc
18:50:46 <andersson007_> abadger1999: acozine samccann would be great if you participate in the discussion in gregdek 's gist.
18:51:01 <felixfontein> didn't we have a document for new maintainers somewhere?
18:51:21 <felixfontein> I guess it might need some updating for the collection world, and could be mentioned more prominently (especially for orphaned stuff)
18:51:46 <samccann> #action samccann acozine to review / participate in orphan discussion - https://gist.github.com/gregdek/52e6669421d3f65cded51862e16ad0e9
18:51:49 <gwmngilfen> so, if I aim for an initial "thing" where we can look at these time-to-X metrics for a given collection, and then put together some kind of "ranking" based on all three. that would be a good piece of tooling for folks?
18:51:54 <abadger1999> samccann: <nod>  Or both?  A docs page can give the end user a lot of useful information.  An existing contributor would be ready to fill out the template.
18:52:05 <acozine> @andersson007_ will do, thanks for the pointer
18:52:21 <gwmngilfen> i can easily build an API on it too, if we want to query it from other tools
18:52:23 <samccann> abadger1999 true
18:52:25 <acozine> felixfontein: this page comes to mind, not sure if it's what you meant: https://docs.ansible.com/ansible/devel/community/maintainers.html
18:52:46 <gundalow> I'm not that concerned about collections without maintainers right now, hopefully we can last a few months
18:52:54 <andersson007_> acozine: yw!
18:53:05 <felixfontein> acozine: I think we had something more extensive
18:53:08 <abadger1999> gwmngilfen: yeah.  people will probably have more ideas of metrics to add to it once they see some initial data too :-)
18:53:16 <felixfontein> (if I don't misremember)
18:53:54 <gwmngilfen> for sure. i'm kinda shying away from simple "you have this many issues" things because theres about 900 versions of that already - but it can always be added if needed :)
18:54:30 <gwmngilfen> the "gold standard" would be a curated list of examples, 50/50 split between stable things and dead things. but we're never going to get that :)
18:54:35 <samccann> felixfontein - maybe it's in one of the github repos. There's a lot of doc info scattered right now
18:55:01 <gwmngilfen> so, I think I'm going to aim for a list of "flag candidates" that gundalow or whoever can review from time to time
18:55:42 <gwmngilfen> let me log some issues
18:55:44 <felixfontein> samccann: I think it was either in ansible/ansible, or on the docsite where I read it
18:55:56 <acozine> hmmm
18:56:13 <acozine> maybe https://docs.ansible.com/ansible/devel/community/contributing_maintained_collections.html?
18:56:31 <acozine> felixfontein: ^^^
18:57:00 <gundalow> felixfontein: or https://docs.ansible.com/ansible/devel/community/committer_guidelines.html
18:57:17 <felixfontein> ah I think it *was* https://docs.ansible.com/ansible/devel/community/maintainers.html - but it used to be a lot longer in the past :)
18:58:05 * cyberpear steps away for another meeting
18:58:22 <felixfontein> https://docs.ansible.com/ansible/2.9/community/maintainers.html
18:58:55 <acozine> yeah, I trimmed it down not too long ago because most of the info focused on ansible/ansible PRs and so on
18:58:57 <acozine> https://github.com/ansible/ansible/pull/70488/files
18:59:02 <felixfontein> gundalow: that page is seriously outdated :)
18:59:17 <felixfontein> (the People part)
18:59:32 <gundalow> felixfontein: I think just about everything on that page is wrong
19:00:03 <acozine> felixfontein: I added `Each collection community can set its own rules and workflow for managing pull requests, bug reports, documentation issues, and feature requests, as well as adding and replacing maintainers.` Is that actually true?
19:00:14 <acozine> If not, we can put more detail in there again.
19:00:21 <felixfontein> acozine: that's true
19:00:31 <felixfontein> acozine: and that makes it hard to write more about it :)
19:00:41 <acozine> yeah, that's why I took all that detail out
19:00:53 <acozine> cyberpear: bye!
19:01:04 <felixfontein> bye cyberpear!
19:02:26 <gwmngilfen> so on the "time to first comment from a maintainer" thing - we've said it's tricky for community.general, but what if it was "time to first comment from a previous committer"?
19:02:44 <gwmngilfen> does that help?
19:03:26 <felixfontein> gwmngilfen: that's probably a good enough substitute in most cases!
19:03:27 <gwmngilfen> ideally it'd be commiters to that part of the repo, but that could get messy
19:04:06 <gwmngilfen> in theory it would mean a committer to one module in c.g would count when commenting on another module - but that's probably not so common?
19:04:10 <gundalow> acozine: Although process may vary it is basically
19:04:10 <gundalow> Raise PR -> Loop (Fix CI, Address review comments) -> enough reviews -> merge
19:04:11 <abadger1999> For community.general, the problem is that the maintainer::code isn't mapped by anything about committers.  But I'm not sure if that will be a problem or not.... have to look at raw data to find out.
19:05:06 <abadger1999> Like..... if one of us here comments on any issues that aren't seeing updates to prompt the actual maintainers to respond... that will throw your metrics off since we're committers.
19:05:18 <gwmngilfen> yeah i know
19:05:33 <acozine> gundalow: do we want to add a general overview section to https://docs.ansible.com/ansible/devel/community/contributing_maintained_collections.html, above the `Requirements to merge your PR ` section?
19:05:39 <gwmngilfen> it's possible that I could restrict the list of commits by filepath
19:05:52 <abadger1999> gwmngilfen: we can probably get the information from the bot.
19:05:55 <andersson007_> gwmngilfen: i often put something as the first comment like "dear maintainers, could you please take a look":)
19:06:11 <gundalow> acozine: That could be useful, thanks
19:06:13 <gwmngilfen> that actually works now, but my current scraper is about to die, and the new one doesn't have that feature (yet) :P
19:06:19 <abadger1999> It's just a thing that would have to be done separate from the code you already have for reading the same type of infor from github apis.
19:06:31 <abadger1999> (it should be mapped i nthe bot's config file)
19:06:55 <gwmngilfen> right, but you still have to know something about the PR to get the right thing from the bot, yes?
19:07:04 <abadger1999> BOTMETA.yml
19:07:17 <abadger1999> Yeah, you'd have to know about filepaths.
19:07:26 <abadger1999> welll actually....
19:07:29 <gwmngilfen> i.e. if i stat with a list of PRs from c.g, what else do I need to figure the maintainer? I'm guessing it's the files touched
19:07:30 <gwmngilfen> yeah
19:07:38 <gwmngilfen> i was afraid of that
19:07:51 <abadger1999> the bot knows who the committers are and does X to the issue/PR for that.
19:07:52 <gwmngilfen> is any other collection handled with botmeta?
19:07:58 <abadger1999> s/committers/maintainers/
19:08:18 <gwmngilfen> it's not like we're likely to declare c.g. abandoned, i'm inclined to treat it as special and not have it on the table :)
19:08:19 <felixfontein> gwmngilfen: community.network, and maybe also the aws ones
19:08:36 <gwmngilfen> well there goes that idea then
19:08:58 <abadger1999> if the bot labels them all, then you can use the label to map to botmeta.  If the bot just cc's the maintainers, you could try looking for that special comment adding the cc list.
19:09:17 <gundalow> gwmngilfen: BOTMETA is used by anywhere we use the bot, so general, network, amazon, vmware (and possibly windows)
19:09:31 <abadger1999> gwmngilfen: Potentially any collections using the bot (which I think is what felixfontein just listed)
19:09:50 <gwmngilfen> and these presumably all have multiple collections in, similiar to c.g
19:10:00 <gundalow> If we need to hack the bot to add a hidden comment with meta data that you could scrape we can do that
19:10:32 <gwmngilfen> mmm, i will think about it
19:10:40 <abadger1999> Possibly :-)  Right, I think all of those do but that doesn't mean that a collection might not both use the bot for some things and choose to do merge/commit differently.
19:10:43 <felixfontein> I think the bot does not CC people who already replied before the bot first posts
19:10:48 <abadger1999> *Right now, I think all of those do
19:10:59 <gwmngilfen> my gut feeling is that anything using the bot is likely to be always active, which makes it less of a priority for tracking these things
19:11:54 <gwmngilfen> not to say we hould ignore it, but implementing the time-to-first-comment using author_association from GitHub will be a good first step, and covers anything not using the bot
19:11:55 <gwmngilfen> then I can refactor more complex stuff after that
19:12:49 <andersson007_> would be great to use a similar approach(es) for all collections under ansible-collections
19:13:51 <gwmngilfen> yeah, but I always want a prototype done by Fest :)
19:13:56 <gwmngilfen> s/always/also
19:15:22 <andersson007_> i mean if the bot works not in all collections, the approach with botmeta doesn't feel fair
19:16:20 <gwmngilfen> oh i see. i'm talking about blending them - use author_association where it works, query botmeta for the more complex repos. in either case, we should get a valid time-to-first-comment metric
19:16:36 <gwmngilfen> how much to folk want to see trends? is it useful/valuable to see your time-to-X over the last few months?
19:16:56 <gwmngilfen> (basically this translates to me use cron to storie the data in some simple db every week)
19:18:02 <felixfontein> seeing it over a few months would be helpful I think
19:18:21 <felixfontein> for detecting orphaned repos, it might be useful to even have it over years, to see how it used to be in the past :)
19:18:48 <gwmngilfen> if im storing it at all, it might as well be for a while :)
19:18:58 <gwmngilfen> ok, logging an issue for that
19:19:17 <abadger1999> Heh, I could see tons of useful-but-out-of-initial-scope things to do with historical data.
19:19:27 <andersson007_> gwmngilfen: don't forget to regular back up your database;)
19:19:30 <acozine> heh, instead of canning food, you're doing data prepping, gwmngilfen?
19:19:31 <gwmngilfen> feel free to log them :)
19:19:44 <gwmngilfen> https://github.com/ansible-community/stats-collections/issues/7
19:19:46 <andersson007_> regularly
19:19:53 <gwmngilfen> andersson007_: indeed!
19:20:02 * gwmngilfen was a sysadmin, once. backups are underappreciated
19:20:06 <abadger1999> Like, "Should we schedule X during hte holidays because more people from the community are available to work on it or not because less employe4es are avaiable?"
19:20:22 <felixfontein> hehe :)
19:20:29 <felixfontein> depends on the community-employee ratio ;)
19:20:33 <gwmngilfen> ah, that involves solving the identity problem first. good luck :)
19:21:06 <abadger1999> gwmngilfen: All we'd really need to answer it is "Did work increase or decrease every year in this time period"
19:21:34 <abadger1999> it moots the identity issue  ;-)
19:21:57 <gundalow> I need to drop shortly, will catch up tomorrow
19:21:59 <gwmngilfen> heh, true i guess. but thats not what time-to-event metrics will tell you. for that you probably want to look at the time series of issues/prs/commits
19:22:09 <felixfontein> gundalow: btw, since you know someone at github, github seems to have problems in the UI: if I reload https://github.com/ansible/ansible/blob/devel/docs/docsite/rst/porting_guides/porting_guide_2.10.rst or https://github.com/ansible/ansible/blob/stable-2.10/docs/docsite/rst/porting_guides/porting_guide_2.10.rst, the "Latest commit" is changing sometimes, and the history is sometimes wrong
19:22:15 <felixfontein> as well. it seems to confuse branches.
19:22:27 <felixfontein> gundalow: that was already happening this morning, and I just saw that it is still happening
19:22:56 * gundalow looks
19:23:33 <gundalow> oh, that's funky. I'll report that tomorrow
19:24:07 <felixfontein> thanks!
19:24:18 <gwmngilfen> i gotta run too. thanks for the input folks. I hope I'll have some things to get feedback on before fest :)
19:24:21 <gwmngilfen> feel free to log further thoughts on the repo
19:24:35 <felixfontein> we're overtime anyway :)
19:24:39 <felixfontein> thanks gwmngilfen and bye!
19:24:59 <felixfontein> #topic open floor
19:25:05 <felixfontein> anything else for today?
19:25:27 <gundalow> Done a quick hack for an interactive lab https://www.katacoda.com/gundalow/scenarios/testing-collections
19:25:44 <gundalow> It would be multiple steps with a lot more details of the what/why
19:25:59 <gundalow> Source is https://github.com/gundalow/katacoda-scenarios/blob/master/testing-collections/step1.md
19:26:27 <gundalow> Do people think something like this might be useful?
19:26:44 <gundalow> You can see a good example of what a finished Ansible *user* lab is here: https://www.katacoda.com/rhel-labs/scenarios/ansible-introduction
19:27:59 <baptistemm> katacoda scenarii are great tool
19:29:14 <acozine> hrm, I  havne't signed up for katacoda
19:29:27 <acozine> but in general that sounds like a great resource
19:29:34 <samccann> are (new) developers likely to use a scenario  walkthrough?
19:29:37 <acozine> baptistemm: ++ for `scenarii`
19:29:51 <samccann> heh was about to do that as well  baptistemm++
19:30:39 <baptistemm> living next to Italia
19:30:42 <samccann> gundalow: meaning, are they more likely to go through a presumably short scenario with everything set up for  them, or want the instructions to do it themselves on a laptop?
19:31:34 <baptistemm> gundalow: want would be the scope of this scenario ? debugging collections ?
19:37:37 <gundalow> samccann: that's something I'm unsure about
19:38:53 <samccann> gundalow: - my nickel - make it short, see how frequently it gets used and then decide if it's worth expanding
19:39:03 <samccann> (or adding more)
19:39:13 <gundalow> Sounds good
19:39:49 <gundalow> I guess same steps could be used for someone to use on their laptop
19:42:01 <gundalow> Thanks
19:42:18 <acozine> maybe do a "drop-in" session at Fest for devs who want to try it out?
19:42:27 <acozine> or promote it during Fest some other way?
19:42:37 <acozine> see if folks respond positively
19:44:57 <baptistemm> could be good for learning writing modules / tests / lookup
19:45:13 <baptistemm> s/for learning/to learn/
19:47:47 <felixfontein> btw, if you want to #info something, feel free
19:48:02 * baptistemm just arrived late
19:48:28 <gundalow> If people have suggestions I'm happy to hack up some stuff. I just want to have some things people could play with for Contributors Summit
19:48:54 <felixfontein> #chair baptistemm
19:48:54 <zodbot> Current chairs: GHellings abadger1999 acozine andersson007_ baptistemm cyberpear dmsimard felixfontein geerlingguy gundalow gwmngilfen resmo samccann
19:49:00 <felixfontein> (in case you weren't on that list yet)
19:49:16 <baptistemm> well I'm basically not there
19:50:27 <acozine> heh, felixfontein you are seriously going for that meeting record today!
19:56:48 <felixfontein> acozine: not really, but I'm not sure whether you all are still discussing something or not :)
19:56:57 <felixfontein> I guess it's time to close
19:56:59 <felixfontein> #endmeeting