dotnet / website-thanks-data

Console app for creating data file for https://thanks.dot.net
https://thanks.dot.net
MIT License
5 stars 7 forks source link

Remove MS contributors #11

Open danzhu54 opened 3 years ago

danzhu54 commented 3 years ago

Immo suggested we remove MS employees from the list of contributors to highlight the community. Using Microsoft.DotnetOrg.Ospo we'd be able to find the list of MS employees and filter them out.

mairaw commented 2 years ago

@danmoseley actually commented here we should continue to include both

Maybe we should discuss with him and @terrajobst what we wanna do here. I know some folks that don't work directly on the product still like to be listed as a contributor.

terrajobst commented 2 years ago

I feel quite strongly that we shouldn't include Microsoft folks. My rationale is: the vast majority of contributions from Microsoft folks, even if they come from another group, are done at work, as part of their employment to Microsoft. Since Microsoft is the primary party building and maintaining .NET, this creates a lot of noise. In my opinion, the web site is designed to say thanks to folks who go above and beyond. In my book that doesn't include folks whose job it is do that in the first place.

And yes, I acknowledge that there are some Microsoft employees who contributed changes in their spare time, outside of their work mandate, but that's a false negative I'm willing to accept. Right now, the web site is full of false positives, which in my opinion negates most the value it's trying to achieve: saying thanks to the awesome community. For the unfortunate Microsoft person that is affected by this: I'm very sorry, but that's why we pay you the big bucks ;-)

Also, I'm aware that there are other people who are also paid to contribute to .NET (such as Intel or RedHat folks). I don't think this matters too much, because again the current problem of the web site is that it's dominated by Microsoft employees, which feels a bit like we're patting our own back.

danmoseley commented 2 years ago

It would be interesting to hear a non MSFT perspective like @tmds

I am comfortable either way.

bartonjs commented 2 years ago

Personally, I think if we are going to do anything we'd do it based on org membership (github, or org-chart) to filter out only the ".NET team(s)". Spare-timers and 10%-projecters from MS are, to me, more of the community that we want to thank than the RedHat folks who are working on-assignment (not that I don't appreciate y'all's work, I'm just trying to explain why "exclude MS" is bad :wink:).

And, even then, I think that the most we should do is make two sections, and put the "non-.NET-Team" community in the top section. That saves on the point in time problem of "was community member, got hired, now get no retroactive credit"... your credit is there, just have to hit page down a couple more times.

tmds commented 2 years ago

It would be interesting to hear a non MSFT perspective like @tmds

I'd not filter anyone out and use the website to thank anyone that contributes to the open-source .NET platform independent of their employer/job.

Maybe some badge/color could be used to indicate a person works on .NET professionally. I'd keep the alphabetical ordering and I would not introduce separate sections.

If I had to pick a filter, I'd leave out the 'maintainers'. These are the people that accept the changes into the repository (by merging PRs).

terrajobst commented 2 years ago

If I had to pick a filter, I'd leave out the 'maintainers'. These are the people that accept the changes into the repository (by merging PRs).

In GitHub speak that's folks with push permissions, but in my experience that's not a great way to identify those because of the size of the org and the number of repos. Not everyone has push permissions to everything, even if they are in principle part of the group of people maintaining .NET. Said differently, it will still cause a ton of false positives.

I fully acknowledge that employment isn't the best filter; but the actual filter "is the person a maintainer" is just very difficult to reliably identify, while "is this GitHub user a Microsoft employee" is very reliable.

Lastly, the primary point of this page is to say thanks to our community. Thus, I'd focus on highlighting those people instead of trying to tease apart which Microsoft employee happens to have done something outside of their direct work mandate, because the set of those is incredibly small and we generally give those folks plenty of credit internally already. We can decide that we'd rather have the web site version of a rolling credits at the end of a movie, in which case I'd indeed list every single person, regardless of employment status. But in my opinion this results in us taking prime real estate that we could have used to spotlight influential community people, which is far more valuable IMHO.

paulomorgado commented 2 years ago

And yes, I acknowledge that there are some Microsoft employees who contributed changes in their spare time, outside of their work mandate, but that's a false negative I'm willing to accept. Right now, the web site is full of false positives, which in my opinion negates most the value it's trying to achieve: saying thanks to the awesome community. For the unfortunate Microsoft person that is affected by this: I'm very sorry, but that's why we pay you the big bucks ;-)

That's me. Except the par to f the big bucks,

I don't really have a formed opinion. On one hand I'm being excluded because I'm a Microsoft employee, on the other hand I understand the issue.

I could create a Microsoft account and be both a Microsoft employee and not a Microsoft employee. If I cared about that. I'm not here for fame or glory.

danmoseley commented 2 years ago

In some repos (dotnet/iot) we've given community members commit rights. Do we begin to exclude them? What about Microsoft employees in a neighboring team, who don't have commit rights? What about contributors that are employed to do the work, but not by Microsoft?

Seems like listing everyone, randomized/alphabetized is both easier and more equitable.

atrauzzi commented 2 years ago

MS deserves credit as do the people who work there. But yeah, maybe increase visibility of non MS contributors as a way to show open source commitment and resultant uptake.

KristofferStrube commented 2 years ago

How big a part of all the people on thanks.dot.net are employed by Microsoft? E.g. how many people on the v6.0.0-preview.1 list are employed by Microsoft? (total 135 people)

mairaw commented 2 years ago

Thanks for the discussion folks. We had some UI updates planned for the thanks page, but I'll consider having a way to distinguish employees and perhaps highlighting the community first.

terrajobst commented 2 years ago

A theme that I see in the discussion on Twitter and here is the difference between giving credit vs saying thanks.

At least for me, there is a difference. When the party saying thanks is mostly thanking itself, then to me this looks selfish. This is more apparent when the party is a single person, but in my opinion this equally applies to cases where the party is a group of people, such as a company. Giving oneself credit on the other hand isn't selfish. That's just stating a fact, like providing the author's name on a document.

So I think it comes down to what we believe this page is meant to represent. Originally, this effort started by trying to highlight external contributions, that is, people who aren't tasked to work on the product as part of their job. Various team members came up with various ways to identity which PRs were coming from the community vs. which ones came from ourselves, mostly to be featured in blog posts. This was duplicated effort and different scripts had different bugs/idiosyncrasies so we weren't super consistent in our messaging.

Now you could ask "what's the point in highlighting external contributions, what matters is having a great product". Some people said "Microsoft is a part of the community that builds .NET, so thanking everyone equally is fine", which is saying something similar.

While I think that's true I also believe it ignores the massive power differential that exists between Microsoft and the community. I think we need to appreciate that a lot of our interactions on GitHub are between people who have the luxury of being paid to do this (which is mostly Microsoft people), and folks in the community that do this in their spare time, on top of their regular job and maintaining their own OSS projects.

If we believe the primary purpose is giving credit, like the rolling credit at the end of a movie, then I think not applying any filter is fine. But then I think we should rename the site to credits.dot.net.

If we believe the primary purpose of the site is to say thanks, then we should highlight external contributions. Highlighting means we shouldn't thank ourselves, we should focus on others.

tannergooding commented 2 years ago

I disagree with this. There are many people, both in and out of Microsoft that contribute to .NET in their spare time.

Not everything is top down work directed by management.

There is so much that goes on because people care about .NET or want to improve things for their personal projects and the people who make those contributions deserve just as much call out as the non-employees.

This also applies to "external" contributions from other major companies.

If there is a concern that the .NET team is mostly thanking itself, then separate out ".NET team" and maybe "Microsoft" from "external contributors" and put them at the bottom.


To give a comparison to this scenario you gave

Imagine a film maker is accepting an Oscar for "best movie" and then talks mostly about himself, rather thank all the people involved. We'd consider this selfish.

In this case, the party saying thanks is Microsoft. We should focus on others IMHO.

This would be true if it were say Satya giving thanks and talking about how Microsoft is great.

That is not the same as .NET/Microsoft directly calling out and thanking the Camera Crew, Makeup Artists, Foley team, etc

The people employed on the .NET team here are not the directors/producers/management. We are the camera crew, the makeup artists, the foley team, etc.

tannergooding commented 2 years ago

I do think focusing on external contributions is great. We can and should do that. If we do it like the below, then external contributors get extra callout as do non .NET team members. But everyone still gets credit.

External Contributors

// ....

Microsoft Contributors

// ...

.NET Team

// ...

terrajobst commented 2 years ago

Based on the conversation on Twitter and in this issue it seems that the vast majority of people (including non-Microsoft folks) would want to have a place where they can see all contributors in one place, including Microsoft people.

There are scenarios (like highlighting external contributions for a blog post) where we'd like to filter to external contributions. We'll need to define more clearly what this means. Again, it seems the overwhelming majority massively dislikes using employment at Microsoft as the differentiator. I'll take point for creating a proposal for this.

UX-wise, I'm not a fan of headings. I propose we use a button/check box style filtering that can also be configured via URL for linking and some sort of visual marker/badge when everything is shown, but that's a minor detail in the design.

mairaw commented 2 years ago

We should work with our web designer on the plan. This is the backlog item for that page updates: https://github.com/dotnet/website/issues/2920

Copying proposal here as well for external folks to see it: image

mairaw commented 2 years ago

I’m also thinking here - what happens when someone joins or leaves the company? We won’t be able to distinguish that. Someone joins, they get tagged as Microsoft if their account is linked. They leave, they immediately become a community contributor 🤷‍♀️

paulomorgado commented 2 years ago

I’m also thinking here - what happens when someone joins or leaves the company? We won’t be able to distinguish that. Someone joins, they get tagged as Microsoft if their account is linked. They leave, they immediately become a community contributor 🤷‍♀️

I was thinking just the same.

Just in case, everyone at Microsoft should get a work GitHub account. 😄

trendoid commented 2 years ago

What about the order of the releases? Is preview more important than GA? If it is reordered based on company association, should it be reordered based on number on contributions, lines of code? Should the page use an entirely different visualization than just a list? We all know that John Hancock was the best because his name was the biggest.

It's probably fine as is.

RussKie commented 2 years ago

I disagree

mairaw commented 2 years ago

@trendoid for that, we have plans to consolidate the versions into simply major.minor so all preview, GA, patches, would fall on the same page. I'll create a new public issue for this so folks know this is in the backlog.