#479 RFC - Change to Sponsorship model
Closed: declined by msuchy. Opened by msuchy.

For the past few months, when I sponsored someone who wanted co-maintain package in Fedora I spent one hour and went briefly through Fedora packaging process. Mainly explaining what is dist-git, how to build a package and how to submit a Bodhi update.
I have this slides for this:
https://bit.ly/3B4wks8

I wonder whether we should make it mandatory? For the co-maintainer way. Or even for the regular way.

Current guidelines [1] somehow say that:

They (package owner) agree to be responsible for mentoring you in how to follow the Fedora Packaging Guidelines and how to use the tools Fedora provides for building and pushing packages

But we do not provide any guidance on how to do that. I believe that the presentation I linked above can be a good starting point.

Maybe even for the regular way. Again current guidelines say:

To show you familiarity with Fedora's guidelines perform unofficial (also called preliminary) reviews in other maintainers' package review requests.

I believe that this text is nearly 20 years old. Coming from an age when video-conferencing was top technology for only a few people. Nowadays, thanks to pandemics, video-conferencing is a common tool and we can actively educate newcomers and not only hope that they will read everything on their own.

[1] https://fedoraproject.org/wiki/How_to_get_sponsored_into_the_packager_group#Submitting_quality_new_packages

My questions are:

1) Do you agree that Sponsor who grant packager status to new co-maintainer should explain the Fedora process to sponsoree? Alternatively, that package owner does that.

2) Do you agree to change proving the knowledge from 3 non-official reviews to active discussion/learning sessions with the sponsor via video-conferencing? Right now, I am not fixed on some wording. Just wondering whether it is a generally a good way to go or no.

Plain +1/-1 are welcome. As well as verbose comments.


I like the general idea of having more mentorship and teaching in the packaging process.

At the time (I might have written that text?) I believe one of the concerns beyond teaching was to give them the chance to apply their knowledge in a practical setting. We were also worried about Red Hat folks short-circuiting the process ("I don't need to actually understand the details, I work here, gimme access."). Last, but not least, even informal reviews help move new packages forward, and we had quite a backlog then (we may still).

I do agree with point 1: There should be an explanation between new packager and sponsor/package-owner and having standardized content for that would be extremely helpful. Doing this over video-conferencing seems like a great way to go.

I think we should not enforce the use of VC -- I mentored (but not sponsored, someone got to it first) someone over IRC+Matrix just fine, though we would sometime VC during conferences. They're in a different timezone so finding a time that works is the problem, but for some people, a video call with a stranger might not feel comfortable (whether as a sponsor or as the sponsee).

For the co-maintainer route... seems like it should be a joint responsibility. It makes sense to me that the sponsor does the general onboarding, but the existing maintainers are probably better placed to provide day-to-day guidance on the actual packages themselves.

I’m a strong -1 on requiring a direct video “lecture”.

Personally, I am happy to mentor (and receive feedback) extensively as long as it is asynchronous, via email, Bugzillas, PR’s, and so on. As a volunteer and a full-time stay-at-home parent of small children, video-conferences and telephone calls are much more demanding of dedicated time and attention, to the point that they represent a significant imposition.

I probably won’t choose to sponsor anyone in the future if this becomes a requirement. In fact, scheduling a one-hour video meeting might have been annoying enough to dissuade me from becoming a packager in the first place. That might sound silly to some, but different people are living different lives.

Please also consider the impact on prospective packagers and sponsors who fall into one or more of the following categories:

  • Have slow, metered, or unreliable Internet access
  • Live in time zones opposite from possible mentors/mentees
  • Are reasonably comfortable with written English but less so with spoken English

It’s hard to measure the potential chilling effect on such packagers, whose efforts we very much can use—as long as they are willing to read documentation, accept feedback, and ask questions.

I think videoconferences cause more problems than they solve, e.g., there are no longer any complete logs of SIG meetings from those SIGs that have switched from IRC to videoconferences. I think it would be absolutely wrong to make it a requirement to use them. Mentoring over IRC has worked fine all this time.

I also doubt such a requirement would be enforcible to begin with, considering that nobody is going to watch a 1-hour recording of a videoconference, if it is even recorded at all (and recording the mentoring conference would be an additional pull-off!), so it would be easy to cheat and just claim the conference happened when it never did.

If you really want to teach packagers over video, you can provide a recorded video so that we do not have to explain the same things over and over again. But I would also not make it a requirement to watch that video. A written transcript ought to be provided as well.

(Videoconferences are useful as a replacement for face to face meetings, not so much as a replacement for IRC and e-mail.)

-1
I don't think video conference is the solution. About your questions
1) I agree that Sponsor should explain all the process to new package maintainer
2) I disagree. Practical experience is important here. Explaining theory is not the solution. Or if you mean to discuss practically by demoing how packaging works they why not create some video tutorials for new maintainers? It can be used by all new maintainers then.

I think it would be nice to say that videoconfering is an option. I agree that it should not be a requirement.

Maybe we could enhance https://docs.pagure.org/fedora-sponsors/ to include a "Contact methods:" field, with irc, mail, phone, videoconference, matrix, etc, as options?

^ @FrostyX

videoconfering isn't an option here as I have no Mic or Webcam :-)

Mentoring over IRC has worked fine all this time.

It hasn't because nobody does it. There are no avenues to actually do mentoring in Fedora anymore, and we don't have an established practice for it. It's totally ad-hoc and that in itself has caused issues.

Generally, mentoring has fallen out of favor in the last few years to just giving it to people and letting them run with it.

1) Do you agree that Sponsor who grant packager status to new co-maintainer should explain the Fedora process to sponsoree? Alternatively, that package owner does that.

The idea of the 'become a co-maintainer' path to being sponsored was for cases where someone didn't have new packages to submit, they just wanted to help with existing packages, and from what I can recall, the package owner was/is supposed to do that. They agree to mentor the new co-maintainer and help them learn how to do things. This was also a way to spread out this task to more people instead of only being sponsors doing it.

2) Do you agree to change proving the knowledge from 3 non-official reviews to active discussion/learning sessions with the sponsor via video-conferencing? Right now, I am not fixed on some wording. Just wondering whether it is a generally a good way to go or no.

Well, sponsors can sponsor someone as long as they feel they understand how things work and the sponsor feels they would fulfill the duties and responsibilities of package maintainer. If you feel you can teach someone without them doing non official reviews, you could sponsor them. As spot noted tho, the idea of non official reviews was to help spread out reviewing to more people in addition to them learning from those reviews.

I think whatever mutually agreed upon communication medium works between a sponsor and sponsoree, be that video meeting, telephone call, email, irc, matrix, letters or rfc2549 (although the last two will be very slow). I don't think we can/should mandate any particular one.

I like the idea of a video we can point new maintainers to, just like other documentation.

Mentoring over IRC has worked fine all this time.

It hasn't because nobody does it. There are no avenues to actually do mentoring in Fedora anymore, and we don't have an established practice for it. It's totally ad-hoc and that in itself has caused issues.

Well, I definitely have sponsored some folks in this last year that have communicated to me via irc asking questions or what they should do about specific packaging things. Isn't that mentoring?

Anyhow, perhaps this ticket would be better on the devel list for more input?

The slides look very helpful!

If we already have slides and this is supposed to be a presentation given to each new packager, why redo the presentation every time? What about having a video (on YouTube or wherever) that a new packager can watch (possibly together with the sponsor)? The sponsor could then still be available for any immediate questions.

I generally like the idea to overhaul this. I'm also not sure whether the informal review bit is still up-to-date. Nowadays, many people package in COPR for a while before they become official packagers. Treating them as total newbies is often quite odd.

Having VCs as an option also sounds good, but (as other have said) I don't think it should be mandatory.

@ngompa:

Mentoring over IRC has worked fine all this time.

It hasn't because nobody does it. There are no avenues to actually do mentoring in Fedora anymore, and we don't have an established practice for it. It's totally ad-hoc and that in itself has caused issues.

Generally, mentoring has fallen out of favor in the last few years to just giving it to people and letting them run with it.

But adding a video conference as a requirement is not going to help with that issue. I think it would actually make it more likely that the mentoring will only happen "on paper" and not in practice.

@thofmann:

Nowadays, many people package in COPR for a while before they become official packagers. Treating them as total newbies is often quite odd.

The problem with Copr and other similar platforms (e.g., OBS) is that there is no QA whatsoever, so packages in Copr do not necessarily comply to our guidelines, or even any distro's guidelines for that matter. (OBS packages also often do not even comply with openSUSE guidelines, let alone with ours.) E.g., you can get away with just repackaging a binary blob in Copr, which is of course a complete no go in an official Fedora package. Such a "package" in Copr then does not prove any real-world packaging skills at all.

So, when the packager has packages in Copr, somebody needs to actually look at the specs before we can assume that the packager knows what they are doing.

@ngompa:

Mentoring over IRC has worked fine all this time.

It hasn't because nobody does it. There are no avenues to actually do mentoring in Fedora anymore, and we don't have an established practice for it. It's totally ad-hoc and that in itself has caused issues.

Generally, mentoring has fallen out of favor in the last few years to just giving it to people and letting them run with it.

But adding a video conference as a requirement is not going to help with that issue. I think it would actually make it more likely that the mentoring will only happen "on paper" and not in practice.

I agree mandatory videoconferencing will not help. However, we're still doing nothing about fixing the underlying problem. I'm just stating that your assertion is wrong because otherwise we would not be having this conversation at all. We can't keep doing what we're doing now and expect it to work out.

@thofmann:

Nowadays, many people package in COPR for a while before they become official packagers. Treating them as total newbies is often quite odd.

The problem with Copr and other similar platforms (e.g., OBS) is that there is no QA whatsoever, so packages in Copr do not necessarily comply to our guidelines, or even any distro's guidelines for that matter. (OBS packages also often do not even comply with openSUSE guidelines, let alone with ours.) E.g., you can get away with just repackaging a binary blob in Copr, which is of course a complete no go in an official Fedora package. Such a "package" in Copr then does not prove any real-world packaging skills at all.

So, when the packager has packages in Copr, somebody needs to actually look at the specs before we can assume that the packager knows what they are doing.

Indeed.

The problem with Copr and other similar platforms (e.g., OBS) is that there is no QA whatsoever

Copr allows you to run fedora-review after a build. Which try to replace warm human hug by warm machine hug :) http://frostyx.cz/posts/running-fedora-review-after-copr-build

Thank everyone for the comments. My takeaway is:

  • mandatory video conferencing sessions are no-go

  • We cannot find consensus on how to change the model (either on direct sponsoring or co-maintainer way), but having pre-recorded videos would be nice to have.

I will try to record such videos. My goal and ETA is 2 months.

I am going to close this ticket, but if you have any late comments you are still welcome to share it here.

Metadata Update from @msuchy:
- Issue close_status updated to: declined
- Issue status updated to: Closed (was: Open)

Good point about the "running fedora-review" feature. That is indeed helpful if it is enabled. But someone still has to look at its output. :-) And of course enabling it is not mandatory, and will generally only be done by the maintainer if the intent is to submit those packages for official review soon.

Metadata