#470 Improving Fedora sponsors discoverability
Closed: accepted 2 years ago by frostyx. Opened 2 years ago by frostyx.

Inspired by @msuchy's Flock 2016 presentation, I
would like to tackle one of the topics discussed there - The
discoverability of Fedora sponsors for newcomers. Quoting from the
follow-up thread on a mailing list:

c) Create wiki page with list of sponsors willing to accept new
sponsoree. And list area of expertise of sponsors (e.g. java, python,
IoT...). This will make for sponsoree easier to find right sponsor.
Because we have some sponsors, who are active but are not willing to
accept new sponsoree right now.
-- Miroslav Suchý

and

Overall, I think the biggest problem with our Fedora contributor
on-boarding process is that it's not so easy to discover people to
help people get started.
-- Neal Gompa

I would like to show you a very early demo of a page that I started
implementing for this purpose. It isn't deployed anywhere yet because I
don't want to expose any sensitive information. For this reason, I
will show you screenshots instead

I would like the end result to look similar to the
Flock speakers page page. A simple grid of profile
pictures, basic information, and links to other sites.

Thanks to fasjson, I was able to find all Fedora packager
sponsors and fetch their personal information. Once this
fasjson RFE gets resolved, we will be able to fetch
even more information (such as Github/Gitlab name, personal website
URL, profile picture, etc). Basically, everything that is visible in
the https://accounts.fedoraproject.org/user/frostyx left column.

Based on this information, I was able to automatically divide sponsors
into groups based on their timezone and the region they are located in
(based also on the timezone information).

I think a much more important division is by areas of
interest/expertise (python, java, web development, etc) and native
languages. For this, I created two YAML documents -
interests.yaml and languages.yaml.
Their format is the simplest possible, e.g.

Czech:
  - msuchy
  - sharkcz

French:
  - remi
  - pingou

Since new sponsors don't appear too frequently, I think it would be
just fine to update such documents when there is a new sponsor. Also, I
think that assigning sponsors to their areas of interest could be
half-automatized based on their SIG groups and then only complemented
by the interests.yaml file.

I chose to implement this as a static web page instead of a wiki page
for a couple of reasons.

  • We can periodically rebuild the page to show up-to-date
    information. If we chose wiki, we would IMHO have to update the
    information manually.
  • It can actually look pretty.
  • It doesn't necessarily have to be displayed as a single page. We can
    have a main menu containing Areas of interest / Native languages /
    Regions / Timezones options, and then show only that one division
    per page for better readability.
  • A cons in comparison to wiki would be having to send pull requests
    for new changes. However, this can be solved by granting write
    permissions to all sponsors.

Also, there was a possibility to implement this as a WSGI application
with a database and everything. I didn't do it because:

  • It is IMHO an overkill
  • Too much maintenance required. A static site can be easily deployed on
    Github pages (or somewhere else) and the only thing we have to setup
    is a DNS record for it.
  • The only benefit of a dynamic website that I see, is FAS
    authentication. The page contains personal information and having
    them (or some of them) auth-only would be ideal.

Let's talk about the personal information for a minute. Can we show
them without authentication?

  • I think it could be opt-in to be listed on this website. We would
    simply show only sponsors that explicitly gave us permission to do
    so (or the other way around and opt-out sponsors that are not
    willing).
  • We can show only a subset of information about each sponsor and say,
    that for more information, see their accounts.fedoraproject.org
    profile (which currently doesn't show their email address, it
    should IMHO).

That's probably all I wanted to say. Please, let me know what you
think. Hopefully, we find some consensus here and make new Fedora
packagers' lives a little bit easier.


What about a link to the wiki page (https://fedoraproject.org/wiki/User:<nick>) ?

The only benefit of a dynamic website that I see, is FAS
authentication. The page contains personal information and having
them (or some of them) auth-only would be ideal.

I think this is an important concern. Maybe you should talk to the infra folks to figure out solution that would allow the page to be hosted from one of our servers and provide fas authentication? Since normal fas information is "locked" behind a fas login, if you use the same rules for this new presentation mode, there should be no issue with exposing the information. I don't think it should all be exposed without this.

You mentioned opt-in vs. opt-out: somebody would have to get those opts, and record them somewhere. And it's would be nice and simple to have everyone on the page.

One important issue with sponsors is that people get overloaded and sometimes don't have time for new assignments. Your page could show two kinds of information:
- a flag that the sponsor is (temporarily) busy. This would need to be self-service and easy.
- some meter that checks if the sponsor was recently active in Fedora, something like one of the scripts which check last irc, koji, bugzilla, mailing list activity. If the user hasn't been active in the last 3 months (?), they should be greyed out.

CC: @fedora-join

Thanks for this. It'll be very useful.

I wanted to note that the Fedora Join SIG's "Welcome to Fedora" process has a tag for newcomers that may be interested in packaging (and other areas):

https://pagure.io/fedora-join/Welcome-to-Fedora/issues?tags=I%3A+Packaging&status=Open

I know we expect folks to reach out to sponsors but for newcomers that can be a little daunting---especially if they don't know the sponsor yet. I also know that sponsors are very busy, but perhaps if folks could take a look at these from time to time and pick up folks to mentor/sponsor, that may help somewhat.

I do not see how hiding personal information behind a FAS login protects our privacy in any way, given that anyone can sign up for a FAS account. It is just an inconvenience when I need somebody's contact information, and it actually means Fedora gets to log who looks at whose personal information, which is also personal information.

Personal information is either private (i.e., nobody should be allowed to view it, with or without FAS login) or public, there is no middle way.

Can't you just request someone's FAS account details by asking zodbot?

<mbooth> .fasinfo mbooth
<zodbot>        User: mbooth, Name: Mat Booth, email: mat.booth@redhat.com, Creation: 2008-04-03, IRC Nick: mbooth, Timezone: Europe/London, Locale: en_GB, GPG key ID: 0x836230D4, Status: active
<zodbot>        Approved Groups: giteclipse-fedorapackager fedora-uk cla_fedora cla_done +packager fedorabugs provenpackager cla_fpca

This info is not private, nor even protected behind any kind of authentication

Can't you just request someone's FAS account details by asking zodbot?

True, I didn't know that

I do not see how hiding personal information behind a FAS login protects our privacy in any way

I agree with you. All personal information that I have in my FAS account can be found elsewhere (Facebook, my blog, etc) within 5 minutes but I don't know if anybody else views this differently.

If it was up to me, I would probably show everything that is currently available in the accounts.fedoraproject.org left column without any authentication. The only thing I wouldn't show is an email address so that some crawlers don't find it and spam you.

What about a link to the wiki page (https://fedoraproject.org/wiki/User:<nick>) ?

Sure, I will add the link :-)

One important issue with sponsors is that people get overloaded and
sometimes don't have time for new assignments. Your page could show
two kinds of information:
- some meter that checks if the sponsor was recently active in Fedora,
something like one of the scripts which check last irc, koji,
bugzilla, mailing list activity. If the user hasn't been active in the
last 3 months (?), they should be greyed out.

I like this idea, I would like to implement something like this. There is only one blocker. We would have to setup some cronjob to rebuild the page (which is easy) but the script that I use for fetching data currently requires running kinit first, so I am not sure how this would work without any user interaction.

I will start working on this anyway, and hopefully, we will get rid of the kinit limitation on the way.

I also know that sponsors are very busy, but perhaps if folks could take a look at these from
time to time and pick up folks to mentor/sponsor, that may help somewhat.

Sponsors are busy for sure, that is a whole other discussion :-). With this page, I would like to solve the scenario where new packagers wait weeks/months/years without package review / being sponsored and don't have anyone to ask directly. IMHO even getting several "I am busy, try somebody else" responses is less demoralizing than just waiting if somebody takes the RHBZ bug.

but the script that I use for fetching data currently requires running kinit first, so I am not sure how this would work without any user interaction.

@frostyx this is why kerberos service principals exist ;-)

I agree with you. All personal information that I have in my FAS account can be found elsewhere (Facebook, my blog, etc) within 5 minutes but I don't know if anybody else views this differently.

Yeah, but this is about having all ~300 sponsors on one page that can be trawled easily. So even if this information is available elsewhere, it may not be available conveniently.

If it was up to me, I would probably show everything that is currently available in the accounts.fedoraproject.org left column without any authentication. The only thing I wouldn't show is an email address so that some crawlers don't find it and spam you.

You are right. With the exclusion of the email address, it seems fine to show it. Just say "The email can be retrieved from the FAS account (link…)".

You are right. With the exclusion of the email address, it seems fine to show it. Just say "The email can be retrieved from the FAS account (link…)".

Exactly. I am going to pursue this if nobody is against it.

Do you have any thoughts on this, please?

Also, I think that assigning sponsors to their areas of interest could
be half-automatized based on their SIG groups and then only
complemented by the interests.yaml file.

I am going through group memberships of sponsors that I know personally and they don't have any relevant *-sig groups. I don't know the infrastructure that well, ... is it possible to tie people to their insterests somehow?

Might I humbly suggest this should have discussion on the devel list?
I think it's a great idea, but I think discussion there would work better, get more input and end up with a better result in the end. :)

Might I humbly suggest this should have discussion on the devel list?

Sure. At first, I wanted mainly current packager sponsors to validate this idea but it is probably time for devel mailing list :-) First, let me post current screenshots here.

Page with all sponsors:

sponsors-all-3.png

Page with grouped sponsors into the areas that they are interested in:

sponsors-interests-3.png

The design and the whole page is very simple and I don't intend to add anything more (unless they are some reasonable suggestions).

I think this is a great idea @frostyx and I really like the current mockup. I would keep it simple initially and resort to sponsors filling the information in manually, as scraping them from SIG membership could be a bit too brittle.

Shall we keep this open for any reason? Or close it out now?

And many thanks for working on this!

The site is deployed here
https://docs.pagure.org/fedora-sponsors/

I am going to close this ticket,
thank you for the discussion here.

Proper announce coming soon ...

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

2 years ago

Login to comment on this ticket.

Metadata
Attachments 2
Attached 2 years ago View Comment
Attached 2 years ago View Comment