protonscr

[Feature Request] Make the implicit standards/guidelines explicit.

protonclosed Feature Request
ValveSoftware/Proton#1664 · opened 2018-10-01 by HonkingGoose · updated 2021-05-03 · 10 comments · github
HHonkingGoose 2018-10-01 github

Feature Request

I confirm:

  • [x] that I haven't found another request for this feature.

Description

I think that some general guidelines/standards would be helpful to all contributors here. So that the unwritten expectations are made explicit.
Also there are rules which are already enforced, but are not easily found.
Having a central place for these guidelines makes thing clearer for all involved.

To be very, very clear, I'm not talking about changing or adding to the code of conduct otherwise known as "how to be nice to people".

I've made a mock-up down below, so that you can see what kind of guidelines I'm thinking about.

Justification

Many first-time contributors (including me!) have "broken" one or more those guidelines. I see many labels: "opened this issue (their first in @Valve-Software)", or even "Their first issue on GitHub ever" where one or more of these guidelines are broken.
These people are making a good-faith effort to do the right thing, and inadvertently get it wrong.
I feel that being welcoming to contributors also involves making it easy to find the "right thing to do".

Risks

  • The discussion in the comments below might devolve in trolling/flame-wars/drama.
  • People not involved in the Proton GitHub might use this as fuel for their drama.
  • Whatever guidelines/standards are agreed upon should be short and sweet, otherwise people won't read them.

Current situation:

Rules already enforced, but not clearly listed

  1. One issue per unofficially supported game.
  2. Title of issue for a unofficially supported game should contain:
    official name of game from steam store + (appid number)
  3. Separate issues for each bug for officially supported/whitelisted games.
  4. Title of issue for a officially supported game should contain:
    official name of game from steam store + short description of issue + (appid number)
  5. Demo's have their own bug-report, and own app-id.
  6. If things break after a Proton update (regression) we will need confirmation of the known good and bad unmodified Proton versions, so that we can be sure that a fluke or system issue is not causing the regression.

Rule already enforced, but mentioned elsewhere

This rule is listed in the valve code of conduct.

Do not repeatedly update an open issue remarking that the issue persists.

Suggested situation:

I think it might be helpful to have a section labeled "guidelines" in the README.md on the main Proton landing page. This can of course link to a page detailing those guidelines, as not to clutter up the main README.md

Mock-up:

There are basic guidelines that should be followed at all times for posting reports, or adding comments on the Proton issue-tracker. While this is generally a relaxed environment, please remember the following:

  1. One issue per unofficially supported game.
  2. Title of issue for a unofficially supported game should contain:
    official name of game from steam store + (appid number)
  3. Separate issues for each bug for officially supported/whitelisted games.
  4. Title of issue for a officially supported game should contain:
    official name of game from steam store + short description of issue + (appid number)
  5. Demo's have their own bug-report, and own app-id.
  6. If things break after a Proton update (regression) we will need confirmation of the known good and bad unmodified Proton versions, so that we can be sure that a fluke or system issue is not causing the regression.
  7. Do not repeatedly update an open issue remarking that the issue persists.

Possible additional guidelines:

These are open for discussion, as there are not already official or unwritten rules. I just think they might be handy.

  1. Less is more, be concise.
  2. Add a clear summary of your bug in about 10 words.
  3. Reference other relevant bug-reports in your own bug-report.

References

https://github.com/ValveSoftware/steam-for-linux#conduct

I found the Mozilla Bug Writing guidelines very helpful in figuring out how to write clear bug-reports, something like this could be helpful to reference too.
https://developer.mozilla.org/en-US/docs/Mozilla/QA/Bug_writing_guidelines

SSteveHeist 2018-10-01 github

I really don't think the concept of "Do not repeatedly update an open issue remarking that the issue persists." works with something where issues could easily get buried, and especially if something breaks and doesn't have a fix for several versions (see Quake Champions' issue #225) - it used to work, then a game update broke Proton.

HHonkingGoose 2018-10-01 github

On issues that get buried:

Correct me if I'm wrong here, but I though the whole point of having a issue tracker is to keep track of bugs. So by that definition things shouldn't get buried or forgotten. Things might take a long time to fix however.
If things are correctly labeled regression, I don't think the issue will be buried. But somebody with more insight than me is certainly welcome to correct me on this.

This is my understanding of the current unwritten rules:

Situation Action
Newer Proton version breaks something. New comment, mention: Regression.
(Brownie points for also bisecting the bug).
Somebody with the proper rights labels the issue: "Regression"
Newer Proton version fixes something. Add new comment: bug fixed.
You found new and relevant information regarding a already filed bug. Add new comment with your information.
Newer Proton version doesn't fix a already reported bug. Wait.

Relevant quote from Valve on waiting for fixes:

Quote from code of conduct Valve

As well, should your issue not be resolved immediately, it does not mean that a resolution is not being researched or tested. Patience is always appreciated.

Closing statement:

Like I said in my original post for the feature request:

  • I'm not opening the can of worms that is code of conduct.
  • I accept the rules that are already there, and have zero intention of messing with those rules. I just want those rules to be properly documented, so that everybody is clear on the preferred way to do things.
Kkisak-valve maintainer 2018-10-01 github

For what it's worth, if an issue has a regression I need confirmation of the known good and bad unmodified proton versions, preferably by the same user or at least enough that it's not a fluke or a system issue including video drivers before I add the regression label.

SSteveHeist 2018-10-01 github

For what it's worth, last known good version of Proton, according to spcr.netlify.com, was 3.7-5, although there is reported discrepancy that the September game update (that occurred 9/6/2018) is to blame. Probably more worthwhile to continue that conversation over at the original issue, though, so we don't inadvertently spread it about.

HHonkingGoose 2018-10-12 github

@kisak-valve What is the preferred way to handle games that have have big yearly updates, but keep the same appid?

Do you stick to "one issue per unofficially supported game"? Do you make a new report, or edit the existing report?

Like Train Simulator (24010), that game has just updated from 2018 version to 2019 version within the same appid. I chose to edit my existing report for 24010, that seemed cleaner to me. The GitHub edit history for the issue contains the 2018 version anyways...

But I haven't heard a informal or official rule on this yet. :smile:

Kkisak-valve maintainer 2018-10-12 github

For the example, that looks like any other game update on steam. That particular dev has decided to adjust the marketing name to go along with the update and it's the same game as far as the Steam platform is concerned. No need to add more fine print.

HHonkingGoose 2018-10-13 github

@kisak-valve Okay, thanks for the clarification. I won't add more fine print to this issue about game-updates then. :+1:

HHonkingGoose 2019-02-26 github

@kisak-valve I've not seen any changes with regard to this feature request.

Is there anything I can do to help?

I could do either, or neither of the following:

  1. Open a pull-request with the current enforced rules for the README.md on the 3-16 branch.
  2. Make a new page on the Wiki titled "Guidelines for contributing issue reports.", and add in the currently enforced rules.
HHonkingGoose 2020-10-24 github

Hi @kisak-valve :wave:

I wanted to check if this is still something that the Proton project cares about? There has been no change or movement on this issue since Oct 13, 2018. Maybe that indicates that I'm the only one that cares about this issue.

Will you accept a pull request from me that adds the creating a issue + adding to an issue guidelines to the README or Wiki?

If you don't want a contribution from me on this, and it's also not something that the Proton team is going to address, then I'd rather you just close the issue and mark it wont-fix. That way we're not cluttering up the issue list with issues that are not going to be fixed anyways.

Greetings,

HonkingGoose

HHonkingGoose 2021-05-03 github

Closing this issue, as there has been no movement on this whatsoever in more than 2.5 years. Feel free to re-open if this is something the Proton team does care about. 😉

Nothing extracted yet.