Problem/Motivation

On my profile https://www.drupal.org/u/alexpott it says that I've contributed to 66 issues in the past three months. This is line with git log - git lg --since '3 months' | grep alexpott | wc -l gives an answer of 72. However, also in the past three months I have done 495 commits - http://cgit.drupalcode.org/drupal/stats/?period=q&ofs=10. These are also contributions. However, we have a policy of not crediting committers for patches (although it is our job to do a thorough review).

Proposed resolution

  • Change the heading on the profile page to more accurate wording

    Credited on X issues fixed in the past 3 months
  • include commits in the total
  • Do not have a row for each project, show total. Link total to a page which has a table like #9

Remaining tasks

  • File separate issues for problems in #15

User interface changes

API changes

Data model changes

Comments

webchick’s picture

I think the rationale is you got credit for those 495 commits under Projects > Drupal core. Versus this section is checking issue activity (and specifically issues *fixed*) in that time.

(Not saying I agree with this rationale, just saying they're tracking two different things, and that credit is multi-faceted.)

webchick’s picture

A couple of ways I could think of to help with this:

1) In the Git commit message string generator thing, pre-populate the --signoff property with the maintainer's information. Count those in the stat about "Contributed to fixing XX issues in the past 3 months." Might need changes to Version Control API, I dunno.

2) Get rid of the silly historical projects/commits listing (or bury it on a sub-tab somewhere) in favour of a "recent commits" block "Committed X times in the past 3 months" or whatever. Then "Poll (from core)" would not be my second-highest committed-to project, and people would stop asking me about Organic groups, which I haven't maintained since 4.7. ;)

alexpott’s picture

Yes, the committers contribution is listed under Projects > Drupal core. However, we're now also listing contribution in another list and not stating what this contribution is and is not tracking. I think that the solution to this will be to combine all the lists and be explicit about what is counted - maybe with separate columns.

joshuami’s picture

Title: Contribution numbers are confusing » A user's profile should clearly show how they contribute
Category: Task » Feature request
Priority: Major » Normal
Issue tags: +drupal.org profile improvements

Agreed. We have plans to continue working on how we show the issue credits—both on user profiles and organization profiles. I will check with @drumm to see if the committer will get pulled in as an issue credit from the historical commit messages when those get parsed. If they don't, they should.

I've changed the title around a little to reflect this as a user story that we can prioritize and get into the work plan. Now that we actually know what the data looks like, we plan to start mocking up better profile views.

drumm’s picture

Should commits be summed up into the same number as issue credits? I think --author is strong enough of a signal to be called out. And commits without issues, while non-ideal, do happen for initial development and other getting things done.

I think the lists could be combined, together with #2042697: Add historical issue credits to Drupal.org user profile:

Drupal core: 66 recent issues, 1024 total & 4483 commits

That could use some UX work, maybe better punctuation can be found, or do something more visual.

yesct’s picture

I dont think we need to separate out the commits from the totals. they can appear a bit different in the view if necessary (like if there was no issue), otherwise, link to the issue same as if they had otherwise gotten credit via the credit UI or the commit message.

joshuami’s picture

This might be a good case for a well designed table. Here are a couple of variations on how we might compact quite a bit of this data into a relatively small place.

contribution table option 1

contribution table option 2

In these examples, the totals would link to views with the details of either credits (as in the current links on the profile) or commits (we do not have a view for this right now).

webchick’s picture

StatusFileSize
new201.2 KB

Oh dear. :) The profile page is more than busy enough as it is without the weight of a big table like that, IMO.

I would much rather we hide the complexity behind something user-friendly and extensible. For reference, here's what the proposed mockup was in Dries's keynote in LA:

So something like:

Activity in last 3 months

12 issues closed

495 commits

23 documentation edits

Some other heading that implies more permanence

24 projects authored

5 projects maintained

....whatever. And then clicking through "more info" goes through to a table with more details on which issues/projects/commits/etc.

joshuami’s picture

StatusFileSize
new27.94 KB

The table approach would definitely be busy. While a bit more design time could make it look a lot less busy, I like the idea of condensing the information even further. I still like the idea of a table for this sort of information, if we can distill it down a bit more.

That said, I do really like that last section you comped up. How about calling the longer term section "project contributions"? We should also use the term "issue credits" instead of issues closed. That may create an impression that the issue statuses were changed to get the credit.

Activity in last 90 days

12 issue credits

495 commits

23 documentation edits

Project contributions

24 projects authored

5 projects maintained

The views linked from each count would need to be a bit more detailed, perhaps a view with a filter for project in addition to the information there now, but I like the idea of taking that complexity off of this page.

webchick’s picture

Issue tags: +Needs design review

Well, I guess my concern with table columns is that it's definitely a goal to expand the types of credit we can show on D.o user profiles far beyond just code-y things. D8 Accelerate contribution, documentation, support, event sponsorship, sprint leading/participation, mentorship, design, UX, etc. etc. The table simply will not scale out to more than about 3 things without causing a horizontal scrollbar (and on mobile even the simpler three-column table in #9 likely doesn't fit into the viewport even by itself).

jhodgdon’s picture

On my profile it says I only contributed to fixing 52 core issues in the last 3 months. What is it counting, exactly, as "contributed to fixing"?????

I review way more than that count every week, and I'm certain that there have been more than 55 of them fixed in the last 3 months. Seeing this number on my profile makes me really kind of angry. Is there some way I could just remove it?

So... I really don't care whether my name gets added to the commit credits or not, as I think that people I care about know what kind of contribution I make to Core and to Drupal in general. But quantifying it that way, right there on my profile, saying "... contributed to fixing..." and limiting it (apparently) to whether someone gave me commit credit is going against the whole idea that had been floating around of valuing all kinds of contributions (like reviews, which are not by default checked in the commit credits and are definitely not being applied uniformly).

Can we remove this until we can get it right?

jhodgdon’s picture

Yeah, and alexpott only "contributed" to 66 Core issues, and webchick 7. Uh....

webchick’s picture

FWIW the metric I believe is calculated by issues marked fixed/closed(fixed) of which you have been checked as someone deserving of credit on the issue. The intent being to highlight bringing issues to completion vs. simply commenting (which anyone can do).

If you submitted code, the credit is automatic, but most of us (at least in the core queue) do try and explicitly check others who've contributed significantly.

Is there a better label that we could use here to make that clearer?

David_Rothstein’s picture

I was also thrown off by how few Drupal core issues it says I helped fix, and even more thrown off by how few Drupal core issues it says some of the people above helped fix :) This will also be an issue for contrib module maintainers.

As an interim fix, could it be renamed to "Credited on X issues fixed in the past 3 months"?

David_Rothstein’s picture

I would also agree that displaying additional stats along with it makes sense. This one particular stat isn't really useful enough to deserve so much focus on its own, because:

  1. It doesn't really reflect the person's recent activity. It is very common to go way more than 3 months between posting a patch and having the issue fixed...
  2. It seems to be buggy (I guess these could be filed as a separate issue and maybe they are fixable):

I would like to see stats like number of comments during the past 3 months (including forum posts too, not just issues), number of patches posted during the past 3 months, etc. I think those are generally more useful as a measure of activity than this "issue credit" stat.

Really like the overall change here, though.

jhodgdon’s picture

+1 on the title fix in #14. That would at least be more descriptive of what it is showing.

But really I still think if we're going to walk the talk about the community valuing all contributions, we should have a low bar and credit anyone who commented on an issue as "contributing to fixing", whether or not the committer checked the box.

And if we wanted to make such a big deal about checking the box as the only way that comments/reviews "counted" or "contributed" to fixing the issue, it should have been better announced. Until yesterday, I (who I think is generally fairly on top of what's happening, reads the posts in Core and Planet etc.) knew about that area only as an instantaneous tool to easily make commit messages I could copy/paste, not as a tool for gathering metrics that were going to affect people's user profiles. So for instance I haven't gotten credit for fixing many issues in the past 3 months on my own contrib projects where I made the issue and committed the fix without uploading a patch or checking that box. What a farce!

jhodgdon’s picture

And I also take issue with what webchick says in #13. This is not actually happening for issues in Drupal Core... when I look at Core issues that have recently been fixed or closed/fixed in my issue queue, issues whose patches I reviewed carefully, and in many cases multiple times and often really I was a collaborator on getting the code working or cleaner or more efficient (they're not all docs ones), I do not have credit on very many of them.

Also just a question: what if a patch gets committed and then marked "to be ported" to 7.x -- does it get into the list at all then? It could be years (or never) before the port is done, but if anything those are even more important issues in many cases than the ones that just get "fixed".

David_Rothstein’s picture

Also just a question: what if a patch gets committed and then marked "to be ported" to 7.x -- does it get into the list at all then?

I believe it does not - see my last example in #15.

yesct’s picture

Issue summary: View changes

I think the table could be used on a separate page that gets linked from the profile, but not on the profile itself.

Sounds like the concerns in #15 need separate issues.

I agree with the relabeling of the area *on* the profile with
Credited on X issues fixed in the past 3 months
is a transparency improvement.

I also, think that the page it links to needs a good label also. ... so here is an issue for that: #2522070: Give better context for list of issues credited on d.o

-------

Suggestion, on the d.o profile, give a total:
Credited on X issues fixed in the past 3 months

and do not list them by project.

link
X issues
to a page per user, which has the table @joshuami is suggesting.

---
I listed proposed resolutions in the summary.

yesct’s picture

Issue summary: View changes

starting a remaining tasks list in the summary so we do not lose track of things to do.

yesct’s picture

some contribution credit issues have d.o profile improvements tag, and some have nothing and are easy to get lost (and not about profiles), so tagging to organize credit ones.

David_Rothstein’s picture

Category: Feature request » Bug report
Status: Active » Needs review
StatusFileSize
new1.68 KB

The current behavior is confusing enough to be called a bug.

Here's at least a patch for #14, which is the simplest improvement from the above discussion (although not a complete fix).

David_Rothstein’s picture

Looks like one of the side problems mentioned above now has a separate issue.

xjm’s picture

I think #22 is a good incremental improvement, though maybe a separate issue since the scope of this is much wider? Way meta: We have some of the same contribution crediting difficulties for @David_Rothstein's patch itself. :D

drumm’s picture

Category: Bug report » Feature request
Status: Needs review » Active

I went ahead and committed #22. It will be deployed within an hour from now.

xjm’s picture

I was talking to Vj today at DrupalCon Asia and we discussed that it would be good to be able to see all contributions, including older ones, somewhere on Drupal.org. So a user's profile could have a link to "See all issue contributions" that would link the full list for all time instead of just the past 90 days.

xjm’s picture

bramdriesen’s picture

Sorry to dig up a very old ticket (was looking at my very first "posts" list 😉), but I'm wondering how relevant this ticket is in 2023.

Multiple things are already addressed in this day and age. For example the Credited on X issues fixed in the past 3 months has been replaced by showing the full list of credits for all projects. So in short Credited on X fixed issues.

Also the commits part I think is a lot more visible now with GitLab where you can see the commit over a timeframe and also the projects in which those happend. To add on that, counting commits is not a metric for productivity. It's also not part anymore of the Drupal.org profile itself anymore since the integration of GitLab.

You now also have the list of projects you maintain at the bottom of your profile.

My gut instinct is telling me that we could close this issue.